首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kubelet不使用TLS进行身份验证

Kubelet不使用TLS进行身份验证
EN

Stack Overflow用户
提问于 2016-06-16 01:35:53
回答 1查看 1K关注 0票数 1

我已经使用Docker在Ubuntu虚拟机上部署了Kubernetes集群。

没有TLS,它就可以正常工作(在端口8080上)。

我使用了让我们为安全API服务器加密(端口6443),这是工作!当我的Kubelet想要使用https向主服务器进行身份验证时,问题就出现了。

下面是我启动Kubelet Api Server的方式:

代码语言:javascript
运行
复制
    /hyperkube apiserver 
--service-cluster-ip-range=10.0.0.1/24 
--insecure-bind-address=127.0.0.1 
--etcd-servers=http://127.0.0.1:4001 
--admission-control=NamespaceLifecycle,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota 
--client-ca-file=/srv/kubernetes/ca.crt 
--basic-auth-file=/srv/kubernetes/basic_auth.csv 
--min-request-timeout=300 
--tls-cert-file=/srv/kubernetes/server.cert 
--tls-private-key-file=/srv/kubernetes/server.key 
--token-auth-file=/srv/kubernetes/known_tokens.csv 
--allow-privileged=true --v=4

这是我启动Kubelet的方式:

代码语言:javascript
运行
复制
  /hyperkube kubelet \
        --allow-privileged=true \
        --api-servers=https://k8:6443 \
        --kubeconfig=/srv/kubernetes/config.yaml \
        --v=2 \
        --address=0.0.0.0 \
        --enable-server \
        --containerized \
        --cluster-dns=10.0.0.10 \
        --cluster-domain=k8.local

下面是config.yaml文件:

代码语言:javascript
运行
复制
apiVersion: v1
kind: Config
clusters:
- name: k8.local
  cluster:
    insecure-skip-tls-verify: true
    server: https://k8:6443
contexts:
- context:
    cluster: "k8.local"
    user: "node1"
  name: development
current-context: development
users:
- name: node1
  user:
    client-certificate: /var/run/kubernetes/kubelet.crt
    client-key: /var/run/kubernetes/kubelet.key

当我启动Kubelet时,日志显示:the server has asked for the client to provide credentials

我想我搞错了Kubelet的证书,但我不明白为什么。

你能帮我吗?

10xx。

EN

回答 1

Stack Overflow用户

发布于 2016-06-16 04:31:13

您的客户端证书(/var/run/kubernetes/kubelet.crt)是否由CA文件签名:-- client -ca- file =/srv/kubernetes/ca.crt?

此外,您还可以尝试替换

代码语言:javascript
运行
复制
- cluster:
    insecure-skip-tls-verify: true
    server: https://k8:6443

通过以下方式:

代码语言:javascript
运行
复制
- cluster
    certificate-authority: /srv/kubernetes/ca.crt
    server: https://k8:6443

我从未使用过基本身份验证或令牌身份验证,但使用这些标记可能需要基于密码的身份验证。如果您正在进行纯粹的基于证书的身份验证,我也会尝试删除它们。

代码语言:javascript
运行
复制
--basic-auth-file=/srv/kubernetes/basic_auth.csv 
--token-auth-file=/srv/kubernetes/known_tokens.csv
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37842115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档