kubetlet 常用命令

    xiaoxiao2021-04-18  63

    查看service、pod、replication

    kubectl get service -o wide 现在改信息在哪个节点 kubectl get svc kubectl get pod -o yaml | json 以yaml或者json格式输出

    修改副本集数量

    kubectl scale rc RC-NAME –replicas=N

    获取namespace 信息

    kubectl get namespace

    还可以使用”-o=custom-columns=“定义直接获取指定内容的值

    kubectl get po RC-name -o=customcolumns=LABELS:.metadata.labels.app

    可以获取metadata中的labels中的app的值,其中LABELS为显示的列标题,”.metadata.labels.app”为查询的域名

    replace 不可修改label 命令用于对已有资源进行更新、替换。如前面create中创建的nginx,当我们需要更新resource的一些属性的时候,如果修改副本数量,增加、修改label,更改image版本,修改端口等。都可以直接修改原yaml文件,然后执行replace命令。

    kubectl replace -f RC.yaml

    patch 可修改label修改正在运行的容器的属性 在运行过程中,需要把其label改为app=nginx,这patch命令如下:

    kubectl patch pod rc.yaml -p ‘{“metadata”:{“labels”:{“app”:”nginx”}}}’

    edit提供了另一种更新resource源的操作,通过edit能够灵活的在一个common的resource基础上,发展出更过的significant resource。例如,使用edit直接更新前面创建的pod的命令为:

    kubectl edit po POD

    执行后会以vi的方式打开一个yaml文档 可以手动修改,保存之后相当于更新该pod

    rolling-update rolling-update是一个非常重要的命令,对于已经部署并且正在运行的业务,rolling-update提供了不中断业务的更新方式。rolling-update每次起一个新的pod,等新pod完全起来后删除一个旧的pod,然后再起一个新的pod替换旧的pod,直到替换掉所有的pod。 rolling-update需要确保新的版本有不同的name,Version和label,否则会报错

    kubectl rolling-update RC -f rc-nginx.yaml 如果在升级过程中,发现有问题还可以中途停止update,并回滚到前面版本 kubectl rolling-update RC –rollback

    autoscale命令提供了自动根据pod负载对其副本进行扩缩的功能。 下面的命令会使该pod的容器根绝负载在1~4浮动

    kubectl autoscale rc RC.yaml –min=1 –max=4

    cordon cordon 命令可以将一个节点标记为不可调度,就是新创建的pod不会部署在该节点上 kubectl cordon node1 drain drain 命令可以将节点上的pod 平滑的移动到其他的节点上 kubectl drain node1 uncordon uncordon 可以解锁被cordon的节点 kubectl uncordon node1

    attach命令类似于docker的attach命令,可以直接查看容器中以daemon形式运行的进程的输出,一个pod中有多个容器,要查看具体的某个容器的的输出,需要在pod名后使用-c containers name指定运行的容器

    kubectl attach pod kube-dns-3913472980-tp2bz -c kubedns -n kube-system

    转载请注明原文地址: https://ju.6miu.com/read-675565.html

    最新回复(0)