【问题标题】:Rotate certificate for kubernetes in a KOPS managed cluster为 KOPS 托管集群中的 Kubernetes 轮换证书
【发布时间】:2019-01-31 00:20:59
【问题描述】:

我已经通过 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-services kubernetes kops


    【解决方案1】:

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

    也无法禁用证书,因为 Kubernetes 本身依赖 PKI 进行身份验证。

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

    【讨论】:

    • 目前此功能可用kops.sigs.k8s.io/operations/rotate-secrets,但是在我旋转密钥对后kubecfg 没有旋转。如果我尝试创建一个新的密钥对,它会抛出这个错误:Error: adding keypair to "kubecfg" is not supported。你有什么想法吗?
    • 没有名为 kubecfg 的密钥对。可以使用kops get keypair 查看密钥对列表
    • 是的。很奇怪,其中一个旧集群拥有它。也许是有人手动添加的
    猜你喜欢
    • 1970-01-01
    • 2018-03-04
    • 2021-02-09
    • 2019-12-16
    • 2019-10-19
    • 2020-10-15
    • 2021-05-26
    • 2018-12-27
    • 2019-05-22
    相关资源
    最近更新 更多