Linux:常用命令整理

1. 删除被驱逐的 Pod

1
2
# 删除指定命名空间中所有状态为 Evicted 的 Pod
kubectl get pods -n pre | grep Evicted | awk '{print $1}' | xargs kubectl -n pre delete pod

2. 更新镜像版本

1
2
3
4
5
6
7
8
9
10
11
# 更新 Deployment 的容器镜像
kubectl -n pre set image deployment/cloud-switch-controller-link-monitor \
jar=hub.51iwifi.com/cloud-switch/cloud-switch-controller-link-monitor:1.0.0.69059.168

# 更新 nb-aqhh-api 的镜像版本
kubectl set image deployment/nb-aqhh-api \
jar=hub.51iwifi.com/zncj/nb-aqhh-api:8dcb94-20240321

# 更新 orchestrator-server 的镜像版本
kubectl set image deployment/orchestrator-server \
jar=alpha-harbor.51iwifi.com/docker-open/orchestrator-server:1.0.0.73495.237

3. 扩缩容 Deployment

1
2
3
4
5
6
7
8
# 扩容 nb-aqhh-api 到 2 个副本
kubectl scale deployment/nb-aqhh-api --replicas=2

# 扩容 nb-aqhh-alarm-job 到 2 个副本
kubectl scale deployment/nb-aqhh-alarm-job --replicas=2

# 扩容 nb-aqhh-location-job 到 2 个副本
kubectl scale deployment/nb-aqhh-location-job --replicas=2

4. 其他常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 查看 Pod 状态
kubectl get pods -n <namespace>

# 查看 Deployment 状态
kubectl get deployments -n <namespace>

# 查看服务日志
kubectl logs -f <pod-name> -n <namespace>

# 进入 Pod 容器
kubectl exec -it <pod-name> -n <namespace> -- /bin/bash

# 查看服务描述信息
kubectl describe pod <pod-name> -n <namespace>

使用技巧

  1. 使用 -n 参数指定命名空间,不加则默认为 default
  2. 使用 -o wide 可以查看更详细的信息,如:kubectl get pods -o wide
  3. 使用 --record 可以记录命令历史,如:kubectl set image deployment/xxx --record
  4. 使用 --dry-run=client -o yaml 可以生成资源配置而不实际创建