5.3.2.4.4. 권한 및 RBAC 매니페스트
컨트롤러에서 관리하는 리소스와 상호 작용하려면 특정 RBAC 권한이 필요합니다. 이러한 권한은 다음과 같은 RBAC 마커를 사용하여 지정합니다.
// +kubebuilder:rbac:groups=cache.example.com,resources=memcacheds,verbs=get;list;watch;create;update;patch;delete
// +kubebuilder:rbac:groups=cache.example.com,resources=memcacheds/status,verbs=get;update;patch
// +kubebuilder:rbac:groups=cache.example.com,resources=memcacheds/finalizers,verbs=update
// +kubebuilder:rbac:groups=apps,resources=deployments,verbs=get;list;watch;create;update;patch;delete
// +kubebuilder:rbac:groups=core,resources=pods,verbs=get;list;
func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
...
}
config/rbac/role.yaml의 ClusterRole 오브젝트 매니페스트는 make manifests 명령이 실행될 때마다 controller-gen 유틸리티를 사용하여 이전 마커에서 생성됩니다.