0
点赞
收藏
分享

微信扫一扫

K8s系列之:kubectl子命令详解三



K8s系列之:kubectl子命令详解三

  • 1)apply
  • 2)patch
  • 3)replace
  • 4)label
  • 5)annotate


1)apply

从配置文件或stdin中对资源对象进行配置更新,文件可以使用JSON和YAML格式。使用apply或create --save-config创建资源是一样的。

kubectl apply -f FILENAME

(base) [root@bigdata1 data]# kubectl apply -f nginx-deployment.yaml
deployment.apps/nginx-deployment configured

2)patch

使用补丁更新资源的字段,JSON和YAML格式都可以。

kubectl patch -f FILENAME | TYPE NAME --patch PATCH

使用补丁更新节点为不可调度:

kubectl patch node k8s-node-1 -p '{"spec":{"unschedulable":true}}'

更新容器的镜像:

kubectl patch pod valid-pod -p '{"spec":{"containers":[{"name":"K8s-server-hostname","image":"new image"}]}}'

3)replace

用指定的文件或stdin替换资源,如果替换现有资源,必须提供完整的资源定义。可以通过kubectl get TYPE -o yaml获得。

(base) [root@bigdata1 data]# kubectl replace -f mysql-rc.yaml
replicationcontroller/mysql replaced

4)label

更新资源上的标签。标签必须以字母或数字开头,可以包含字母、数字、连字符、点和下画线。如果–overwrite为true,则可以覆盖现有标签,否则覆盖标签将返回错误。

kubectl label -f FILENAME | TYPE NAME

#更新pod nginx的标签unhealthy的值为true
kubectl label pods nginx unhealthy=true

#更新pod nginx的标签status为unhealthy,并覆盖现有的值
kubectl label --overwrite pods nginx status=unhealthy

5)annotate

#更新一个或多个资源上的注释。
kubectl annotate pods nginx description='my frontend'

#移除所有description字段的注释
kubectl annotate pods nginx description-


举报

相关推荐

0 条评论