为加强内部运维权限管控,现在内网搭建jumpserver用于权限管理,操作记录追踪,现将K8S管理纳入堡垒机。
步骤如下:
1.添加K8S集群管理权限的SA,并且绑定cluster-admin角色
2.获取token
3.jumpserver添加K8S集群
4.jumpserver绑定应用权限
具体操作如下:
1.创建jumpserver-admin.yaml文件如下
apiVersion: v1
kind: ServiceAccount
metadata:
name: jumpserver-admin
namespace: kube-system
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: jumpserver-admin
subjects:
- kind: ServiceAccount
name: jumpserver-admin
namespace: kube-system
roleRef:
kind: ClusterRole
name: cluster-admin #此处绑定集群管理员权限,正常不应该绑定如此大的权限
apiGroup: rbac.authorization.k8s.io
应用yaml文件创建jumpserver-admin账号,同时绑定cluster-admin角色
kubectl apply -f jumpserver-admin.yaml
2.获取jumpserver-admin的token
kubectl get sa jumpserver-admin -nkube-system -o jsonpath="{.secrets[0].name}"
#返回
jumpserver-admin-token-hcz7d
#接下来获取token,token还需要经过base64加密
kubectl get secret jumpserver-admin-token-hcz7d -nkube-system -o jsonpath="{.data.token}"|base64 -d
#这个时候返回一串token记录下来
3.创建K8S集群地址,选择“视图”---“控制台”---“应用管理”---“kubernetes”---“创建”
填写集群“名称”,集群地址我K8S master的地址是192.168.0.1,协议是https,端口是6443
4.添加集群系统用户,选择kubernetes,然后填写上面的token
5.创建应用授权
6.测试,选择对用组内的用户进行测试