3

我对 kubernetes 相当陌生 - 我已经开发了 Web UI/API,它使用 Azure 机器学习服务到 Azure Kubernetes 服务 (AKS) 自动部署模型。作为一项强化措施,我打算使用此文档为 AKS 中部署的 pod 设置托管标识。其中一个步骤是编辑部署以在部署中添加身份特征标签(请参阅本节/spec/template/metadata/labels中开头Edit the deployment to add ...的段落)。

我希望使用 python kubernetes 客户端(https://github.com/kubernetes-client/python)自动执行此步骤。浏览可用的 API,我想知道这可能patch_namespaced_deployment允许我编辑部署并在/spec/template/metadata/labels. 我一直在寻找一些使用 python 客户端的示例代码 - 任何帮助实现上述目标将不胜感激。

4

1 回答 1

4

看看这个例子:

https://github.com/kubernetes-client/python/blob/master/examples/deployment_crud.py#L62-L70

def update_deployment(api_instance, deployment):
    # Update container image
    deployment.spec.template.spec.containers[0].image = "nginx:1.16.0"
    # Update the deployment
    api_response = api_instance.patch_namespaced_deployment(
        name=DEPLOYMENT_NAME,
        namespace="default",
        body=deployment)
    print("Deployment updated. status='%s'" % str(api_response.status))

标签位于部署对象上,来自 App v1 API,

kind: Deployment
metadata:
  name: deployment-example
spec:
  replicas: 3
  revisionHistoryLimit: 10
  template:
    metadata:
      labels:
        app: nginx

这意味着您需要更新以下内容:

deployment.spec.template.metadata.labels.app = "nginx"

于 2020-05-26T11:41:48.890 回答