首页 > 解决方案 > 如何使用 AWS CDK 以幂等方式创建 kubernetes 命名空间

问题描述

如果命名空间已与 AWS CDK 一起存在,我如何以幂等方式创建 k8s 命名空间清单或忽略错误。

如果我使用清单创建 K8s 命名空间,我经常会收到命名空间已存在的错误:

from custom resource. Message returned: Error: b'Error from server (AlreadyExists): error when creating "/tmp/manifest.yaml": namespaces "dev-advanced" already exists\n

创建清单:

    def create_namespace(self) -> KubernetesManifest:
        m = self.cluster.add_manifest(
            f"ns_{self.tenant.name}",
            {
                "apiVersion": "v1",
                "kind": "Namespace",
                "metadata": {
                    "name": f"{self.tenant.name}",
                    "labels": {
                        "name": f"{self.tenant.name}"
                    }
                }
            }
        )
        return m

标签: amazon-cloudformationamazon-eksaws-cdk

解决方案


推荐阅读