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)
相关推荐
天天喝旺仔38 分钟前
Linux 性能排查实战:用 perf、strace 与火焰图定位 CPU、内存与 IO 瓶颈
linux·性能优化·运维开发
LuminousCPP44 分钟前
Linux系统编程(二):从目录树到命令执行|路径、环境变量、alias 与文件操作入门
linux·经验分享·笔记
第十人i1 小时前
Linux 系统初始化配置清单:新服务器快速部署
linux·服务器
LongRunning1 小时前
【Linux】RK3568-OpenCV+YOLO(七)
linux
j7~1 小时前
【Linux】三十八.C++ 手写 HTTP 服务器:裸 socket + fork 多进程,从 HTTP 报文解析到浏览器打开网页
linux·网络·网络协议·学习·http·网络编程
小马同学-1 小时前
crictl实战:K8s容器运行时排障工具
容器·k8s·crictl
傲世仙尊2 小时前
设计者的取舍-路径fork的诞生与全局文件队列
linux
逐流人2 小时前
Containerd容器管理实战:从架构原理到nerdctlcrictl工具链
linux·运维·云原生·容器·云计算·containerd
Tairitsu_H2 小时前
[Linux] 编辑器vim、编译器和动静态链接
linux·vim·gcc·g++·动态链接·静态链接
lzx_0022 小时前
Linux指令(一) 简单了解部分指令
linux