K8S集群管理常用命令

创建资源

  • 通过资源文件创建资源
bash 复制代码
kubectl create -f <资源文件>
  • 通过资源文件(目录)创建或更新资源,文件后缀为".yaml 、.yml、.json"
bash 复制代码
kubectl apply -f <资源文件>
kubectl apply -f <文件目录>
  • 创建一个pod
bash 复制代码
kubectl run <pod名称> --image=<镜像名称或镜像地址:tag>
  • 创建一个deployment
bash 复制代码
kubectl create deployment <名称> --image=<镜像名称或镜像地址:tag> --replicas=<pod副本数>
  • 为deployment创建service
bash 复制代码
kubectl expose deployment <deployment名称> --port=<服务端口> --target-port=<容器端口> --type=<服务类型> --name=<service 名称>
  • 为指定pod创建service
bash 复制代码
kubectl expose pod <pod名称> --port=<服务端口> --target-port=<容器端口> --type=<服务类型> --name=<service 名称>
  • 创建一个Service
bash 复制代码
kubectl create service <服务类型> <名称> --tcp=<服务端口>:<容器端口>

查看资源

  • 查看当前命名空间中所有资源对象
bash 复制代码
kubectl get all
  • 查看所有命名空间中的pod对象
bash 复制代码
kubectl get pods -A
  • 查看默认命名空间中的pod对象
bash 复制代码
kubectl get pods (-n default)
  • 查看指定命名空间中的pod对象
bash 复制代码
kubectl get pods -n kube-system
  • 查看多个资源类型的对象列表
bash 复制代码
kubectl get pods,deployment,services
  • 查看指定pod对象的详细信息
bash 复制代码
kubectl describe pod <pod名称>
  • 查看指定deployment对象的详细信息
bash 复制代码
kubectl describe deployment <deployment名称>
  • 查看指定service对象的详细信息
bash 复制代码
kubectl describe service <service名称>
  • 查看资源对象标签
bash 复制代码
kubectl get <资源类型> --show-labels
  • 根据标签过滤资源对象
bash 复制代码
kubectl get <资源类型> -l <标签键>=<标签值> 

更新修改资源

  • 更新deployment镜像地址
bash 复制代码
kubectl set image deployment <名称> <容器名称>=<镜像地址> 
  • 增加或减少deployment的副本数
bash 复制代码
kubectl scale deployment <名称> --replicas=<pod副本数>
  • 添加或修改Service标签选择器,多个以逗号分割
bash 复制代码
kubectl set selector service <名称> <标签键>=<标签值> 
  • 添加或修改资源的标签
bash 复制代码
kubectl label <资源类型> <资源名称> <标签键>=<标签值> 

删除资源

  • 通过资源文件删除资源
bash 复制代码
kubectl delete -f <资源文件>
  • 删除deployment对象,多个名称以逗号分割
bash 复制代码
kubectl delete deployment <名称>
  • 删除service对象,多个名称以逗号分割
bash 复制代码
kubectl delete service <名称>
  • 删除deployment,service对象
bash 复制代码
kubectl delete deployment/<名称> service/<名称>
  • 删除pod对象
bash 复制代码
kubectl delete pod <名称>
  • 删除默认(default)命名空间下所有pod对象
bash 复制代码
kubectl delete pod --all (-n default)
  • 删除默认(default)命名空间下所有deployment对象
bash 复制代码
kubectl delete deployment --all (-n default)
相关推荐
蝎子莱莱爱打怪1 天前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
蝎子莱莱爱打怪4 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes