kubernetes常用基础命令

【kubernetes常用基础命令】k8s常用命令集合:
kubernetes常用基础命令
文章图片

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

    推荐阅读