【发布时间】:2018-06-19 17:06:01
【问题描述】:
使用kubectl 和kops 1.8
当使用kops 在aws 中旋转集群时,创建的客户端证书(在~/.kube/config 的client-certificate-data 字段中显示为字符串)具有以下值:
Subject: O=system:masters, CN=kubecfg
除非我错了,从kubernetes 1.4开始,Organitazion的值被解释为group信息(与CN值关联的字符串就是所谓的用户,因为k8s本身并没有有这样的概念)
1:如何查看与system:masters 组和/或kubecfg 用户关联的权限?
- (与上述有关):我现在使用的开箱即用的授权方式是什么?
RBAC?我该如何检查?
2:为什么我的~/.kube/config 中的条目不包含kubecfg 用户? (而是一个拥有我的集群名称的用户和另一个名为 admin 的用户?)
$ kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: REDACTED
server: <server_url>
name: <my_cluster_name>
contexts:
- context:
cluster: <my_cluster_name>
user: <my_cluster_name>
name: <my_cluster_name>
current-context: <my_cluster_name>
kind: Config
preferences: {}
users:
- name: <my_cluster_name>
user:
client-certificate-data: REDACTED
client-key-data: REDACTED
password: <some_pass>
username: admin
- name: <my_cluster_name>.local-basic-auth
user:
password: <some_pass>
username: admin
归根结底,在执行kubectl 命令时,我正在与哪个用户执行 api 调用?
更新:我试图在我的~/.kube/config 中弄乱client-certificate-data 的值,结果我得到了
错误:tls:私钥与公钥不匹配
我假设这意味着我正在使用基于 x509 的身份验证 (?)
所以我以 kubecfg 的身份进行 api 调用?
【问题讨论】:
-
我也想知道使用kops创建集群时的认证方式是什么?我可以在 ~/.kube/config 中看到管理员和密码以及证书。我更改了密码,但由于证书相同,我不确定它是否会撤销其他用户的访问权限。?
标签: kubernetes kops kubernetes-security