CES*_*SCO 3 digital-ocean coreos kubernetes
我在DigitalOcean上托管的coreOs集群上使用KUbernetes.并使用此 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
问题是它接受任何人的请求!我希望能够提供简单的用户/密码身份验证.我一直在读这个和这个似乎我必须做类似下面的事情,但是我不能长时间地关闭集群,所以我需要你的帮助这个.Btw,mt pods不要创建另一个pod,所以我只需要一些用户,比如1/2 for devs和1 for CI.
我正在考虑做一些类似于包括授权模式和授权策略文件标志的东西,因为它似乎需要并使insecure-bind-address localhost使其仅在本地可用.我错过了什么?
/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
{"user":"admin"}
{"user":"wercker"}
{"user":"dev1"}
{"user":"dev2"}
但是密码在哪里?如何使用kubectl和curl或httpie实际发出请求?
CJ *_*len 11
如果您希望用户使用HTTP Basic Auth(用户:密码)进行身份验证,您可以添加:
--basic-auth-file=/basic_auth.csv
Run Code Online (Sandbox Code Playgroud)
到你的kube-apiserver命令行,文件的每一行应该是password, user-name, user-id.例如:
@dm1nP@ss,admin,admin
w3rck3rP@ss,wercker,wercker
etc...
Run Code Online (Sandbox Code Playgroud)
如果您更愿意使用访问令牌(HTTP身份验证:承载),您可以指定:
--token-auth-file=/known-tokens.csv
Run Code Online (Sandbox Code Playgroud)
每行应该在哪里token,user-name,user-id[,optional groups].例如:
@dm1nT0k3n,admin,admin,adminGroup,devGroup
w3rck3rT0k3n,wercker,wercker,devGroup
etc...
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请查看身份验证文档.另请查看example_policy_file.jsonl以获取示例ABAC文件.
| 归档时间: |
|
| 查看次数: |
7380 次 |
| 最近记录: |