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

Zac*_*man 5 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
Run Code Online (Sandbox Code Playgroud)

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

除了重新启动新集群来轮换这些证书或完全关闭证书身份验证并仅遵循 AWS 身份验证之外,还有什么简单的方法吗?

小智 0

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

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

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