【K8S】Kubernetes常用命令

avatar
作者
筋斗云
阅读量:1

文章目录

Kubernetes常用命令

资源管理办法

陈述式资源管理方法

查看版本信息

kubectl version 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eDlhQu3O-1667632680024)(F:\typorase\jpg\1103.png)]

查看资源对象简写

kubectl api-resources 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xrTkwBWj-1667632680025)(F:\typorase\jpg\1104.png)]

查看集群信息

kubectl cluster-info 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-89AhiEVm-1667632680025)(F:\typorase\jpg\1105.png)]

配置kubectl自动补全

source <(kubectl completion bash) 

注意:此时命令补全功能切换环境后是不生效的,如果要使切换环境后也生效需要配置全局环境变量

vim /etc/bashrc ..... source <(kubectl completion bash)         #在底部添加  source /etc/bashrc 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mZs92id0-1667632680025)(F:\typorase\jpg\1106.png)]

node节点查看日志

journalctl -u kubelet -f   或者直接查看日志   cat /var/log/messages 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eel8dr8Z-1667632680026)(F:\typorase\jpg\1107.png)]

K8S核心组件日志怎么看

kubeadm部署的 kubectl logs -f pod 组件名 -n kube-system 或者journalctl -u kubelet -f  二进制部署的   journalctl -u kubelet -f   #对应节点 

基本信息查看

kubectl get <resource> [-o wide | json | yaml] [-n namespace] 
  • 获取资源的相关信息, -n指定命令空间, -o指定输出格式
  • resource可以是具体资源名称,如pod nginx -xxx;也可以是资源类型,如pod; 或者all (仅展示几种核心资源,并不完整)
  • –all-namespaces 或-A :表示显示所有命令空间
  • –show-labels :显示所有标签
  • -l app:仅显示标签为app的资源
  • -l app=nginx :仅显示包含app标签, 且值为nginx的资源

查看master 节点状态

kubectl get componentstatuses kubectl get cs 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j1aIrno1-1667632680026)(F:\typorase\jpg\1108.png)]

查看命令空间

命令空间的作用:用于允许不同 命令空间的相同类型的资源重名

kubectl get namespace kubectl get ns 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dwvWG2Ut-1667632680026)(F:\typorase\jpg\1109.png)]

查看default命令空间的所有资源

kubectl get all [-n default] 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GrYyx9y7-1667632680026)(F:\typorase\jpg\1110.png)]

create 创建命名空间

kubectl create ns yan kubectl get ns 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nEJsAMbz-1667632680026)(F:\typorase\jpg\1111.png)]

delete 删除命名空间

kubectl delete ns yan kubectl get ns 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tYFdMGWx-1667632680027)(F:\typorase\jpg\1112.png)]

在命名空间创建无状态控制器启动Pod

例:在命名空间kube-public 创建副本控制器( deployment) 来启动Pod (nginx-yun)

kubectl create deployment nginx-yun --image=nginx -n kube-public 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j4TagPun-1667632680027)(F:\typorase\jpg\1113.png)]

描述某个资源的详细信息

kubectl get pods -n kube-public  kubectl describe deployment nginx-yun -n kube-public          kubectl describe pod nginx-yun-546d5454d7-vvlm8 -n kube-public 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uRhxlx8I-1667632680027)(F:\typorase\jpg\1114.png)]

查看命名空间kube-public中的pod信息

kubectl get pods -n kube-public 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iYcE6dwG-1667632680027)(F:\typorase\jpg\1115.png)]

kubectl exec 登录容器

kubectl exec可以跨主机登录容器,docker exec 只能在容器所在主机上登录

kubectl exec -it nginx-yun-546d5454d7-vvlm8 bash -n kube-public 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IlgCLLaP-1667632680027)(F:\typorase\jpg\1116.png)]

重启(删除)pod资源

由于存在deployment/rc之类的副本控制器,删除pod也会重新拉起来

kubectl delete pod nginx-yun-546d5454d7-vvlm8 -n kube-public 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BuNJNbNF-1667632680028)(F:\typorase\jpg\1117.png)]

若pod无法删除,总是处于terminate状态, 则要强行删除pod

kubectl delete pod <pod-name> -n <namespace> --force --grace-period=0   #grace-period表示过渡存活期,默认30s,在删除pod之前允许POD慢慢终止其上的容器进程, 从而优雅退出,0表示立即终止pod 

扩容缩容

语法 : 命令字 操作指令 主控制器 pod—name 副本集数量 -n 名称空间 
kubectl scale deployment nginx-yun --replicas=3 -n kube-public  #调整副本集 kubectl scale deployment nginx-yun --replicas=1 -n kube-public  #缩容 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!