【K8S】Kubernetes常用命令

本文详述了Kubernetes的常用命令,包括资源管理、基本信息查看、项目的生命周期及声明式管理方法。涉及查看版本信息、创建命名空间、管理Pod、Service、回滚更新、金丝雀发布以及YAML文件的编写和应用。通过对Kubernetes命令的实践,有助于理解和掌握集群的日常运维。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值