Helm进阶使用指南:命名空间、命令标志与图表创建
1. Kubernetes命名空间与Helm的应对策略
在Kubernetes中,命名空间(Namespace)的命名有其独特规则。同一命名空间内,相同类型的对象不能有相同名称,而命名空间本身具有全局唯一的名称,即集群范围内必须唯一。
Helm在处理全局唯一名称时较为谨慎。默认情况下,Helm 3假设当你尝试将一个图表部署到某个命名空间时,该命名空间已经存在。例如,在一个全新的集群中执行以下命令会失败:
$ helm install drupal bitnami/drupal --namespace mynamespace
Error: create: failed to create: namespaces "mynamespace" not found
这是因为 mynamespace 命名空间尚未创建,且Helm不会自动创建命名空间。这是由于命名空间是全局的,在生产环境中安全使用命名空间前,可能需要为其分配访问控制(如RBAC)等。Helm认为静默创建命名空间可能会无意中造成安全漏洞。
不过,你可以通过 --create-namespace 标志来覆盖这一默认行为:
$ helm install drupal bitnami/drupal --namespace mynamespace --create-namespace
NAME: drupal
LAST DEPLOYE
超级会员免费看
订阅专栏 解锁全文
25

被折叠的 条评论
为什么被折叠?



