142. Kubernetes 内部的安全配置

142.1 Namespace

该项目中提供的大多数组件都需要知道名称空间。对于 Kubernetes(1.3),将名称空间作为服务帐户密码的一部分提供给 pod 并由 Client 端自动检测到。对于早期版本,需要将其指定为容器的环境变量。一种快速的方法是:

env:
- name: "KUBERNETES_NAMESPACE"
  valueFrom:
    fieldRef:
      fieldPath: "metadata.namespace"

142.2 服务帐户

对于支持集群内基于角色的更细粒度访问的 Kubernetes 发行版,您需要确保运行 spring-cloud-kubernetes 的 Pod 可以访问 Kubernetes API。对于您分配给部署/吊舱的任何服务帐户,都需要确保其具有正确的角色。例如,您可以根据所在项目将cluster-reader权限添加到default服务帐户中: