第一步、在kubernetes集群中获取一个永久的token。
jumpserver堡垒机用api的来管理kubernetes,所以需要kubernetes的token,这个token还需要是一个永久的token,版本变更:Kubernetes 1.24基于安全方面的考虑(特性门控LegacyServiceAccountTokenNoAutoGeneration默认启用),Secret API将不会为ServiceAccount自动创建Secret对象存放Token信息,需要使用TokenRequest API来获取ServiceAccount的Token。该Token具备过期时间,更加安全。如果一定需要创建一个永不过期的Token, 请参见service-account-token-secrets。
先决条件:
先找一台可以输入kubectl的命令的主机。
任意目录创建一个文件名称为 test-token.yaml
大概含义:为 my-service-account ServiceAccount 创建了一个绑定到 cluster-admin ClusterRole 的 ClusterRoleBinding。
apiVersion: v1
kind: ServiceAccount
metadata:name: my-service-account
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: my-cluster-admin-binding
subjects:
- kind: ServiceAccountname: my-service-accountnamespace: default
roleRef:kind: ClusterRolename: cluster-adminapiGroup: rbac.authorization.k8s.io
# 执行部署
kubectl apply -f test-token.yaml# 获取永久token
kubectl get secret my-service-account-token -o jsonpath='{.data.token}' -n default | base64 --decode eyJhbGciRTdpRTlVY2JPX09IdTg2dXZRTjFldGFlQzNPZ0M2OUxoNnAzVFEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3B################################
第二步、在jumpserver页面中添加kubernetes应用。
1、应用管理添加应用。2、资产管理系统用户。3、创建应用授权。
视图-->控制台-->应用管理-->kubernetes-->创建
这里输入名称test ,集群api地址(这里需要注意端口号,不要被这里误导了)
资产管理-->系统用户-->创建-->kubernetes (输入token)
这里最重要的地方复制token到这里(这里不要填写kubeconfig凭证)
创建应用授权
授权人员和组
测试连接
选择刚添加的k8s应用输入命令测试是否可以运行
至此kubernetes应用已添加到jumpserver里管理。