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 改版。