【Kubernetes】云原生小技巧 15 之 kubectl patch 命令

kubectl patch 用于对资源对象进行部分更新,允许直接修改资源的特定字段,而不需要重新提交完整的 YAML 或 JSON 文件,适合在需要快速更新资源配置时使用,一起来看看如何使用吧!

目录

1、kubectl patch 命令使用场景

2、kubectl patch 命令的基本用法

3、使用 kubectl patch 命令


1、kubectl patch 命令使用场景

  • 更新单个或多个字段:当只需改变某个特定的字段而不想影响其他配置时

  • 简化资源更新:避免编辑整个 YAML 配置文件,从而减少出错的机会

  • 自动化和脚本:在 CI/CD 流程中,快速地应用小的变更而无需干预

2、kubectl patch 命令的基本用法

kubectl patch <资源类型> <资源名称> -p '{"spec": {"字段": "值"}}'
  • <资源类型>:例如 poddeploymentservice

  • <资源名称>:目标资源的名称<>

  • -p:指定要更新的 JSON 或 YAML 片段

3、使用 kubectl patch 命令

# 查看帮助命令
kubectl patch --help

# 更新 deployment -> mydeployment 的副本数
kubectl patch deployment mydeployment -p '{"spec": {"replicas": 5}}'

# 为 pod -> mypod 添加标签
kubectl patch pod mypod -p '{"metadata": {"labels": {"name": "mypod"}}}'

# 修改 service -> myservice 的端口
kubectl patch service myservice -p '{"spec": {"ports": [{"port": 8080}]}}'

# 为节点 node1 添加污点
kubectl patch node node1 -p '{"spec": {"taints": [{"key": "gpu", "value": "true", "effect": "NoSchedule"}]}}'

# 修改 deployment -> mydeployment 的第一个容器镜像
# --type='json':指定补丁的类型,上方使用 JSON Patch 格式
# path:指向需要修改的路径,通过 / 分隔
# value:用于替换指定路径上的当前值
kubectl patch deployment mydeployment --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/image", "value": "nginx:1.19"}]'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值