在OpenTelekomCloud的ClusterContainerEngine中以限制权限安装ServiceAccount机密

时间:2019-02-25 16:10:20

标签: kubernetes

我在Open Telekom云中有一个托管的kubernetes设置,称为集群容器引擎( CCE )。可以在online中找到其文档。

我的CCE有一个主节点和三个节点。我可以通过kubectl访问CCE并在其上部署新的Pod。当根据the official docs用RBAC安装helm/tiller时,我注意到ServiceAccount机密的安装具有非常严格的权限:

$ ls -al /var/run/secrets/kubernetes.io/serviceaccount/..data/
total 16
drwxr-xr-x    2 root     root           100 Feb 25 15:20 .
drwxrwxrwt    3 root     root           140 Feb 25 15:20 ..
-rw-------    1 root     root          8011 Feb 25 15:20 ca.crt
-rw-------    1 root     root            11 Feb 25 15:20 namespace
-rw-------    1 root     root           852 Feb 25 15:20 token

只有root可以访问这些文件,不幸的是,依赖于Linux用户helm/tiller的{​​{1}}安装失败。

我已经有另一个在azure中运行的kubernetes集群(也是托管的,即AKS实例);在AKS kubernetes中创建的pod可以对服务帐户密码进行常规读取访问:

nobody

我正在寻找有关如何放松文件访问权限以使其与天蓝色相匹配的想法。这将使非root用户可以访问服务帐户密码,并允许我使用$ # the azure cluster $ ls -al /var/run/secrets/kubernetes.io/serviceaccount/..data/ total 12 drwxr-xr-x 2 root root 100 Jan 24 08:12 . drwxrwxrwt 3 root root 140 Jan 24 08:12 .. -rw-r--r-- 1 root root 1720 Jan 24 08:12 ca.crt -rw-r--r-- 1 root root 7 Jan 24 08:12 namespace -rw-r--r-- 1 root root 1183 Jan 24 08:12 token 。有什么想法吗?


helm的输出:

kubectl version

所有节点都使用Client Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.2", GitCommit:"17c77c7898218073f14c8d573582e8d2313dc740", GitTreeState:"clean", BuildDate:"2018-10-24T06:54:59Z", GoVersion:"go1.10.4", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"9+", GitVersion:"v1.9.2-CCE2.0.7-B003", GitCommit:"302f471a1e2caa114c9bb708c077fbb363aa2f13", GitTreeState:"clean", BuildDate:"2018-06-20T03:27:16Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"} 和内核版本EulerOS_2.0_SP2

1 个答案:

答案 0 :(得分:2)

该权限将更改为CCE的2019年3月发行版之一。到三月底为止,您将可以运行Helm。