4.2.4. namespace のラベル付け

CodeReady Workspaces は、CHE_INFRA_KUBERNETES_NAMESPACE_LABELS で定義されるラベルを追加して、ワークスペースの起動時にワークスペースのプロジェクトを更新します。これを実行するには、che ServiceAccout に update および get namespaces に対する以下のようなクラスター全体のパーミッションが必要になります。

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: <cluster-role-name> 1
rules:
  - apiGroups:
      - ""
    resources:
      - namespaces
    verbs:
      - update
      - get
1
クラスターロールの名前
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: <cluster-role-binding-name> 1
subjects:
  - kind: ServiceAccount
    name: <service-account-name> 2
    namespace: <service-accout-namespace> 3
roleRef:
  kind: ClusterRole
  name: <cluster-role-name> 4
  apiGroup: rbac.authorization.k8s.io
1
クラスターロールバインディングの名前
2
che ServiceAccount の名前
3
CodeReady Workspaces インストール namespace
4
直前の手順で作成されたクラスターロールの名前
注記

パーミッションがない場合には、CodeReady Workspaces ワークスペースが起動しなくなり、警告のみがログに記録されます。CodeReady Workspaces ログに警告が表示される場合は、CHE_INFRA_KUBERNETES_NAMESPACE_LABEL=false を定義して機能を無効にすることを検討してください。