一、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