k8s常用命令汇合:
1、禁止|复原node节点调度:
kubectl cordon(禁用)|uncordon(复原) <nodename>
2、删除节点(慎用):
kubectl drain <nodename> (驱除非零碎pod)
kubectl delete <nodename> (删除节点)
3、创立资源:
kubectl create|apply -f test.yaml
create:命令个别用于创立新资源。因而,如果再次运行该命令,则会抛出谬误,因为资源名称在名称空间中应该是惟一的。
apply:命令个别用于更新资源配置。 如果资源不在那里,那么它将被创立。
kubectl apply命令能够运行更屡次,只有资源定义没变,资源将不会变动。
4、查看资源列表:
kubectl get node|pod|service|deployment|configmap|... -n namespace [-o wide] [-w]
更多查看帮忙:kubectl get --help
5、查看特定资源详情:
kubectl describe pod <podname> -n namespace
6、查看资源定义:
kubectl get deploy <deployname> -n namespace -o yaml [>file(自定义文件名).yaml] 重定向到文件里,能够再次apply -f yaml
7、编辑资源(只对spec字段下内容失效):
kubectl edit node|pod|service|deployment|configmap|... -n namespace
8、删除资源(慎用):
kubectl delete pod <podname> -n namespace [--force --grace-period=0]强制删除
grace-period示意过渡存活期,默认30s,在删除POD之前容许POD缓缓终止其上的容器过程,从而优雅退出,0示意立刻终止POD。
9、pod扩缩容:
手动扩缩容:kubectl scale deployment <deployname> -n namespace --replicas=x;
也可用kubectl edit对deployment进行编辑后apply
10、pod降级与回滚:
deployment:
降级:kubectl set image deployment/<deplyname> -n namespce image=<imagename>:xxx;
也可用kubectl edit对deployment进行编辑后apply
更新策略:
Recreate: 更新时先杀掉正在运行的pod,而后创立新的pod
RollingUpdate: 滚动形式进行更新,参数maxUnavailable和maxSurge来管制滚动更新的过程
回滚(不罕用):kubectl rollout status|history deployment/<deployname> -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 <podname> -it -c 容器名称 /bin/sh
如有@侵权,请分割 2787950493@qq.com 改版。
发表回复