用途 | 命令 |
---|---|
查看集群状态 | kubectl cluster-info |
查看集群详细状态 | kubectl cluster-info dump |
查看节点 | kubectl get nodes |
查看节点更多信息 | kubectl get nodes -o wide |
标志一个节点不可调度 | kubectl cordon -nodeName |
标志一个节点可调度 | kubectl uncordon -nodeName |
查看token列表 | kubeadm token list |
创建token | kubeadm token create |
删除节点 | kubectl drain <node name> --delete-local-data --force --ignore-daemonsets /kubectl delete node <node name> |
创建一个deployment | kubectl create deployment nginx --image=nginx |
查看deployments | kubectl get deployment(deployments) |
创建一个service | kubectl create service nodeport nginx --tcp 80:80 |
查看services | kubectl get svc(service/services) |
删除一个deployment | kubectl delete deployments/nginx |
删除一个service | kubectl delete services/nginx |
同时删除deployment和service | kubectl delete deployments/nginx services/nginx |
从yaml文件创建deployment | kubectl create -f deployment.yaml |
查看pods | kubectl get pods(pod) |
查看pod更多信息 | kubectl get pods -o wide |
查看具体pod信息 | kubectl describe pods/kube-node-59bf664cbf-2qzgd |
修改deployment | kubectl edit deployments/test |
从yaml创建service | kubectl create -f service.yaml |
快捷创建service(expose) | kubectl expose deployment kube-node --type=NodePort |
查看service具体信息 | kubectl describe services/kube-node |
查看namespace | kubectl get namespace |
创建namespace | kubectl create namespace -name |
删除namespace | kubectl delete namespace -name |
根据配置文件创建configmap | kubectl create configmap my-config --from-file=path/to/bar /kubectl create configmap my-config --from-file=key1=/path/file1.txt --from-file=key2=/path/to/bar/file2.txt |
从字符串创建configmap | kubectl create configmap my-config --from-literal=key1=config1 --from-literal=key2=config2 |
从env文件创建configmap | kubectl create configmap my-config --from-env-file=path/to/bar.env |
扩容 | kubectl scale deployment nginx-deployment --replicas 10 |
自动扩容 | kubectl autoscale deployment nginx-deployment --min=10 --max=15 --cpu-percent=80 |
更新镜像 | kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1 |
回滚 | kubectl rollout undo deployment/nginx-deployment |
查看默认配置项,如pod.spec | kubectl explain pod.spec |
以上都是亲自用过的,没用过的自己查表,附上kubectl命令表
kubectl命令自动补全
在CentOS Linux
系统上,您可能需要安装默认情况下未安装的bash-completion
软件包。
yum install bash-completion -y
执行source <(kubectl completion bash)
命令在您目前正在运行的shell
中开启kubectl
自动补全功能。
可以将上述命令添加到shell
配置文件中,这样在今后运行的shell
中将自动开启kubectl
自动补全:
echo "source <(kubectl completion bash)" >> ~/.bashrc
快速生成YAML样例
# 用run命令生成
kubectl run --image=nginx my-deploy -o yaml --dry-run > my-deploy.yaml
# 用get命令导出
kubectl get statefulset/foo -o=yaml --export > new.yaml
# Pod亲和性下面字段的拼写忘记了
kubectl explain pod.spec.affinity.podAffinity