24.3. AWS Load Balancer Operator のインストール

AWS Load Balancer Operator は、AWS Load Balancer Controller をデプロイおよび管理します。OpenShift Container Platform Web コンソールまたは CLI を使用して、OperatorHub から AWS Load Balancer Operator をインストールできます。

24.3.1. Web コンソールを使用した AWS Load Balancer Operator のインストール

Web コンソールを使用して、AWS Load Balancer Operator をインストールできます。

前提条件

  • cluster-admin パーミッションのあるユーザーとして OpenShift Container Platform Web コンソールにログインしていること。
  • クラスターのプラットフォームタイプとクラウドプロバイダーが AWS に設定されている。
  • セキュリティートークンサービス (STS) または user-provisioned infrastructure を使用している場合は、関連する準備手順に従います。たとえば、AWS Security Token Service を使用している場合は、"AWS Security Token Service (STS) を使用してクラスター上で AWS Load Balancer Operator を準備する" を参照してください。

手順

  1. OpenShift Container Platform Web コンソールで、OperatorsOperatorHub に移動します。
  2. AWS Load Balancer Operator を選択します。Filter by keyword テキストボックスを使用するか、フィルターリストを使用して、Operator のリストから AWS Load Balancer Operator を検索できます。
  3. aws-load-balancer-operator namespace を選択します。
  4. Install Operator ページで、次のオプションを選択します。

    1. Update the channelstable-v1 を選択します。
    2. Installation modeAll namespaces on the cluster (default) を選択します。
    3. Installed Namespaceaws-load-balancer-operator を選択します。aws-load-balancer-operator namespace が存在しない場合は、Operator のインストール中に作成されます。
    4. Update approvalAutomatic または Manual を選択します。デフォルトでは、Update approvalAutomatic に設定されています。Automatic (自動) 更新を選択した場合、Operator Lifecycle Manager (OLM) は介入なしに、Operator の実行中のインスタンスを自動的にアップグレードします。手動更新を選択した場合、OLM は更新要求を作成します。クラスター管理者は、Operator を新規バージョンに更新できるように更新要求を手動で承認する必要があります。
  5. Install をクリックします。

検証

  • AWS Load Balancer Operator で、インストール済み Operator ダッシュボードの StatusSucceeded と表示されることを確認します。

24.3.2. CLI を使用した AWS Load Balancer Operator のインストール

CLI を使用して AWS Load Balancer Operator をインストールできます。

前提条件

  • cluster-admin 権限を持つユーザーとして OpenShift Container Platform Web コンソールにログインしている。
  • クラスターのプラットフォームタイプとクラウドプロバイダーが AWS に設定されている。
  • OpenShift CLI (oc) にログイン済みである。

手順

  1. Namespace オブジェクトを作成します。

    1. Namespace オブジェクトを定義する YAML ファイルを作成します。

      namespace.yaml ファイルの例

      apiVersion: v1
      kind: Namespace
      metadata:
        name: aws-load-balancer-operator

    2. 次のコマンドを実行して、Namespace オブジェクトを作成します。

      $ oc apply -f namespace.yaml
  2. CredentialsRequest オブジェクトを作成します。

    1. CredentialsRequest オブジェクトを定義する YAML ファイルを作成します。

      credentialsrequest.yaml ファイルの例

      apiVersion: cloudcredential.openshift.io/v1
      kind: CredentialsRequest
      metadata:
        name: aws-load-balancer-operator
        namespace: openshift-cloud-credential-operator
      spec:
        providerSpec:
          apiVersion: cloudcredential.openshift.io/v1
          kind: AWSProviderSpec
          statementEntries:
            - action:
                - ec2:DescribeSubnets
              effect: Allow
              resource: "*"
            - action:
                - ec2:CreateTags
                - ec2:DeleteTags
              effect: Allow
              resource: arn:aws:ec2:*:*:subnet/*
            - action:
                - ec2:DescribeVpcs
              effect: Allow
              resource: "*"
        secretRef:
          name: aws-load-balancer-operator
          namespace: aws-load-balancer-operator
        serviceAccountNames:
          - aws-load-balancer-operator-controller-manager

    2. 次のコマンドを実行して、CredentialsRequest オブジェクトを作成します。

      $ oc apply -f credentialsrequest.yaml
  3. OperatorGroup オブジェクトを作成します。

    1. OperatorGroup オブジェクトを定義する YAML ファイルを作成します。

      operatorgroup.yaml ファイルの例

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: aws-lb-operatorgroup
        namespace: aws-load-balancer-operator
      spec:
        upgradeStrategy: Default

    2. 以下のコマンドを実行して OperatorGroup オブジェクトを作成します。

      $ oc apply -f operatorgroup.yaml
  4. Subscription オブジェクトを作成します。

    1. Subscription オブジェクトを定義する YAML ファイルを作成します。

      subscription.yaml ファイルの例

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: aws-load-balancer-operator
        namespace: aws-load-balancer-operator
      spec:
        channel: stable-v1
        installPlanApproval: Automatic
        name: aws-load-balancer-operator
        source: redhat-operators
        sourceNamespace: openshift-marketplace

    2. 以下のコマンドを実行して Subscription オブジェクトを作成します。

      $ oc apply -f subscription.yaml

検証

  1. サブスクリプションからインストールプランの名前を取得します。

    $ oc -n aws-load-balancer-operator \
        get subscription aws-load-balancer-operator \
        --template='{{.status.installplan.name}}{{"\n"}}'
  2. インストールプランのステータスを確認します。

    $ oc -n aws-load-balancer-operator \
        get ip <install_plan_name> \
        --template='{{.status.phase}}{{"\n"}}'

    出力は Complete でなければなりません。