常用命令 | kubectl

一、实用技巧

1. 命令自动补全

#安装
yum install -y bash-completion 
source /usr/share/bash-completion/bash_comletion

source <(kubectl completion bash) #生效
echo "source <(kubectl completion bash)" >> ~/.bashrc #永久化

2. 查看 k8s 资源缩写

kubectl api-resources

3. 获取某字段下的属性

kubectl explain pod.spec.affinity #以 affinity 为例

4. 快速生成 yaml 模板

kubectl run <deploy_name> --image=nginx -o yaml --dry-run > xxx.yaml #通过 run 生成deploy模板( --dry-run 不会真的创建 deploy)

kubectl get <type> <resourcename> -o=yaml > xxx.yaml #通过现有资源生成 yaml 模板

二、日常使用

1. 查看

kubectl cluster-info #查看集群
kubectl cluster-info dump #查看集群具体信息

kubectl get cs #查看master组件状态

kubectl get <type> <resource_name> -o wide #查看具体资源对象
kubectl get <type> <resource_name> -o yaml #查看对象的 yaml 信息
kubectl describe <type> <resource_name> #查看对象的详细信息

kubectl logs -f <pod-name> -c <container-name> #查看日志

2. 操作

普通操作

kubectl apply -f xxx.yaml #根据文件创建对象

kubectl edit <type> <resource_name> #编辑对象

kubectl delete -f xxx.yaml #根据文件删除对象
kubectl delete <type> <resource_name> #删除对象

deployment滚动升级

kubectl run nginx-deploy --image=nginx --replicas=2 #创建 deploy

kubectl set image deploy nginx-deploy nginx-deploy=nginx:1.9.1 #升级 image
kubectl set resources deploy nginx-deploy -c=nginx --limits=cpu=200m,memory=512Mi #升级资源

kubectl rollout pause deploy nginx-deploy #暂停 deploy

kubectl rollout resume deploy nginx-deploy #恢复 deploy

kubectl rollout status deploy nginx-deploy #查询升级状态

kubectl rollout history deploy nginx-deploy #查询升级历史
kubectl rollout history deploy nginx-deploy --revision=2 #查看指定版本历史

kubectl rollout undo deploy nginx-deploy --to-revision=2 #回滚

kubectl scale deploy nginx-deploy --replicas=10 #弹性伸缩

kubectl autoscale deploy nginx-deploy --min=10 --max=15 --cpu-percent=80 #弹性伸缩

创建service

kubectl create service <type> <name> --tcp=80:8080 #type:clusterip、nodeport

kubectl create service clusterip <name> --clusterip="None" #headless service

kubectl expose deploy <deploy_name> --type=ClusterIP --name=<name> --port=80 --target-port=8080 #expose deployment
posted @ 2021-01-21 14:41  Einsier  阅读(108)  评论(0)    收藏  举报