首页 > 其他分享 >使用 kubectl patch 修改 Kubernetes objects

使用 kubectl patch 修改 Kubernetes objects

时间:2022-09-01 14:22:50浏览次数:48  
标签:kubectl Kubernetes ... storage patch gp2

为了能够修改Kubernetes对象,我们可以使用kubectl edit以交互方式进行修改。如果我们需要测试值,它可以派上用场,但它使自动化变得更加困难。如果我们需要一种使用非交互式命令更改Kubernetes对象的方法,kubectl patch是我们的最佳选择。

为了能够在脚本模式下修改Kubernetes对象,我们需要告诉kubectl我们要设置哪些字段。例如,如果我们想添加一个顶级条目,例如allowVolumeExpansion,以便能够调整EBS支持的PVC的大小:

$ kubectl get sc gp2 -o yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  (...)
  name: gp2
parameters:
  fsType: ext4
  type: gp2
provisioner: kubernetes.io/aws-ebs
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer

使用-p 选项定义 需要添加的对象

$ kubectl patch sc gp2 -p '{"allowVolumeExpansion": true}'
storageclass.storage.k8s.io/gp2 patched

如果需要修改具有更多级别的值,则必须将所有级别都包含到补丁中。例如,以下定义使用不同的spec.resources.requests.storage:

$ kubectl get pvc demopvc -o yaml
(...)
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
(...)

我们必须定义整个路径以达到我们想要更改的值:

$ kubectl patch pvc demopvc -p '{"spec": {"resources": {"requests": {"storage": "20Gi"}}}}'
persistentvolumeclaim/demopvc patched

再次使用kubectl get pvc检查对象,我们将能够看到它是如何成功修补的:

$ kubectl get pvc demopvc -o yaml
(...)
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 20Gi
(...)

标签:kubectl,Kubernetes,...,storage,patch,gp2
From: https://www.cnblogs.com/faberbeta/p/16646362.html

相关文章

  • 1分钟配置kubectl命令补全
    在日常管理k8s集群的时候,时刻都会使用到Kubectl命令行工具,但是该命令还是挺复杂的,使用中也记不住那么多的api选项,所以这里介绍一下Kubectl命令补全工具(其实是Linux中bash......
  • Error: Could not get apiVersions from Kubernetes
    问题部署pod时遇到问题#helminstallchart.tgzError:CouldnotgetapiVersionsfromKubernetes:unabletoretrievethecompletelistofserverAPIs:metrics.......
  • k8s(kubernetes)基于(NFS+PV+PVC)部署jenkins
    #部署流程:(系统:centos7.9)一、设置存储目录1、安装NFS服务端2、挂载NFS并设置存储文件夹二、创建PV&PVC1、准备PV&PVC部署文件2、创建PV&PVC......
  • Kubernetes证书过期
    证书过期提示root@kubernetes#kubectlgetnodesUnabletoconnecttheserver:X509certificatehasexpiredorisnotyetvalid操作步骤1、查看证书有效期ku......
  • Navicat_Keygen_Patch_v5.6
    navicatdownload: Navicat :https://download.navicat.com.cn/download/navicat150_premium_cs_x64.exekeygendownload:  Navicat_Keygen_Patch_v5.6  无法下载-......
  • Kubernetes安装记录
    一、系统规划3个节点机器名IPk8s-master192.168.1.57k8s-node58192.168.1.58k8s-node59192.168.1.59Pod网段172.31.0.0/16版本选择Docker:19......
  • Kubernetes学习笔记(二十三):TLS
    SymmetricEncryption:对称加密,使用相同的密钥来加密和解密数据,必须在发送方和接收方之间交换,因此存在风险AsymmetricEncryption:非对称加密,PrivateKey和PublicLockssh-......
  • Kubernetes Container、Pod、Namespace内存及CPU限制
        如果运行的容器没有定义资源(memory、CPU)等限制,那么该容器可以使用宿主机的最大可用资源,直到无资源可用而触发宿主机(OOMKiller),为保证容器资源合理利用,需要在nam......
  • Kubernetes Container、Pod、Namespace内存及CPU限制
    Quota资源限制  对每个命名空间的资源消耗总量提供限制(在一个namespace下创建quota,就会只对当前namespace进行资源限制)。它可以限制命名空间中某种类型的对象的总数目上......
  • K8s - Kubernetes重要概念介绍(Cluster、Master、Node、Pod、Controller、Service、Nam
    Kubernetes 是目前发展最快、市场占有率最高的容器编排引擎产品,并且还在快速地开发和迭代之中。我们在学习 Kubernetes 之前,需要理解它的几个重要概念,它们是组成 Kuber......