首页 > 解决方案 > 为 KOPS 托管集群中的 Kubernetes 轮换证书

问题描述

我已经通过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 身份验证之外,还有什么简单的方法吗?

标签: amazon-web-serviceskuberneteskops

解决方案


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

由于 kubernetes 本身依赖 PKI 进行身份验证,因此也无法禁用证书。

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


推荐阅读