kubectl 常用命令(kubectl常用命令汇总)
kubectl 指令
状态查询
# 查看集群信息
kubectl cluster-info
systemctl status kube-apiserver
systemctl status kubelet
systemctl status kube-proxy
systemctl status kube-scheduler
systemctl status kube-controller-manager
systemctl status docker
node相关
# 查看namespaces
kubectl get namespaces
# 为节点增加lable
kubectl label nodes 10.126.72.31 points=test
# 查看节点和lable
kubectl get nodes --show-labels
# 查看状态
kubectl get componentstatuses
# Node的隔离与恢复
## 隔离
kubectl cordon k8s-node1
## 恢复
kubectl uncordon k8s-node1
查询
# 查看nodes节点
kubectl get nodes
# 通过yaml文件查询
kubectl get -f xxx-yaml/
# 查询资源
kubectl get resourcequota
# endpoints端
kubectl get endpoints
# 查看pods
# 查看指定空间`kube-system`的pods
kubectl get po -n kube-system
# 查看所有空间的
kubectl get pods -o wide --all-namespaces
# 其他的写法
kubectl get pod -o wide --namespace=kube-system
# 获取svc
kubectl get svc --all-namespaces
# 其他写法
kubectl get services --all-namespaces
# 通过lable查询
kubectl get pods -l app=nginx -o yaml|grep podIP
# 当我们发现一个pod迟迟无法创建时,描述一个pods
kubectl describe pod xxx
# 查询事件
kubectl get events --all-namespaces
删除所有pod
# 删除所有pods
kubectl delete pods --all
# 删除所有包含某个lable的pod和serivce
kubectl delete pods,services -l name=
# 删除ui server,然后重建
kubectl delete deployments kubernetes-dashboard --namespace=kube-system
kubectl delete services kubernetes-dashboard --namespace=kube-system
# 强制删除部署
kubectl delete deployment kafka-1
# 删除rc
kubectl delete rs --all && kubectl delete rc --all
## 强制删除Terminating状态的pod
kubectl delete deployment kafka-1 --grace-period=0 --force
滚动
# 升级
kubectl apply -f xxx.yaml --record
# 回滚
kubectl rollout undo deployment javademo
# 查看滚动升级记录
kubectl rollout history deployment {名称}
查看日志
# 查看指定镜像的日志
kubectl logs -f kube-dns-699984412-vz1q6 -n kube-system
kubectl logs --tail=10 nginx
#指定其中一个查看日志
kubectl logs kube-dns-699984412-n5zkz -c kubedns --namespace=kube-system
kubectl logs kube-dns-699984412-vz1q6 -c dnsmasq --namespace=kube-system
kubectl logs kube-dns-699984412-mqb14 -c sidecar --namespace=kube-system
检查类指令
# 获取节点和服务版别信息
kubectl get nodes
# 获取节点和服务版别信息,并检查附加信息
kubectl get nodes -o wide
# 获取pod信息,默许是default称号空间
kubectl get pod
# 获取pod信息,默许是default称号空间,并检查附加信息【如:pod的ip及在哪个节点运行】
kubectl get pod -o wide
# 获取指定称号空间的pod
kubectl get pod -n kube-system
# 获取指定称号空间中的指定pod
kubectl get pod -n kube-system podName
# 获取一切称号空间的pod
kubectl get pod -A
# 检查pod的详细信息,以yaml格局或json格局显示
kubectl get pods -o yaml
kubectl get pods -o json
# 检查pod的标签信息
kubectl get pod -A --show-labels
# 根据Selector(label query)来查询pod
kubectl get pod -A --selector="k8s-app=kube-dns"
# 检查运行pod的环境变量
kubectl exec podName env # 检查指定pod的日志
kubectl logs -f --tail 500 -n kube-system kube-apiserver-k8s-master
# 检查一切称号空间的service信息
kubectl get svc -A
# 检查指定称号空间的service信息
kubectl get svc -n kube-system
# 检查componentstatuses信息
kubectl get cs
# 检查一切configmaps信息
kubectl get cm -A
# 检查一切serviceaccounts信息
kubectl get sa -A
# 检查一切daemonsets信息
kubectl get ds -A
# 检查一切deployments信息
kubectl get deploy -A
# 检查一切replicasets信息
kubectl get rs -A
# 检查一切statefulsets信息
kubectl get sts -A
# 检查一切jobs信息
kubectl get jobs -A
# 检查一切ingresses信息
kubectl get ing -A
# 检查有哪些称号空间
kubectl get ns
# 检查pod的描绘信息
kubectl describe pod podName
kubectl describe pod -n kube-system kube-apiserver-k8s-master
# 检查指定称号空间中指定deploy的描绘信息
kubectl describe deploy -n kube-system coredns
# 检查node或pod的资源运用情况
# 需要heapster 或metrics-server支撑
kubectl top node
kubectl top pod
# 检查集群信息
kubectl cluster-info 或 kubectl cluster-info dump
# 检查各组件信息【172.16.1.110为master机器】
kubectl -s https:/ /172.16.1.110:6443 get componentstatuses
操作类指令
# 创立资源
kubectl create -f xxx.yaml
# 应用资源
kubectl apply -f xxx.yaml
# 应用资源,该目录下的一切 .yaml, .yml, 或 .json 文件都会被运用
kubectl apply -f# 创立test称号空间
kubectl create namespace test
# 删去资源
kubectl delete -f xxx.yaml
kubectl delete -f# 删去指定的pod
kubectl delete pod podName
# 删去指定称号空间的指定pod
kubectl delete pod -n test podName
# 删去其他资源
kubectl delete svc svcName
kubectl delete deploy deployName
kubectl delete ns nsName
# 强制删去
kubectl delete pod podName -n nsName --grace-period=0 --force
kubectl delete pod podName -n nsName --grace-period=1
kubectl delete pod podName -n nsName --now
# 编辑资源
kubectl edit pod podName
进阶指令操作
# kubectl exec:进入pod启动的容器
kubectl exec -it podName -n nsName /bin/sh #进入容器
kubectl exec -it podName -n nsName /bin/Bash #进入容器
# kubectl label:添加label值
kubectl label nodes k8s-node01 zone=north #为指定节点添加标签
kubectl label nodes k8s-node01 zone- #为指定节点删去标签
kubectl label pod podName -n nsName role-name=test #为指定pod添加标签
kubectl label pod podName -n nsName role-name=dev --overwrite #修改lable标签值
kubectl label pod podName -n nsName 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 或许 kubectl rollout undo deploy myapp-deployment #pod回滚到前一个版别
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
阅读剩余
本站代码模板仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END