首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Azure AKS:在集群创建过程中如何避免在“默认”命名空间中创建资源

Azure AKS:在集群创建过程中如何避免在“默认”命名空间中创建资源
EN

Stack Overflow用户
提问于 2021-08-20 16:20:38
回答 1查看 276关注 0票数 1

我试图在Azure中创建一个K8s集群,当集群准备就绪时,我可以看到在default命名空间中创建了几个资源。示例机密,configmap:

作为一个安全建议,不应该在k8s命名空间下创建任何default资源,那么如何避免它呢?默认情况下,它是在集群创建期间创建的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-23 08:33:38

我发现了同样的问题问 这里

用户srbose (Microsoft )很好地解释了操作原理:

在Kubernetes中,ServiceAccount controller在名称空间中管理ServiceAccounts,并确保每个活动名称空间中都存在一个名为"default“的ServiceAccount。[参考文献] TokenController作为kube-controller-manager的一部分运行。它以异步方式工作。它监视ServiceAccount的创建,并创建相应的ServiceAccount令牌秘密,以允许API访问。[参考文献]因此,还创建了默认 ServiceAccount令牌的秘密。 信任作为pod运行的应用程序中的自定义CA通常需要一些额外的应用程序配置。您需要将CA证书包添加到TLS客户端或服务器信任的CA证书列表中。例如,您可以通过解析证书链并将解析后的证书添加到RootCAs结构中的tls.Config字段中,使用golang配置来完成此操作。 您可以将CA证书分发为您的荚可以使用的ConfigMap。[参考文献] AKS通过这些命名空间中的名为kube-root-ca.crt的ConfigMaps在所有活动名称空间中实现了这一点。 您还将在kubernetes默认命名空间中找到一个名为的服务。它有一个ServiceType of ClusterIP,在默认名称空间中向集群内部公开API Server Endpoint (也称为)。 在集群创建时,上面提到的所有资源都将由设计来创建,它们的创建无法阻止。如果您尝试手动删除这些资源,则将重新创建这些资源,以确保kube-controller-manager能够实现所需的目标状态。

此外:

Kubernetes集群不应该使用默认的命名空间。策略仍然处于预览中。目前,架构没有显式地允许在策略评估期间排除默认命名空间中的Kubernetes资源。但是,在编写本报告时,模式允许将带有标签的服务default/kubernetes的labelSelector.matchExpressions[].operator设置为带有适当labelSelector.matchExpressions[].valuesNotIn component=apiserver 默认的ServiceAccount、默认的ServiceAccount token SecretRootCA ConfigMap本身都不是用任何标签创建的,因此不能添加到这个列表中。如果这妨碍了您的用例,我将敦促您在https://techcommunity.microsoft.com/t5/azure/ct-p/Azure上分享您的反馈。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68865255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档