kubernetes 运维必会的常用命令合集
查看
kubectl cluster-info # 查看集群信息
kubectl get no -o wide # 获取节点和服务版本信息,并查看附加信息
kubectl get ns # 查看有哪些名称空间
kubectl get netnamespace #
kubectl get svc # 查看所有名称空间的service信息
kubectl get cs # 查看component statuses信息
kubectl get po -n xxxx -o yaml # 以yaml 的格式查看pod/也可以用json
kubectl get pod -A --show-labels # 查看pod的标签信息
kubectl get cm -a # 查看所有configmaps信息
kubectl get sa -a # 查看所有serviceaccounts信息
kubectl get rs -a # 查看所有replicasets信息
kubectl get deploy -a # 查看所有deployments信息
kubectl get sts -a # 查看所有statefulsets信息
kubectl get ing -a # 查看所有ingresses信息
kubectl top node !#查看node的资源使用情况(需要heapster 或metrics-server支持)
kubectl top pod !#查看pod的资源使用情况(需要heapster 或metrics-server支持
kubectl -s get componentstatuses # 查看各组件信息(xx.xx.xx.xx为master机器)
kubectl describe pod # 查看pod的描述信息,也可以指定其他资源类型
kubectl get resourcequota -n=xxxx # 查看namespace 配额
kubectl logs -f xxx # 查看pod 日志
kubectl get pod xxx -w # 动态查看pod 启动流程
kubectl config view # 查看集群配置
kubectl get quota -n xxx # 查看name
kubectl explain pod.spec.affinity.pod # 编辑yaml查看资源亲和
kubectl get pod $POD_NAME --template={{.status.podIP}} # 获取pod ip
操作
create:有则不建,无则创建
apply :有则更新,无则创建
kubectl create -f xxx.yaml # 创建资源
kubectl apply -f xxx.yaml # 应用资源
kubectl apply -f # 应用资源,该目录下的所有 .yaml, .yml, 或 .json 文件都会被使用
kubectl create namespace xxx # 创建xxx名称空间
kubectl edit resourcequota -n xxx # 修改namespace配额
# 针对不同类型pod,要对应删除,否则是删不掉的,常用类型有:
deployment
statefulset
cronjob
pod
service
route
ingress
configmap
secret
pv/pvc
kubectl delete -f xxx.yaml # 删除资源
kubectl delete -f
kubectl delete resource-name xxx -n xxx # 删除指定的资源
kubectl delete svc --grace-period=0 --force # 强制删除其他资源
操作-更新
kubectl exec -it xxx -n xxx /bin/sh #进入容器
kubectl exec -it xxx -n xxx /bin/bash #进入容器
kubectl label nodes k8s-node01 zone=north #为指定节点添加标签
kubectl label nodes k8s-node01 zone- #为指定节点删除标签
kubectl label pod xxx -n xxx role-name=test #为指定pod添加标签
kubectl label pod xxx -n xxx role-name=dev --overwrite #修改lable标签值
kubectl label pod xxx -n xxx role-name- #删除lable标签
# kubectl滚动升级;通过 kubectl apply -f myapp-deployment-v1.yaml 启动deploy
kubectl apply -f myapp-deployment-v2.yaml #通过配置文件滚动升级
kubectl set image deploy/myapp-deployment myapp="registry.cn-beijing.aliyuncs.com/google_registry/myapp:v3" #通过命令滚动升级
kubectl rollout undo deploy myapp-deployment #pod回滚到前一个版本undo -> history 查看历史 --> status 查看状态
kubectl rollout undo deploy/myapp-deployment --to-revision=2 #回滚到指定历史版本
# kubectl scale:动态伸缩
kubectl scale deploy myapp-deployment --replicas=5 # 动态伸缩
kubectl scale --replicas=8 -f myapp-deployment-v2.yaml #动态伸缩【根据资源类型和
docker system prune -a # 清除所有未被使用的资源包括镜像,卷,磁盘,id等
docker image prune -a / docker volume prune / docker network prune
阅读剩余
本站代码模板仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END