[英]Adding authentication proxy in front of kubernetes
我在kubernetes API之前添加了一個代理,以便使用自制的身份驗證系統對用戶進行身份驗證(以及其他操作)。
我已經修改了kube配置,使kubectl達到了代理。 代理具有自己的kubeconfig以及有效的證書頒發機構數據,因此我不需要任何憑證。
到目前為止,一切正常,這是我在本地需要的最低配置:
clusters:
- cluster:
server: http://localhost:8080
name: proxy
contexts:
- context:
cluster: proxy
name: proxy
current-context: proxy
現在,身份驗證應該基於令牌,我希望我能夠將其作為kubectl請求標頭的一部分進行傳遞。
我嘗試了多種配置,在kubeconfig中添加了一個帶有令牌的用戶,例如
clusters:
- cluster:
server: http://localhost:8080
name: proxy
contexts:
- context:
cluster: proxy
user: robin
name: proxy
current-context: proxy
users:
- name: robin
user:
token: my-token
或指定一個auth-provider,例如
clusters:
- cluster:
server: http://localhost:8080
name: proxy
contexts:
- context:
cluster: proxy
user: robin
name: proxy
current-context: proxy
users:
- name: robin
user:
auth-provider:
config:
access-token: my-token
我什至嘗試不使用任何用戶,只是將令牌添加為首選項的一部分,因為我想要的只是在標題中包含令牌
clusters:
- cluster:
server: http://localhost:8080
name: proxy
contexts:
- context:
cluster: proxy
name: proxy
current-context: proxy
preferences:
token: my-token
但是我從來沒有看到我的令牌作為代理端的請求標頭的一部分。 傾銷請求,我得到的只是:
GET /api/v1/namespaces/default/pods?limit=500 HTTP/1.1
Host: localhost:8080
Accept: application/json;as=Table;v=v1beta1;g=meta.k8s.io, application/json
Accept-Encoding: gzip
User-Agent: kubectl/v1.11.0 (darwin/amd64) kubernetes/91e7b4f
我顯然在這里丟失了一些東西,kubectl如何不能在其標頭中傳遞用戶信息? 假設我沒有代理,“ kubectl-> kubernetes”令牌身份驗證如何工作?
如果有人在kubernetes和客戶端之間添加這種身份驗證層有任何經驗,我可以使用一些幫助:)
令牌憑證僅通過TLS保護的連接發送。 服務器必須為https:// ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.