権限について
-
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によりサービス・アカウントに対し必要な権限が付与されます。これらのオブジェクトの作成方法を示す例は、この章の後半に記載されています。