1

是否可以在 AWS EKS 中启用 k8s 基本身份验证?

当 Jenkins 部署在 k8s 之外时,我需要它来使 Jenkins Kubernetes 插件工作。

4

3 回答 3

1

您可以使用服务帐户令牌。
在此处阅读更多信息:https ://kubernetes.io/docs/reference/access-authn-authz/authentication/#service-account-tokens

于 2019-02-05T15:24:32.813 回答
0

如果您需要更多控制,请安装 nginx-ingress,然后告诉它强制执行 HTTP 基本身份验证。

https://kubernetes.github.io/ingress-nginx/examples/auth/basic/

https://aws.amazon.com/blogs/opensource/network-load-balancer-nginx-ingress-controller-eks/

https://www.rfc-editor.org/rfc/rfc7617

于 2021-01-31T13:56:49.780 回答
0

您可以使用服务帐户令牌(作为承载令牌)。

服务帐户不记名令牌完全可以在集群外使用,并可用于为希望与 Kubernetes API 对话的长期作业创建身份。要手动创建服务帐户,只需使用kubectl create serviceaccount (NAME)命令。这会在当前命名空间中创建一个服务帐户和一个关联的机密。

kubectl create serviceaccount jenkins

serviceaccount "jenkins" created

检查关联的秘密:

kubectl get serviceaccounts jenkins -o yaml


apiVersion: v1
kind: ServiceAccount
metadata:
  # ...
secrets:
- name: jenkins-token-1yvwg

创建的密钥包含 API 服务器的公共 CA 和签名的 JSON Web 令牌 (JWT)。

kubectl get secret jenkins-token-1yvwg -o yaml


apiVersion: v1
data:
  ca.crt: (APISERVER'S CA BASE64 ENCODED)
  namespace: ZGVmYXVsdA==
  token: (BEARER TOKEN BASE64 ENCODED)
kind: Secret
metadata:
  # ...
type: kubernetes.io/service-account-token

签名的 JWT 可用作不记名令牌,以作为给定服务帐户进行身份验证。

于 2019-09-17T09:27:21.723 回答