一、kubectl命令格式

kubectl [command] [type]     [NAME]  [flags]
kubectl get       deployment nginx   --show-labels

常见的command:

  • 增:create/apply
  • 删:delete
  • 改:replace/edit/apply
  • 查:get

二、kubectl基本操作

更多命令请参考:https://kubernetes.io/zh-cn/docs/reference/kubectl/quick-reference/

2.1 增

1、创建Deployment

kubectl create deployment nginx \
  --image=registry.cn-beijing.aliyuncs.com/dotbalo/counter:vl

说明:

  • 创建一个名为 nginx 的Deployment。
  • 使用镜像 registry.cn-beijing.aliyuncs.com/dotbalo/counter:vl

2、生成Deployment的YAML文件(Dry Run)

kubectl create deployment nginx \
  --image=registry.cn-beijing.aliyuncs.com/dotbalo/counter:vl \
  --dry-run=client -o yaml > nginx-deployment.yaml

说明:

  • --dry-run=client:仅生成资源定义,不实际创建。
  • -o yaml:输出为YAML格式。
  • 将生成的YAML保存到 nginx-deployment.yaml 文件中

3、创建Job

kubectl create job hello \
  --image=registry.cn-beijing.aliyuncs.com/dotbalo/counter:v1 \
  -- echo dotba

说明:

  • 创建一个名为 hello 的Job。
  • 使用镜像 registry.cn-beijing.aliyuncs.com/dotbalo/counter:v1
  • 执行命令 echo dotba

4、通过YAML文件创建资源

kubectl create -f xxx.yaml

2.2 删

1、删除指定Deployment

kubectl delete deploy nginx

2、通过YAML文件删除资源

kubectl delete -f xxx.yaml

2.3 改

1、编辑Deployment

kubectl edit deploy nginx

2、替换资源

kubectl replace -f xxx.yaml

3、创建或更新资源

kubectl apply -f xxx.yaml

2.4 查

1、获取default默认命名空间的所有Deployment

kubectl get deploy

2、获取default默认命名空间的所有Job并按名称排序

kubectl get job --sort-by=.metadata.name

3、获取default默认命名空间的指定Deployment(nginx)

kubectl get deploy nginx

4、获取指定命名空间(kube-system)下的所有Deployment

kubectl get deploy -n kube-system

5、获取默认命名空间的指定Deployment(nginx)的YAML格式输出

kubectl get deploy nginx -o yaml

6、获取默认命名空间的所有Pod并显示详细信息(包括节点信息)

kubectl get po -o wide