You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Kubernetes Python API获取并编辑FADepl CRD实例

基于Kubernetes Python API操作FADepl自定义资源实现方案

完全可以通过Kubernetes Python API实现你的需求,自定义资源的增删改查操作统一通过CustomObjectsApi接口完成,不需要使用核心内置资源的专用接口。

前置准备

首先查询FADepl资源的核心属性参数,执行以下命令获取:

kubectl api-resources | grep fadepl

返回结果示例如下,你可以从中提取对应参数:

NAME      APIVERSION        NAMESPACED   KIND
fadepls   fa.example.com/v1   true        FADepl

对应需要用到的参数:

  • 组(Group):fa.example.com
  • 版本(Version):v1
  • 复数资源名(Plural):fadepls
  • 资源所在命名空间:替换为你实际部署的命名空间,集群级资源不需要该参数

操作步骤

1. 获取指定名称的FADepl实例

代码示例:

from kubernetes import client, config

# 加载集群配置,集群内运行用config.load_incluster_config(),本地调试用kubeconfig路径加载
config.load_kube_config()
custom_api = client.CustomObjectsApi()

# 替换为你实际的参数值
GROUP = "fa.example.com"
VERSION = "v1"
PLURAL = "fadepls"
NAMESPACE = "default"
FADEPL_NAME = "你的目标FADepl实例名"

# 命名空间级资源调用该方法
fadepl_instance = custom_api.get_namespaced_custom_object(
    group=GROUP,
    version=VERSION,
    namespace=NAMESPACE,
    plural=PLURAL,
    name=FADEPL_NAME
)
# 如果是集群级资源,调用下面的方法
# fadepl_instance = custom_api.get_cluster_custom_object(group=GROUP, version=VERSION, plural=PLURAL, name=FADEPL_NAME)

# 打印获取到的实例配置
print(fadepl_instance)

2. 修改FADepl实例的配置值

推荐使用补丁更新方式,仅修改目标字段,不会影响其他未声明的配置,等效于kubectl edit操作:

# 定义要修改的配置,比如修改spec下的replicaCount为2、config.image为新镜像地址
patch_body = {
    "spec": {
        "replicaCount": 2,
        "config": {
            "image": "new-image:v1.2.0"
        }
    }
}

# 执行补丁更新
patched_fadepl = custom_api.patch_namespaced_custom_object(
    group=GROUP,
    version=VERSION,
    namespace=NAMESPACE,
    plural=PLURAL,
    name=FADEPL_NAME,
    body=patch_body
)

# 打印更新后的实例验证修改结果
print(patched_fadepl)

如果你需要全量替换配置,可以调用replace_namespaced_custom_object方法,传入修改后的完整实例配置即可,等效于kubectl apply操作。

内容的提问来源于stack exchange,提问作者texdade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 10:00:04