前言
 
好记性不如烂笔头,这里将k8s的一些常用命令整理如下,以备不时之需。希望能对你有所帮助。在完成了系列的k8s文章之后,不服气的自己要在上面安装一些服务玩一玩。但是我勒个去,这叫我如何下手,看着一个牛逼XX的k8s服务集群,尽无法下手,一脸懵逼的无奈。好的,战斗吧。
 
常用命令
 
 
 
   k8s常用命令 
  
  
  
   功能说明 命令
  
 
  
  
  
   node
  
 
  
   查看服务器节点 kubectl get nodes
  
 
  
   查看服务器节点详情 kubectl get nodes -o wide
  
 
  
   节点打标签 kubectl label nodes <节点名称> labelName=<标签名称>
  
 
  
   查看节点标签 kubectl get node --show-labels
  
 
  
   删除节点标签 kubectl label node <节点名称> labelName-
  
 
  
   pod
  
 
  
   查看pod节点 kubectl get pod
  
 
  
   查看所有pod节点 kubectl get pods -A
  
 
  
   查看pod节点详情 kubectl get pod -o wide
  
 
  
   查看所有名称空间下的pod kubectl get pod --all-namespaces
  
 
  
   根据yaml文件创建pod kubectl apply -f <文件名称>
  
 
  
   根据yaml文件删除pod kubectl delete -f <文件名称>
  
 
  
   删除pod节点 kubectl delete pod <pod名称> -n <名称空间>
  
 
  
   查看异常的pod节点 kubectl get pods -n <名称空间> | grep -v Running
  
 
  
   查看异常pod节点的日志 kubectl describe pod <pod名称> -n <名称空间>
  
 
  
   进入默认命名空间的pod节点 kubectl exec -it <pod名称> -- /bin/bash
  
 
  
   进入某个特定命名空间下的pod节点 kubectl exec -it <pod名称> -n <命名空间> -- /bin/bash
  
 
  
   普通方式创建pod kubectl run <pod名称> --image=<镜像名称>
  
 
  
   监控pod(一秒钟更新一次命令) watch -n 1 kubectl get pod
  
 
  
   deployment
  
 
  
   deployment部署pod(具有自愈能力,宕机自动拉起) kubectl create deployment <pod名称> --image=<镜像名称>
  
 
  
   deployment部署pod(多副本) kubectl create deployment <pod名称> --image=<镜像名称> --replicas=3
  
 
  
   查看deployment部署 kubectl get deploy
  
 
  
   删除deployment部署 kubectl delete deploy <pod名称>
  
 
  
   deployment扩容缩容pod kubectl scale deploy/<pod名称> --replicas=<5>
  
 
  
   deployment扩容缩容pod kubectl edit deploy <pod名称>
  
 
  
   deployment滚动更新pod kubectl set image deploy/<pod名称> <容器名称>=<镜像名称:版本号> --record
  
 
  
   deployment查看pod回退版本 kubectl rollout history deploy/<pod名称>
  
 
  
   deployment查看pod回退版本详情 kubectl rollout history deploy/<pod名称> --revision=1
  
 
  
   deployment回退pod到上一个版本 kubectl rollout undo deploy/<pod名称>
  
 
  
   deployment回退pod到指定版本 kubectl rollout undo deploy/<pod名称> --to-revision=1
  
 
  
   deployment暴露pod集群内部访问(ClusterIP) kubectl expose deploy <pod名称> --port=8080 --target-port=80 --type=ClusterIP
  
 
  
   deployment暴露pod外网访问(NodePort) kubectl expose deploy <pod名称> --port=8080 --target-port=80 --type=NodePort
  
 
  
   svc
  
 
  
   查看服务 kubectl get svc
  
 
  
   查看服务详情 kubectl get svc -o wide
  
 
  
   查看所有名称空间下的服务 kubectl get svc --all-namespaces
  
 
  
   namespace
  
 
  
   查看名称空间 kubectl get namespace
  
 
  
   查看名称空间 kubectl get ns
  
 
  
   创建名称空间 kubectl create ns <名称>
  
 
  
   删除名称空间 kubectl delete ns <名称>
  
 
  
 
 结语