Venus-K8S配置

Venus的下图界面中:

xx

有2个功能需要调用K8S-API:

  • 获取容器的内存大小
  • 查看 pod-logs

所以在部署Venus时,需要配置相关的K8S-API的访问权限。

有2种方法可以配置访问权限:

  • 在配置服务中添加一个 "Nebula.Venus.kubeconfig" 的文件。
    如果你使用阿里的K8S服务,可以从以下界面中获取:
    xx
    注意:这种方式得到的配置文件有过期问题,请定时续期。

  • 在K8S中配置访问权限,请继续阅读本文剩余部分。





1,创建 Service Account

建议在 Lens 中创建,可参考下图:

xx





2,创建 Cluster Role

建议在 Lens 中创建,可参考下图:

xx

然后修改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 中创建,可参考下图:

xx





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