【kubernetes常用基础命令】k8s常用命令集合:
文章图片
1、禁止|恢复node节点调度:
kubectl cordon(禁用)|uncordon(恢复)
2、删除节点(慎用):
kubectl drain (驱除非系统pod)
kubectl delete (删除节点)
3、创建资源:
kubectl create|apply -f test.yamlcreate:命令一般用于创建新资源。因此,如果再次运行该命令,则会抛出错误,因为资源名称在名称空间中应该是唯一的。
apply:命令一般用于更新资源配置。 如果资源不在那里,那么它将被创建。
kubectl apply命令可以运行更多次,只要资源定义没变,资源将不会变化。
4、查看资源列表:
kubectl get node|pod|service|deployment|configmap|... -n namespace [-o wide] [-w]
更多查看帮助:kubectl get --help
5、查看特定资源详情:
kubectl describe pod -n namespace
6、查看资源定义:
kubectl get deploy -n namespace -o yaml [>file(自定义文件名).yaml] 重定向到文件里,可以再次apply -f yaml
7、编辑资源(只对spec字段下内容生效):
kubectl edit node|pod|service|deployment|configmap|... -n namespace
8、删除资源(慎用):
kubectl delete pod -n namespace [--force --grace-period=0]强制删除
grace-period表示过渡存活期,默认30s,在删除POD之前允许POD慢慢终止其上的容器进程,从而优雅退出,0表示立即终止POD。
9、pod扩缩容:
手动扩缩容:kubectl scale deployment -n namespace --replicas=x;
也可用kubectl edit对deployment进行编辑后apply
10、pod升级与回滚:
deployment:
升级:kubectl set image deployment/ -n namespce image=:xxx;
也可用kubectl edit对deployment进行编辑后apply
更新策略:
Recreate: 更新时先杀掉正在运行的pod,然后创建新的pod
RollingUpdate: 滚动方式进行更新,参数maxUnavailable和maxSurge来控制滚动更新的过程
回滚(不常用):kubectl rollout status|history deployment/ -n namespace [--to-revision=x]
11、pod调度:
NodeName定向调度:通过node节点的主机名进行定向调度
NodeSelector定向调度:通过Node节点标签和pod资源属性nodeSelector匹配实现pod的定向调度
12、查看node节点标签:
kubectl get node --show-labels
查看指定标签的节点: kubectl get node -l key=value
节点增加标签:kubectl label nodes nodename key=value
删除节点标签:kubectl label nodes nodename key-
修改节点标签: kubectl label nodes nodename key=newvalue --overwrite
13、进入容器终端执行命令
容器名称可通过命令`kubectl describe pod`查看
centos使用/bin/bash
ubuntu或debain使用/bin/sh
kubectl exec -it -c 容器名称 /bin/sh
如有@侵权,请联系 2787950493@qq.com 改版。