【问题标题】:Kubernetes on localhost: setup certificates本地主机上的 Kubernetes:设置证书
【发布时间】:2015-09-14 11:00:52
【问题描述】:

我刚刚使用 this guide 在我的 Fedora 笔记本电脑上直接安装了 kubernetes 测试安装。

启动 kube2sky 后,我注意到我无法连接到 kubernetes api,因为需要证书。 kubernetes-ro 已被弃用并且在我的机器上不再可用,所以我收到以下错误:

E0627 15:58:07.145720 1 reflector.go:133] 无法列出 *api.Service: 获取 https://10.254.0.1:443/api/v1beta3/services: x509: 无法加载系统根目录并且没有提供根目录 E0627 15:58:07.146844 1 reflector.go:133] 无法列出 *api.Endpoints: Get https://10.254.0.1:443/api/v1beta3/endpoints: x509: 无法加载系统根目录并且没有提供根目录

如何设置证书?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    对于那些没有在使用 salt 自动配置主节点上的系统机密(如 GCE 所做的那样)的设置上运行的人来说,这是一个常见问题。这已经在头部修复,应该在下一个版本中修复。

    同时,您可以手动为 DNS 服务创建一个 secret,其中包含一个 kubeconfig 文件,以便 kube2sky 连接到 master。您可以通过查看kube-addons.sh 中的 create-kubeconfig-secret 函数(使用用户名“system:dns”调用时)来了解这是如何在 GCE 上完成的。生成的密钥的名称应该是 token-system-dns。

    【讨论】:

    • 我也有同样的问题。我经常看到令牌与证书同时被谈论。令牌是否不需要证书?这是我不明白的部分。看来您仍然需要建立需要证书的 https 连接?
    • 令牌和证书用于不同的目的。该证书允许客户端验证服务器的身份(这样您就不会被中间人攻击者拦截)。令牌允许服务器识别客户端(这样只有经过验证的客户端才能建立连接)。它们一起允许客户端和服务器建立安全的经过身份验证的连接。您可以在没有证书(但使用令牌)的情况下建立连接,但不能保证有人不会通过拦截您的流量来窃取您的凭据。希望对您有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    • 2018-06-23
    • 2018-09-09
    • 2017-06-27
    • 2018-08-10
    • 2015-06-30
    • 2016-04-30
    相关资源
    最近更新 更多