合作机构:阿里云 / 腾讯云 / 亚马逊云 / DreamHost / NameSilo / INWX / GODADDY / 百度统计
今天,我们继续深入 Kubernetes 的世界,探索一些关键但不太显眼的辅助命令,这些命令对于加强集群的安全控制至关重要。我将详细介绍这些工具,它们能够帮助我们更加有效地理解和管理 RBAC 策略,确保我们的 Kubernetes 环境的安全。
在开始之前,我们在集群中创建了一个供开发者使用的命名空间 developer,并配置了必要的资源,这些步骤包括创建命名空间、服务账号、服务账号秘钥(token),以及定义了具体的角色和角色绑定:
# 1. 创建 namespace
kubectl create ns developer
# 2. 创建 ServiceAccount
kubectl -n developer create serviceaccount owner
# 3. 创建服务账号 token 类型的 secret
cat << EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
name: owner-secret
namespace: developer
annotations:
kubernetes.io/service-account.name: owner
type: kubernetes.io/service-account-token
EOF
# 4. 创建角色
kubectl create role Owner \
--resource pods,services,endpoints,secrets \
--verb get,list,watch \
-n developer
# 5. 将这个 Owner 角色的权限授予服务账号 developer:owner
kubectl create rolebinding owner-binding \
--role=Owner \
--serviceaccount=developer:owner \
-n developer
TOP