|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
授权集群端点的工作原理
本节描述了kubectl CLI、kubeconfig文件和授权集群端点如何协同工作,以便您可以直接访问下游Kubernetes集群,而无需通过Rancher服务器进行身份验证。此内容旨在为如何设置kubectl以直接访问集群的说明提供背景信息和上下文。
关于Kubeconfig文件
kubeconfig文件用于配置与kubectl命令行工具(或其他客户端)一起使用时对Kubernetes的访问。
kubeconfig文件及其内容是特定于每个集群的。它可以从Rancher中的*Clusters*页面下载:
-
点击左上角的 ☰。
-
选择*集群管理*。
-
找到您想要下载kubeconfig的集群,并在该行末尾选择*⁝*。
-
从子菜单中选择*下载KubeConfig*。
您需要为在Rancher中访问的每个集群准备一个单独的kubeconfig文件。
下载kubeconfig文件后,您可以使用该文件及其Kubernetes contexts来访问您的下游集群。
如果管理员已关闭kubeconfig词元生成,则kubeconfig文件要求Rancher CLI在您的路径中存在。
关于kube-api-auth身份验证Webhook
`kube-api-auth`微服务被部署以提供授权集群端点的用户身份验证功能。当您使用`kubectl`访问用户集群时,集群的Kubernetes API服务器通过将`kube-api-auth`服务作为Webhook进行身份验证。
在集群配置期间,文件`/etc/kubernetes/kube-api-authn-webhook.yaml`被部署,并且`kube-apiserver`与`--authentication-token-webhook-config-file=/etc/kubernetes/kube-api-authn-webhook.yaml`一起配置。这将配置`kube-apiserver`以查询`http://127.0.0.1:6440/v1/authenticate`以确定承载词元的身份验证。
`kube-api-auth`的调度规则如下所示:
| 组件 | nodeAffinity nodeSelectorTerms | nodeSelector | 容忍 |
|---|---|---|---|
kube-api-auth |
|
none |
|