gpt4 book ai didi

Kubernetes:如何启用 API Server Bearer Token Auth?

转载 作者:行者123 更新时间:2023-12-02 01:14:58 24 4
gpt4 key购买 nike

我一直在尝试为远程客户端的 HTTP REST API 服务器访问启用 token 身份验证。

我使用以下脚本安装了我的 CoreOS/K8S 集群 Controller :https://github.com/coreos/coreos-kubernetes/blob/master/multi-node/generic/controller-install.sh

我的集群工作正常。这是一个 TLS 安装,因此我需要使用客户端证书配置任何 kubectl 客户端以访问集群。

然后我尝试通过运行启用 token 身份验证:

 echo `dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64 | tr -d "=+/" | dd bs=32 count=1 2>/dev/null`

这给了我一个 token 。然后我将 token 添加到我的 Controller 上包含 token 和默认用户的 token 文件中:
$> cat /etc/kubernetes/token

3XQ8W6IAourkXOLH2yfpbGFXftbH0vn,default,default

然后我修改了/etc/kubernetes/manifests/kube-apiserver.yaml 以添加:
 - --token-auth-file=/etc/kubernetes/token

到启动参数列表

然后我重新启动(不确定自己重新启动 API Server 的最佳方法??)

此时,来自远程服务器的 kubectl 停止工作(无法连接)。我再看看 docker ps在 Controller 上并查看 api 服务器。我跑 docker logs container_id并且没有输出。如果我查看其他 docker 容器,我会看到如下输出:
    E0327 20:05:46.657679       1 reflector.go:188] 
pkg/proxy/config/api.go:33: Failed to list *api.Endpoints:
Get http://127.0.0.1:8080/api/v1/endpoints?resourceVersion=0:
dial tcp 127.0.0.1:8080: getsockopt: connection refused

所以看起来我的 api-server.yaml 配置它阻止了 API 服务器正常启动......

有关为不记名 token REST 身份验证配置 API 服务器的正确方法的任何建议?

可以同时配置 TLS 配置和 Bearer Token Auth,对吗?

谢谢!

最佳答案

我认为你的 kube-apiserver 死了,因为它找不到 /etc/kubernetes/token .这是因为在您的部署中,apiserver 是一个静态 pod,因此在容器中运行,这反过来意味着它具有与主机不同的根文件系统。

调查/etc/kubernetes/manifests/kube-apiserver.yaml并添加一个 volume和一个 volumeMount像这样(我省略了不需要更改且无助于找到正确部分的行):

kind: Pod
metadata:
name: kube-apiserver
spec:
containers:
- name: kube-apiserver
command:
- ...
- --token-auth-file=/etc/kubernetes/token
volumeMounts:
- mountPath: /etc/kubernetes/token
name: token-kubernetes
readOnly: true
volumes:
- hostPath:
path: /etc/kubernetes/token
name: token-kubernetes

再注意一点:您引用的文件 token应该 不是 结束于 . (点) - 也许这只是一个复制粘贴错误,但无论如何都要检查一下。格式记录在 static token file 下:

token,user,uid,"group1,group2,group3"



如果您的问题仍然存在,请执行以下命令并发布输出:
journalctl -u kubelet | grep kube-apiserver

关于Kubernetes:如何启用 API Server Bearer Token Auth?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43072514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com