Kubernetes 如何将变量值与k8s字段值组合?

Kubernetes 如何将变量值与k8s字段值组合?,kubernetes,Kubernetes,全部 目前,我正在以以下方式设置RBAC: kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: read-pods subjects: - kind: User name: system:serviceaccount:default:default roleRef: kind: Role name: pod-reader apiGroup: rbac.authorizat

全部

目前,我正在以以下方式设置RBAC:

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: read-pods
subjects:
  - kind: User
    name: system:serviceaccount:default:default
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io
然而,我想包括用户的名称空间值,我只是将上面的代码更改为

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: read-pods
subjects:
  - kind: User
    name: system:serviceaccount:$(namespace):default
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io
我以这种方式创建资源
kubectl apply-f k8s-n akka

Forbidden to communicate with Kubernetes API server; check RBAC settings. Response: [{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"pods is forbidden: User \"system:serviceaccount:akka:default\" cannot list resource \"pods\" in API group \"\" in the namespace \"akka\"","reason":"Forbidden","details":{"kind":"pods"},"code":403}
似乎不起作用,所以我的问题是,是否仍然需要为字段插入名称空间值?
提前感谢…

更新k8s清单中环境变量的一种方法是使用envsubt

按照以下步骤操作

  • 安装envsubs
  • export namespace=“我的测试”
  • 使用下面的命令更新变量并将其部署到k8s集群中

  • envsubt your-manifest.yaml | kubectl apply-f-

    更新k8s清单中环境变量的一种方法是使用envsubt

    按照以下步骤操作

  • 安装envsubs
  • export namespace=“我的测试”
  • 使用下面的命令更新变量并将其部署到k8s集群中

  • envsubt your-manifest.yaml | kubectl apply-f-

    变量替换是Helm可以提供的。虽然Helms用例通常是在整个应用程序上,但Helm不能提供单一的配置变量替换。尽管Helms用例通常是在整个应用程序上,而不是在单个配置上