常用kubectl管理kubernetes命令记录(不定时更新)
查询
# 查node信息
kubectl get nodes
# 查所有namespace的pod信息
kubectl get pods --all-namespaces -o wide
# 查看某个pod的配置,以yaml格式展示
kubectl get pod podname -n namespace -o yaml
# 导出某个pod的yaml配置到文件
kubectl get pod podname -n namespace -o yaml > podname.yaml
# 查service
kubectl get svc
# 查某个namespace下的service
kubectl get svc -n namespace
# 查namespace
kubectl get ns
部署
# 部署某个yaml配置
kubectl apply xxx.yml
# 更新某个pod,或者说
kubectl get pod podname -n namespace -o yaml > podname.yaml
# 强制更新替换某个pod,以某个配置
kubectl replace --force -f podname.yaml
删除
#删除 pod
#常规删除
kubectl delete pod podname -n namespace
#强制删除
kubectl delete pod podname -n namespace --force --grace-period=0
进入pod控制台
kubectl exec -it -n namespace podid bash
部署管理
kubectl scale --help
kubectl scale --replicas= 0 deployment.v1.apps/56-microservice -n microservice
kubectl scale --replicas= 0 deployment.v1.apps/project-test -n microservice
kubectl scale --replicas= 1 deployment.v1.apps/b282-microservice -n microservice
kubectl scale --replicas= 0 deployment.v1.apps/48718-microservice -n microservice
kubectl rollout --help
kubectl rollout pause deployment.v1.apps/20588-microservice -n microservice
运维管理
kubectl get pods --all-namespaces | grep -v Running
kubectl -n monitor get pods | grep Evicted | awk '{print$1 }' | xargs kubectl -n monitor delete pods
kubectl -n monitor get pods | grep -v Running| awk '{print$1 }' | xargs kubectl -n monitor delete pods