権限について
-
TimesTenオペレータがネームスペーススコープのクラスタ内のネームスペースで実行される場合、必要になるのはインストールしたネームスペース内の権限のみです。TimesTenオペレータはクラスタ内の他のネームスペースの権限を必要としません。
-
TimesTenオペレータがクラスタスコープのクラスタ内の
timesten-operator
ネームスペースで実行される場合、オペレータが実行されるネームスペース内およびクラスタ内のすべてのネームスペース内の権限が必要です。
Kubernetesは、RoleおよびRoleBindingを使用して単一のネームスペース内の権限を指定し、ClusterRoleおよびClusterRoleBindingを使用してすべてのネームスペースにわたる権限を指定します。KubernetesのRole、RoleBinding、ClusterRoleおよびClusterRoleBindingの詳細は、Kubernetesドキュメントのhttps://kubernetes.io/docs/reference/access-authn-authz/rbac/を参照してください。
TimesTenオペレータがネームスペーススコープで実行される場合、オペレータが機能するにはRoleおよびRoleBindingが必要になります。具体的には、ネームスペーススコープのネームスペースにTimesTenオペレータをインストールした場合、このネームスペースにtimesten-operator
というServiceAccountが作成されます。さらにRoleBindingが作成されて、これによりtimesten-operator
サービス・アカウントに対し必要な権限が付与されます。これらの権限は、timesten-operator
ロールで定義されます。
-
timesten-operator
と呼ばれるClusterRole: TimesTenオペレータがクラスタ内の各ネームスペースで必要とする権限を定義します。 -
timesten-operator
というClusterRoleBinding:timesten-operator
ネームスペースのtimesten-operator
サービス・アカウントに、timesten-operator
クラスタ・ロール内の権限を付与します。 -
ネームスペース
timesten-operator
: TimesTenオペレータが実行されるネームスペースです。このネームスペースは構成不可です。このネームスペースでは、次のオブジェクトが作成されます:-
timesten-operator
というServiceAccount: TimesTenオペレータは、このサービス・アカウントの権限で実行されます。 -
timesten-operator
というRole: TimesTenオペレータがtimesten-operator
ネームスペースで必要とする権限を定義します。 -
timesten-operator
というRoleBinding:timesten-operator
ネームスペースのtimesten-operator
サービス・アカウントに、timesten-operator
ロール内の権限を付与します。
-
つまり、ネームスペーススコープのクラスタ内のネームスペースにTimesTenオペレータをインストールした場合、そのネームスペースにtimesten-operator
というServiceAccountが作成されます。さらに、RoleBindingによりサービス・アカウントに対し必要な権限が付与されます。一方、クラスタスコープのクラスタにTimesTenオペレータをインストールすると、timesten-operator
ネームスペースが作成されます。また、このtimesten-operator
ネームスペースにServiceAccountが作成され、RoleBindingおよびClusterRoleBindingによりサービス・アカウントに対し必要な権限が付与されます。これらのオブジェクトの作成方法を示す例は、この章の後半に記載されています。