K8S系列(四)——常用命令汇总

【前言】

  K8S虽然可以通过dashboard等图形化界面去管理,但是一些常用命令我们还是要记下。为了方便查看,命令按照资源类型的各种操作命令来分类,部分命令可能会存在重复情况。本文不定期更新

【K8S命令自动补全】

#默认情况下,K8S命令不会自动补全,需要手动配置。配置后kubectl后tab自动列出可用参数。待验证

yum -y install bash-completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

【集群管理】

#查看集群状态信息 
kubectl cluster-info 

查看所有node节点,后面还可以跟--all-namespaces指定所有命名空间(也可以直接-A指定所有命名空间)或者-n指定命名空间
kubectl get node

#清空node以待维护
kubectl drain my-node

#标记某node不可调度/恢复调度
kubectl cordon/uncordon my-node

#查看集群事件
kubectl get events

【日志查看】

#方法1,kubectl logs,注意还需要加上-n命名空间,否则会报错
kubectl logs pods/podsname kube-flannel   
#方法2,kubectl describe,也要加上命名空间,还可以细致到指定时间,如kubectl logs --since=1h nginx查看近一个小时内日志
kubectl describe pods/kube-flannel-ds-6w5z5 --namespace kube-flannel
#方法3,查看系统级日志信息
tail -f /var/log/messages
#方法4,主要是用来查看服务启动情况日志
journalctl -u kubelet |tail     

【标签管理】

#查看标签
kubectl get nodes --show-labels

#打标签
kubectl label nodes apm-docker001 zookeeper-node=apm-docker001

#删除标签名为label-name的所有 pod 和服务
kubectl delete pods,services -l name=<label-name> 

【资源限制】

#指定资源使用的CPU和内存大小
kubectl set resources deployment nginx -c=nginx --limits=cpu=200m,memory=512Mi

【镜像更新】

#将deployment中的nginx容器镜像设置为“nginx:1.9.1”
kubectl set image deployment/nginx busybox=busybox nginx=nginx:1.9.1

【弹性伸缩】

#指定增加副本数量
kubectl scale --replicas=3 rs/foo

【命令空间/名称空间】

#创建test名称空间
kubectl create namespace test

#查看集群命名空间 
kubectl get ns 

#删除指定命名空间的deployment
kubectl delete deployment nginx -n namespace

【容器交互】

#进入交互模式
kubectl exec -ti <pod-name> /bin/bash

#不进入容器运行命令
kubectl exec <pod-name> date

【资源缩写查看】

K8S中有很多缩写,例如rc,svc,ns等,如果我们忘记了某个缩写的含义,或者希望用缩写代替某些长长的名称,那么这个命令会对你有帮助

#查看资源缩写
kubectl  api-resources

【资源导出】

#把podA的配置导出为yaml格式
kubectl  get pods podA -n NAMEAPSCE-A -o yaml --export> padA.yaml

【服务管理】

#查看所有service服务
kubectl get service

【Deployment管理】

#查看所有deploymen
kubectl get deployment

【Pod管理】

#查看资源
kubectl get pod --all-namespaces

【YML文件】

#通过yml文件创建pod,apply可以重复执行,create不行
kubectl apply -f ymlfilename
kubectl create -f ymlfilename

#通过yml文件删除pod
kubectl delete -f yml文件

 

posted on 2022-09-25 18:16  标配的小号  阅读(545)  评论(0编辑  收藏  举报

导航