Helm 无法处理 ConfigMap.mapRoles.username : system:node:{{EC2PrivateDNSName}}
Helm can't handle ConfigMap.mapRoles.username : system:node:{{EC2PrivateDNSName}}
我有一个正在迁移到 Helm 的 kubernetes 集群。集群在 AWS 托管服务 AWS EKS 下 运行。
因为 AWS EKS 默认情况下仅在集群中创建 1 个用户 (system.master),即创建集群的 AWS 用户。话虽如此,为了向集群创建另一个用户,我需要在下面创建一个配置映射:
apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapRoles: |
- rolearn: arn:aws:iam::<accountid>:role/terraform-eks-main-node
username: system:node:{{EC2PrivateDNSName}}
groups:
- system:bootstrappers
- system:nodes
mapUsers: |
- userarn: arn:aws:iam::<accountid>:user/admin-access
username: admin-access
groups:
- system:masters
运行 使用 helm 的 configmap 由于 {{EC2PrivateDNSName}}
而导致问题。有什么好的处理方法吗?
每当 Helm(和嵌入式 Go text/template
引擎)看到 {{
时,它会将其解释为模板变量扩展。如果你想在输出中直接包含这些字符,你需要一个生成它们的模板表达式;例如
username: system:node:{{ "{{" }}EC2PrivateDNSName}}
我有一个正在迁移到 Helm 的 kubernetes 集群。集群在 AWS 托管服务 AWS EKS 下 运行。
因为 AWS EKS 默认情况下仅在集群中创建 1 个用户 (system.master),即创建集群的 AWS 用户。话虽如此,为了向集群创建另一个用户,我需要在下面创建一个配置映射:
apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapRoles: |
- rolearn: arn:aws:iam::<accountid>:role/terraform-eks-main-node
username: system:node:{{EC2PrivateDNSName}}
groups:
- system:bootstrappers
- system:nodes
mapUsers: |
- userarn: arn:aws:iam::<accountid>:user/admin-access
username: admin-access
groups:
- system:masters
运行 使用 helm 的 configmap 由于 {{EC2PrivateDNSName}}
而导致问题。有什么好的处理方法吗?
每当 Helm(和嵌入式 Go text/template
引擎)看到 {{
时,它会将其解释为模板变量扩展。如果你想在输出中直接包含这些字符,你需要一个生成它们的模板表达式;例如
username: system:node:{{ "{{" }}EC2PrivateDNSName}}