K8s 用户案例1:为开发人员配置访问权限

1. 创建用户证书

首先,为开发人员创建一个用户证书,以便他们能够通过 kubectl 访问 Kubernetes 集群。

# 生成用户(客户端)私钥
openssl genrsa -out developer.key 2048

# 生成证书签名请求(CSR)
openssl req -new -key developer.key -out developer.csr -subj "/CN=developer/O=dev-team"

# 通过 Kubernetes CA 签署证书
openssl x509 -req -in developer.csr -CA /etc/kubernetes/pki/ca.crt -CAkey /etc/kubernetes/pki/ca.key -CAcreateserial -out developer.crt -days 365

验证证书

验证客户端证书是否由 CA 签署:

openssl verify -CAfile ca.crt client.crt

使用 kubeconfig 文件连接 Kubernetes 集群

将上述生成的证书和密钥路径填入 kubeconfig 文件后,可以使用 kubectl 命令连接到 Kubernetes 集群:

kubectl get nodes --kubeconfig=/path/to/kubeconfig

2. 配置 kubeconfig 文件

为开发人员配置 kubeconfig 文件,使他们可以使用 kubectl 连接到集群。

3. 创建 Role 和 RoleBinding

为开发人员创建一个 Role,赋予在特定命名空间中管理 Pods 的权限,并通过 RoleBinding 将这个 Role 绑定到开发人员的身份上。

role.yaml

rolebinding.yaml

通过 kubectl 应用这些配置:

4. 验证

使用 kubeconfig 文件连接 Kubernetes 集群

Last updated