在KOPS管理的集群中轮换kubernetes的证书

时间:2018-08-24 13:43:22

标签: amazon-web-services kubernetes kops

我已经通过KOPS启动了几个集群,并且对于置备k8s集群还是陌生的,我与团队共享了整个kube配置文件。我错误地认为我可以轻松更改用户名和密码,以防止离开公司的开发人员通过kube配置文件进行身份验证。

示例用户部分如下所示:

- name: kubernetes.example.com
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
    password: REDACTED
    username: REDACTED

更改密码后,我仍然可以进行身份​​验证。但是删除证书部分后,我将变得未经授权。我已经设置好aws-iam-authenticator,并且运行正常,但是证书身份验证仍然有效,表明可以访问原始kube配置的任何人仍然可以通过服务器进行身份验证。

在重新启动新集群以轮换这些证书或完全关闭证书身份验证并仅遵从AWS身份验证之外,是否有任何简便的方法?

1 个答案:

答案 0 :(得分:0)

目前没有简单的方法可以在不中断的情况下滚动证书。见https://kops.sigs.k8s.io/rotate-secrets/

也不可能禁用证书,因为 kubernetes 本身依赖 PKI 进行身份验证。

好消息是,在 kOps 的更高版本中,轮换秘密 应该 很优雅。此处有此功能的 PR:https://github.com/kubernetes/kops/pull/10516