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)
相关推荐
别动我齐刘海2 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
玖石书3 小时前
Ubuntu 24.04 UFW 全命令攻略:从入门到端口开放实战
linux·运维·ubuntu
xiaoqiMikko4 小时前
Linux 实战(七):useradd、sudoers、umask、SGID、软链 —— 三台真机实测
linux·centos
拂拉氏6 小时前
【知识讲解】 Linux之动静态库的了解
linux·运维·服务器·动静态库
Fcy6486 小时前
Linux下 五种IO模型的认识与⾮阻塞IO的实现
linux·服务器·io
Mikko76 小时前
Linux 重启后日志没了?进程被 OOM 杀了去哪看?logrotate 之后日志还往旧文件写?三台真机实测日志与性能排查
linux·运维·centos
书生执笔画浮沉6 小时前
分享一个开源小工具CAdapt
linux·c·gnu·glibc·kernel·升级·灵感
mounter6257 小时前
Linux 内核热升级(Live Update)技术详解:PCI、VFIO 与 IOMMU 子系统的演进与实战解析引言
linux·linux kernel·kernel·iommu·vfio
砚凝霜7 小时前
【软考信息安全】第十九章 Unix/Linux安全分析与防护
linux·安全·unix