kubenetes: patch更新和替换、删除资源内容

简介: kubenetes: patch更新和替换、删除资源内容

目录

使用(patch)补丁修改、更新资源的字段。

kubectl命令操作

替换:replace

新增:add

删除:remove

多个资源内容的修改、删除、新增

疑惑:

kubernetes-client/java操作Patch



使用(patch)补丁修改、更新资源的字段。

支持JSON和YAML格式。


kubectl命令操作

k8s版本1.13


替换:replace

kubectl patch pod valid-pod --type='json' -p='[{"op": "replace", "path": "/spec/containers/0/image", "value":"new image"}]'


新增:add

kubectl patch pod valid-pod --type='json' -p='[{"op": "add", "path": "/metadata/labels/MixedDeploy_Status", "value":"true"}]'


删除:remove

kubectl patch pod valid-pod --type='json' -p='[{"op": "remove", "path": "/metadata/labels/MixedDeploy_Status"}]'

 

多个资源内容的修改、删除、新增

参数:JSON数组


疑惑:

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

在K8s版本为1.13上,使用这种方式修改更新资源,却提示unpatch


kubernetes-client/java操作Patch

CoreV1Api apiInstance = new CoreV1Api();
String name = "主机名称"; // String | name of the Node
// 新增
V1Patch body = new V1Patch("[{\"op\": \"add\", \"path\": \"/metadata/labels/MixedDeploy_Status\", \"value\":\"true\"}]");
// 替换更新
V1Patch body = new V1Patch("[{\"op\": \"replace\", \"path\": \"/metadata/labels/MixedDeploy_Status\", \"value\":\"false\"}]");
String pretty = "true";
String dryRun = null;
Boolean force = true; // Boolean | Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.
try {
    V1Node result = apiInstance.patchNode(name, body, pretty, dryRun, null, force);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling CoreV1Api#patchNode");
    e.printStackTrace();
}

 


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
8月前
|
Kubernetes 负载均衡 应用服务中间件
k8s学习-Ingress(安装、模板、创建、删除)
k8s学习-Ingress(安装、模板、创建、删除)
298 0
|
4月前
|
JavaScript 前端开发 API
jq修改节点内容6
jq修改节点内容6
53 2
|
5月前
|
Kubernetes API 调度
在K8S中,k8s删除pod的过程是什么?
在K8S中,k8s删除pod的过程是什么?
|
5月前
|
存储 Kubernetes API
在K8S中,Pod删除过程会发生什么?
在K8S中,Pod删除过程会发生什么?
|
8月前
|
存储 Kubernetes API
k8s学习-ConfigMap(创建、使用、更新、删除等)
k8s学习-ConfigMap(创建、使用、更新、删除等)
2272 0
|
8月前
|
存储 Kubernetes 网络协议
k8s学习-StatefulSet(模板、更新、扩缩容、删除等)
k8s学习-StatefulSet(模板、更新、扩缩容、删除等)
423 0
|
8月前
|
Ruby Perl
工程支持xcframework,检查pod版本及更新pod
工程支持xcframework,检查pod版本及更新pod
81 0
|
8月前
|
存储 Kubernetes 监控
k8s学习-DaemonSet(模板、创建、更新、回滚、删除等)
k8s学习-DaemonSet(模板、创建、更新、回滚、删除等)
173 0
移除MagenTo自动发送邮件中网址的多余部分?___store=id
移除MagenTo自动发送邮件中网址的多余部分?___store=id
|
Kubernetes 容器
k8s 删除命令空间namespace卡住解决方法
k8s 删除命令空间namespace卡住解决方法