RBAC 생성

Kubernetes 리소스에 접근하기 위한 Role을 설정 한다.

1. 02.rbac/rbac.sh

bxcm-install-gen.sh Shell에 의해 생성되어진 설치 yaml 파일의 변경 사항이 없는 경우에는 rbac.sh 을 이용하여 한번에 생성할 수 있다.

다음은 rbac.sh Shell을 실행한 예이다.

            02.rbac$ sh rbac.sh
            ####################################################################################
            # [rbac] start
            ####################################################################################

            >> kubectl apply -f bxframework-rbac.yaml
            clusterrole.rbac.authorization.k8s.io/app-read-role-bxcm created
            clusterrolebinding.rbac.authorization.k8s.io/app-read-rolebinding-bxcm created
            >> kubectl apply -f lra-rbac.yaml
            clusterrole.rbac.authorization.k8s.io/lra-coordinator-leader-elector created
            clusterrolebinding.rbac.authorization.k8s.io/lra-coordinator-leader-elector created

            ####################################################################################
            # [rbac] end
            ####################################################################################
  1. kubectl command를 이용하여 rbac을 생성 한다.

    • 프레임워크 rbac (bxframework-rbac.yaml) 생성

                              apiVersion: rbac.authorization.k8s.io/v1
                              kind: ClusterRole
                              metadata:
                                name: app-read-role-bxcm
                                namespace: bxcm
                              rules:
                              - apiGroups: ["extensions", "apps", ""]
                                resources: ["namespaces", "pods", "endpoints", "services", "configmaps", "secrets"]
                                verbs: ["get", "list", "watch"]
                              - apiGroups: ["batch", "extensions"]
                                resources: ["jobs"]
                                verbs: ["get", "list", "watch", "create", "delete"]
                              ---
                              apiVersion: rbac.authorization.k8s.io/v1
                              kind: ClusterRoleBinding
                              metadata:
                                name: app-read-rolebinding-bxcm
                                namespace: bxcm
                              subjects:
                              - kind: ServiceAccount
                                name: default
                                namespace: bxcm
                              roleRef:
                                kind: ClusterRole
                                name: app-read-role-bxcm
                                apiGroup: rbac.authorization.k8s.io

      Kubernetes 적용 방법

      kubectl apply -f bxframework-rbac.yaml
    • LRA rbac (lra-rbac.yaml) 생성

                              kind: ClusterRole
                              apiVersion: rbac.authorization.k8s.io/v1
                              metadata:
                                name: lra-coordinator-leader-elector
                                namespace: bxcm
                              rules:
                              - apiGroups:
                                - ""
                                resources: ["endpoints", "configmaps"]
                                verbs:
                                - "*"
                              ---
                              kind: ClusterRoleBinding
                              apiVersion: rbac.authorization.k8s.io/v1
                              metadata:
                                name: lra-coordinator-leader-elector
                                namespace: bxcm
                              subjects:
                              - kind: ServiceAccount
                                name: lra-leader-elector
                                namespace: bxcm
                                apiGroup: ""
                              roleRef:
                                kind: ClusterRole
                                name: lra-coordinator-leader-elector
                                apiGroup: ""

      Kubernetes 적용 방법

      kubectl apply -f lra-rbac.yaml

RBAC을 다 생성하였다면 아래 Command를 통하여 확인 할 수 있다.

        02.rbac$ kubectl get ClusterRole app-read-role-bxcm lra-coordinator-leader-elector
        NAME                             CREATED AT
        app-read-role-bxcm               2023-11-29T01:45:27Z
        lra-coordinator-leader-elector   2023-11-29T01:45:28Z

        02.rbac$ kubectl get ClusterRoleBinding app-read-rolebinding-bxcm lra-coordinator-leader-elector
        NAME                             ROLE                                         AGE
        app-read-rolebinding-bxcm        ClusterRole/app-read-role-bxcm               4m28s
        lra-coordinator-leader-elector   ClusterRole/lra-coordinator-leader-elector   4m27s
SWLab Bankware Global
  • 전체
  • BXM
  • BXCM
  • BXCP
  • BXI
제품 선택 시 더 정확한 매뉴얼 가이드를 제공해드립니다.

Copyright© Bankwareglobal All Rights Reserved.