16.3.2. クラスターロールの作成
Descheduler が Pod で機能するために必要なパーミッションを設定するには、以下を実行します。
以下のルールで クラスターロール を作成します。
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"]
ジョブを実行するために使用される サービスアカウント を作成します。
# oc create sa <file-name>.yaml -n kube-system
以下に例を示します。
# oc create sa descheduler-sa.yaml -n kube-system
クラスターロールをサービスアカウントにバインドします。
# 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