k8s常用命令整理


用途 命令
查看集群状态 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

文章作者: wuzhiyong
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 wuzhiyong !
评论
 上一篇
consul【在kubernetes集群中部署】 consul【在kubernetes集群中部署】
consul具体配置、ACL配置可以参考Consul系列文章 首先创建k8s-consul-config.json文件注意token需要自己创建一个,这里加密处理了 { "datacenter":"dc8", "prim
2019-10-18
下一篇 
consul【多台机器docker部署】 consul【多台机器docker部署】
问题1:ip问题使用容器方式在主机上部署后,consul节点的ip为容器IP,如上图所示,主机外不能访问到该服务,需要配置内网或公网IP。 使用docker使用docker run命令启动consul只需要在run后增加 --net = "
2019-10-11
  目录