gpt4 book ai didi

Kubernetes简单认证

转载 作者:行者123 更新时间:2023-12-02 20:23:59 24 4
gpt4 key购买 nike

我在 DigitalOcean 托管的 coreOS 集群上使用 Kubernetes。并使用this repo 来设置它。我使用以下行启动了 apiserver:

    /opt/bin/kube-apiserver --runtime-config=api/v1 --allow-privileged=true \ 
--insecure-bind-address=0.0.0.0 --insecure-port=8080 \
--secure-port=6443 --etcd-servers=http://127.0.0.1:2379 \
--logtostderr=true --advertise-address=${COREOS_PRIVATE_IPV4} \
--service-cluster-ip-range=10.100.0.0/16 --bind-address=0.0.0.0

问题是它接受任何人的请求!我希望能够提供简单的用户/密码身份验证。我一直在读thisthis看来我必须做如下的事情,但我无法承受长时间关闭集群的费用,所以我需要你们帮忙解决这个问题。顺便说一句,我的 pod 不会创建另一个 pod,因此我只需要几个用户,例如 1/2 用于开发人员,1 个用于 CI。

我正在考虑做一些事情,比如包括授权模式和授权策略文件标志,因为它似乎是必需的,并使不安全绑定(bind)地址本地主机使其仅在本地可用。我错过了什么吗?

    /opt/bin/kube-apiserver --runtime-config=api/v1 --allow-privileged=true \ 
--authorization-mode=ABAC --authorization-policy-file=/access.json \
--insecure-bind-address=127.0.0.1 --insecure-port=8080 \
--secure-port=6443 --etcd-servers=http://127.0.0.1:2379 \
--logtostderr=true --advertise-address=${COREOS_PRIVATE_IPV4} \
--service-cluster-ip-range=10.100.0.0/16 --bind-address=0.0.0.0

###/access.json

{"user":"admin"}
{"user":"wercker"}
{"user":"dev1"}
{"user":"dev2"}

但是密码在哪里?我实际上如何使用 kubectl 和 curl 或 httpie 发出请求?

最佳答案

如果您希望用户使用 HTTP 基本身份验证(用户名:密码)进行身份验证,您可以添加:

--basic-auth-file=/basic_auth.csv

到 kube-apiserver 命令行,其中文件的每一行应为密码、用户名、用户 ID。例如:

@dm1nP@ss,admin,admin
w3rck3rP@ss,wercker,wercker
etc...

如果您希望使用访问 token (HTTP 身份验证:Bearer),您可以指定:

--token-auth-file=/known-tokens.csv

其中每行应为 token 、用户名、用户 ID[、可选组]。例如:

@dm1nT0k3n,admin,admin,adminGroup,devGroup
w3rck3rT0k3n,wercker,wercker,devGroup
etc...

有关更多信息,请查看Authentication docs 。还结账example_policy_file.jsonl示例 ABAC 文件。

关于Kubernetes简单认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35942193/

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