Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

16.3.2. 클러스터 역할 생성

Descheduler가 Pod에서 작동하는 데 필요한 권한을 구성하려면 다음을 수행합니다.

  1. 다음 규칙을 사용하여 클러스터 역할을 생성합니다.

    kind: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1beta1
    metadata:
      name: descheduler-cluster-role
    rules:
    - apiGroups: [""]
      resources: ["nodes"]
      verbs: ["get", "watch", "list"] 1
    - apiGroups: [""]
      resources: ["pods"]
      verbs: ["get", "watch", "list", "delete"] 2
    - apiGroups: [""]
      resources: ["pods/eviction"] 3
      verbs: ["create"]
    1
    노드를 볼 수 있도록 역할을 구성합니다.
    2
    포드를 보고 삭제할 수 있도록 역할을 구성합니다.
    3
    노드에서 자체적으로 바인딩된 포드를 제거할 수 있습니다.
  2. 작업을 실행하는 데 사용할 서비스 계정을 생성합니다.

    # oc create sa <file-name>.yaml -n kube-system

    예를 들면 다음과 같습니다.

    # oc create sa descheduler-sa.yaml -n kube-system
  3. 클러스터 역할을 서비스 계정에 바인딩합니다.

    # oc create clusterrolebinding descheduler-cluster-role-binding \
        --clusterrole=<cluster-role-name> \
        --serviceaccount=kube-system:<service-account-name>

    예를 들면 다음과 같습니다.

    # oc create clusterrolebinding descheduler-cluster-role-binding \
        --clusterrole=descheduler-cluster-role \
        --serviceaccount=kube-system:descheduler-sa