最近整理了K8S最常用的命令,(一直更新中。。)
查看集群信息
kubectl cluster-info
service相关操作
kubectl get service
kubectl get service -n kube-system
node相关操作
kubectl get nodes #查看K8S 的node信息
kubectl get node kub-k8s-node1 #查看某一个node的信息
kubectl delete node kub-k8s-node1 #删除node
kubectl describe node kub-k8s-node1 #查看node的详细信息
ns相关操作
kubectl get ns #查看k8s的ns信息
kubectl apply -f ns-dev.yml #建立ns
kubectl describe ns dev #查看ns的信息
kubectl delete -f ns-dev.yml #删除ns
pod相关操作
kubectl get pods -n dev #查看dev下的pod信息
kubectl get pods -n dev -o wide #查看dev下的pod扩展信息
kubectl get pods --all-namespaces #查看所有ns下的pod
kubectl label node k8s-worker01 node-role.kubernetes.io/worker=worker
kubectl delete pod [pod] -n [namespaces] #删除node
kubectl describe pod nginx-pod -n dev #查看node详细信息
kubectl get pods -l app=first-deploy01 -n dev --watch #查看pod后台更新的过程
rs相关操作
kubectl get rs -n dev #查看所有ReplicaSet的数量
kubectl get rs -l app=first-deploy01 -n dev #查看标签是first-deploy01的rs
kubectl get rs nginx-deploy-7d764f8d58 -o yaml -n dev #以yaml的格式,导出某个rs的信息
kubectl describe rs nginx-deploy-85ff79dd56 -n dev #查看控制器ReplicaSet 对象
rollout 发布回退相关操作
kubectl scale deployment nginx-deploy --replicas=4 #pod水平伸缩,命令行更改replicas的数量
kubectl rollout status deployment/nginx-deploy -n dev #查看deployment升级时候的状态(滚动更新)
kubectl rollout resume deployment/nginx-deploy -n dev #恢复滚动更新
kubectl rollout history deployment nginx-deploy -n dev #查看历史的更新版本
kubectl rollout undo deployment nginx-deploy --to-revision=2 -n dev #恢复到历史的某一个版本
deployment相关操作
kubectl get deployment -n dev #查看dev下的部署信息
kubectl get deployment -l app=first-deploy-nginx -n dev #查看dev下的某个label部署
yaml配置文件相关的操作
kubectl create -f nginx-deployment.yaml #首次就是用create
kubectl apply -f nginx-deployment.yaml #后续文件有改动,用apply,自动识别更改的地方
如何进入容器内部
kubectl exec -it nginx-tomcat-pod -n dev -c nginx /bin/bash #从K8S进入容器内部 (nginx-tomcat-pod 是 pod 的名字,-n dev 命名空间下,-c nginx 进入到 nginx 这个容器里面,要跟 yaml 里写的 name 一样)
docker ps |grep nginx #从宿主机进入容器内部
docker exec -it 3338ba068f4d /bin/bash