• Русский
  • Автоматическое создание необходимых RBAC-ресурсов

    Alauda Build of OpenTelemetry v2 Operator автоматически создает необходимые ресурсы RBAC на уровне кластера, когда некоторым компонентам Collector требуется доступ к ресурсам Kubernetes во всем кластере. Для некоторых компонентов, таких как processor k8sattributes или receiver k8sobjects, требуются дополнительные разрешения RBAC сверх стандартной области действия Operator.

    Автоматическое создание RBAC

    Operator может автоматически создавать необходимые ресурсы ClusterRole и ClusterRoleBinding, когда конфигурация OpenTelemetry Collector включает компоненты, которым требуется доступ на уровне всего кластера.

    NOTE

    Чтобы включить возможность автоматического создания RBAC, необходимо выполнить шаги, описанные в разделе Procedure ниже, чтобы предоставить Operator необходимые разрешения для управления ресурсами RBAC на уровне кластера.

    Ниже приведены примеры компонентов, которым обычно требуются дополнительные разрешения RBAC:

    • k8sattributes processor: Требуются разрешения для запроса ресурсов Pod, Namespace, Node, ReplicaSet и Deployment, чтобы обогащать данные телеметрии метаданными Kubernetes.
    • k8sobjects receiver: Требуются разрешения для отслеживания и получения списка ресурсов Kubernetes, таких как Events, Pods и Nodes.
    • kubeletstats receiver: Требуются разрешения для доступа к конечным точкам kubelet, чтобы получать метрики узлов и Pod.
    • resourcedetection processor: Требуются разрешения для доступа к ресурсам Node при обнаружении ресурсов.

    Procedure

    1. Создайте ClusterRole:

      kubectl apply -f - <<EOF
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: generate-processors-rbac
      rules:
      - apiGroups:
        - rbac.authorization.k8s.io
        resources:
        - clusterrolebindings
        - clusterroles
        verbs:
        - create
        - delete
        - get
        - list
        - patch
        - update
        - watch
      EOF
    2. Создайте ClusterRoleBinding:

      kubectl apply -f - <<EOF
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: generate-processors-rbac
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: generate-processors-rbac
      subjects:
      - kind: ServiceAccount
        name: opentelemetry-operator-controller-manager
        namespace: opentelemetry-operator2
      EOF
    3. (Необязательно) Перезапустите Alauda Build of OpenTelemetry v2 Operator, чтобы он подхватил новые разрешения RBAC:

      TIP

      Этот шаг требуется только в том случае, если Operator уже был запущен до того, как вы создали ClusterRole и ClusterRoleBinding. Если вы создали их до установки Operator, этот шаг можно пропустить.

      kubectl delete pod -n opentelemetry-operator2 -l app.kubernetes.io/name=opentelemetry-operator