Venus-K8S配置
Venus的下图界面中:
有2个功能需要调用K8S-API:
- 获取容器的内存大小
- 查看 pod-logs
所以在部署Venus时,需要配置相关的K8S-API的访问权限。
有2种方法可以配置访问权限:
-
在配置服务中添加一个 "Nebula.Venus.kubeconfig" 的文件。
如果你使用阿里的K8S服务,可以从以下界面中获取:
注意:这种方式得到的配置文件有过期问题,请定时续期。 -
在K8S中配置访问权限,请继续阅读本文剩余部分。
1,创建 Service Account
建议在 Lens 中创建,可参考下图:
2,创建 Cluster Role
建议在 Lens 中创建,可参考下图:
然后修改YAML配置,可参考:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: nebula-venus-monitor-rule
selfLink: /apis/rbac.authorization.k8s.io/v1/clusterroles/nebula-venus-monitor-rule
rules:
- verbs:
- get
- watch
- list
apiGroups:
- '*'
resources:
- '*'
3,创建 Cluster Role Binding
建议在 Lens 中创建,可参考下图:
4,修改 Venus 的部署YAML,引用serviceAccount
可参考
apiVersion: apps/v1
kind: Deployment
spec:
template:
metadata:
labels:
app: nebulavenus
spec:
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: nebula-venus-monitor
serviceAccountName: nebula-venus-monitor
5,开启配置开关
Venus_K8sApi_Enable=1