1.2. AWS Load Balancer Operator 설치


OpenShift CLI(oc)를 사용하여 AWS Load Balancer Operator를 설치할 수 있습니다. 환경 설정에 사용한 것과 동일한 터미널 세션을 사용하여 환경 변수를 사용하도록 AWS Load Balancer Operator를 설치합니다.

프로세스

  1. AWS Load Balancer Operator에 대한 클러스터 내에 새 프로젝트를 생성합니다.

    $ oc new-project aws-load-balancer-operator
  2. AWS Load Balancer Operator에 대한 AWS IAM 정책을 생성합니다.

    1. 적절한 IAM 정책을 다운로드합니다.

      $ curl -o ${SCRATCH}/operator-permission-policy.json https://raw.githubusercontent.com/openshift/aws-load-balancer-operator/refs/heads/main/hack/operator-permission-policy.json
    2. Operator에 대한 권한 정책을 생성합니다.

      $ aws iam create-policy \
              --policy-name aws-load-balancer-operator-policy \
              --policy-document file://${SCRATCH}/operator-permission-policy.json \
              --region ${REGION}

      출력에서 Operator 정책 ARN을 기록해 둡니다. 이 프로세스를 $OPERATOR_POLICY_ARN 이라고 합니다.

  3. AWS Load Balancer Operator에 대한 AWS IAM 역할을 생성합니다.

    1. Operator 역할에 대한 신뢰 정책을 생성합니다.

      $ cat <<EOF > "${SCRATCH}/operator-trust-policy.json"
      {
       "Version": "2012-10-17",
       "Statement": [
       {
       "Effect": "Allow",
       "Condition": {
         "StringEquals" : {
           "${OIDC_ENDPOINT}:sub": ["system:serviceaccount:aws-load-balancer-operator:aws-load-balancer-operator-controller-manager", "system:serviceaccount:aws-load-balancer-operator:aws-load-balancer-controller-cluster"]
         }
       },
       "Principal": {
         "Federated": "arn:aws:iam::${AWS_ACCOUNT_ID}:oidc-provider/${OIDC_ENDPOINT}"
       },
       "Action": "sts:AssumeRoleWithWebIdentity"
       }
       ]
      }
      EOF
    2. 신뢰 정책을 사용하여 Operator 역할을 생성합니다.

      $ aws iam create-role --role-name "${CLUSTER_NAME}-alb-operator" \
          --assume-role-policy-document "file://${SCRATCH}/operator-trust-policy.json"

      출력에서 Operator 역할 ARN을 기록해 둡니다. 이 프로세스를 나머지 프로세스에 대해 $OPERATOR_ROLE_ARN 이라고 합니다.

    3. Operator 역할 및 정책을 연결합니다.

      $ aws iam attach-role-policy --role-name "${CLUSTER_NAME}-alb-operator" \
          --policy-arn $OPERATOR_POLICY_ARN
  4. OperatorGroupSubscription 을 생성하여 AWS Load Balancer Operator를 설치합니다.

    $ cat <<EOF | oc apply -f -
    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: aws-load-balancer-operator
      namespace: aws-load-balancer-operator
    spec:
      targetNamespaces: []
    ---
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: aws-load-balancer-operator
      namespace: aws-load-balancer-operator
    spec:
      channel: stable-v1
      name: aws-load-balancer-operator
      source: redhat-operators
      sourceNamespace: openshift-marketplace
      config:
        env:
        - name: ROLEARN
          value: "${OPERATOR_ROLE_ARN}"
    EOF
  5. AWS Load Balancer Controller에 대한 AWS IAM 정책을 생성합니다.

    1. 적절한 IAM 정책을 다운로드합니다.

      $ curl -o ${SCRATCH}/controller-permission-policy.json https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.12.0/docs/install/iam_policy.json
    2. 컨트롤러에 대한 권한 정책을 생성합니다.

      $ aws iam create-policy \
          --region ${REGION} \
          --policy-name aws-load-balancer-controller-policy \
          --policy-document file://${SCRATCH}/controller-permission-policy.json

      출력에서 컨트롤러 정책 ARN을 기록해 둡니다. 이 프로세스를 $CONTROLLER_POLICY_ARN 이라고 합니다.

  6. AWS Load Balancer Controller에 대한 AWS IAM 역할을 생성합니다.

    1. Controller 역할에 대한 신뢰 정책을 생성합니다.

      $ cat <<EOF > ${SCRATCH}/controller-trust-policy.json
      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
                "Federated": "arn:aws:iam::${AWS_ACCOUNT_ID}:oidc-provider/${OIDC_ENDPOINT}"
              },
              "Action": "sts:AssumeRoleWithWebIdentity",
              "Condition": {
                "StringEquals": {
                  "${OIDC_ENDPOINT}:sub": "system:serviceaccount:aws-load-balancer-operator:aws-load-balancer-controller-cluster"
                  }
              }
            }
          ]
        }
      EOF
    2. 신뢰 정책을 사용하여 Controller 역할을 생성합니다.

      CONTROLLER_ROLE_ARN=$(aws iam create-role --role-name "${CLUSTER_NAME}-albo-controller" \ --assume-role-policy-document "file://${SCRATCH}/controller-trust-policy.json" \ --query Role.Arn --output text) echo ${CONTROLLER_ROLE_ARN}

      출력에서 Controller 역할 ARN을 기록해 둡니다. 이 프로세스를 $CONTROLLER_ROLE_ARN 이라고 합니다.

    3. 컨트롤러 역할 및 정책을 연결합니다.

      $ aws iam attach-role-policy \
          --role-name "${CLUSTER_NAME}-albo-controller" \
          --policy-arn ${CONTROLLER_POLICY_ARN}
  7. AWS Load Balancer 컨트롤러 인스턴스를 배포합니다.

    $ cat << EOF | oc apply -f -
    apiVersion: networking.olm.openshift.io/v1
    kind: AWSLoadBalancerController
    metadata:
     name: cluster
    spec:
     credentialsRequestConfig:
       stsIAMRoleARN: ${CONTROLLER_ROLE_ARN}
    EOF
    참고

    여기에서 오류가 발생하면 1분 정도 기다린 후 다시 시도하면 Operator가 아직 설치를 완료하지 않은 것입니다.

  8. Operator 및 컨트롤러 Pod가 둘 다 실행 중인지 확인합니다.

    $ oc -n aws-load-balancer-operator get pods

    다음과 유사한 출력이 표시되지 않으면 잠시 기다렸다가 다시 시도하십시오.

    출력 예

    NAME                                                             READY   STATUS    RESTARTS   AGE
    aws-load-balancer-controller-cluster-6ddf658785-pdp5d            1/1     Running   0          99s
    aws-load-balancer-operator-controller-manager-577d9ffcb9-w6zqn   2/2     Running   0          2m4s

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동