2.5. AWS Load Balancer Operator の設定
2.5.1. クラスター全体のプロキシーの認証局を信頼する
					AWS Load Balancer Operator でクラスター全体のプロキシーを設定できます。クラスター全体のプロキシーを設定すると、Operator Lifecycle Manager (OLM) が、HTTP_PROXY、HTTPS_PROXY、NO_PROXY などの環境変数を使用して、Operator のすべてのデプロイメントを自動的に更新します。これらの変数は、AWS Load Balancer Operator によってマネージドコントローラーに入力されます。
				
- 次のコマンドを実行して、 - aws-load-balancer-operatornamespace に認証局 (CA) バンドルを含める config map を作成します。- oc -n aws-load-balancer-operator create configmap trusted-ca - $ oc -n aws-load-balancer-operator create configmap trusted-ca- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 信頼できる CA バンドルを config map に挿入するには、次のコマンドを実行して、 - config.openshift.io/inject-trusted-cabundle=trueラベルを config map に追加します。- oc -n aws-load-balancer-operator label cm trusted-ca config.openshift.io/inject-trusted-cabundle=true - $ oc -n aws-load-balancer-operator label cm trusted-ca config.openshift.io/inject-trusted-cabundle=true- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、AWS Load Balancer Operator デプロイメントの config map にアクセスできるように AWS Load Balancer Operator サブスクリプションを更新します。 - oc -n aws-load-balancer-operator patch subscription aws-load-balancer-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"TRUSTED_CA_CONFIGMAP_NAME","value":"trusted-ca"}],"volumes":[{"name":"trusted-ca","configMap":{"name":"trusted-ca"}}],"volumeMounts":[{"name":"trusted-ca","mountPath":"/etc/pki/tls/certs/albo-tls-ca-bundle.crt","subPath":"ca-bundle.crt"}]}}}'- $ oc -n aws-load-balancer-operator patch subscription aws-load-balancer-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"TRUSTED_CA_CONFIGMAP_NAME","value":"trusted-ca"}],"volumes":[{"name":"trusted-ca","configMap":{"name":"trusted-ca"}}],"volumeMounts":[{"name":"trusted-ca","mountPath":"/etc/pki/tls/certs/albo-tls-ca-bundle.crt","subPath":"ca-bundle.crt"}]}}}'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- AWS Load Balancer Operator がデプロイされたら、次のコマンドを実行して、CA バンドルが - aws-load-balancer-operator-controller-managerデプロイメントに追加されていることを確認します。- oc -n aws-load-balancer-operator exec deploy/aws-load-balancer-operator-controller-manager -c manager -- bash -c "ls -l /etc/pki/tls/certs/albo-tls-ca-bundle.crt; printenv TRUSTED_CA_CONFIGMAP_NAME" - $ oc -n aws-load-balancer-operator exec deploy/aws-load-balancer-operator-controller-manager -c manager -- bash -c "ls -l /etc/pki/tls/certs/albo-tls-ca-bundle.crt; printenv TRUSTED_CA_CONFIGMAP_NAME"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - -rw-r--r--. 1 root 1000690000 5875 Jan 11 12:25 /etc/pki/tls/certs/albo-tls-ca-bundle.crt trusted-ca - -rw-r--r--. 1 root 1000690000 5875 Jan 11 12:25 /etc/pki/tls/certs/albo-tls-ca-bundle.crt trusted-ca- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- オプション: config-map が変更されるたびに、次のコマンドを実行して、AWS Load Balancer Operator のデプロイを再開します。 - oc -n aws-load-balancer-operator rollout restart deployment/aws-load-balancer-operator-controller-manager - $ oc -n aws-load-balancer-operator rollout restart deployment/aws-load-balancer-operator-controller-manager- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
2.5.2. AWS Load Balancer への TLS Termination の追加
ドメインのトラフィックをサービスの Pod にルーティングし、AWS Load Balancer に TLS Termination を追加できます。
前提条件
- 
							OpenShift CLI (oc) にアクセスできる。
手順
- AWSLoadBalancerControllerリソースを定義する YAML ファイルを作成します。- add-tls-termination-albc.yamlファイルの例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Ingress クラス名を定義します。クラスター内に Ingress クラスが存在しない場合は、AWS Load Balancer Controller によって作成されます。spec.controllerがingress.k8s.aws/albに設定されている場合、AWS Load Balancer Controller は追加の Ingress クラス値を調整します。
 
- Ingressリソースを定義する YAML ファイルを作成します。- add-tls-termination-ingress.yamlファイルの例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
2.5.3. 1 つの AWS ロードバランサーを介して複数の Ingress リソースを作成する
1 つの AWS Load Balancer を介して、1 つのドメインに含まれるさまざまなサービスに、複数の Ingress リソースを使用してトラフィックをルーティングできます。各 Ingress リソースは、ドメインの異なるエンドポイントを提供します。
前提条件
- 
							OpenShift CLI (oc) にアクセスできる。
手順
- 次のように、 - IngressClassParamsリソースの YAML ファイル (例:- sample-single-lb-params.yaml) を作成します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、 - IngressClassParamsリソースを作成します。- oc create -f sample-single-lb-params.yaml - $ oc create -f sample-single-lb-params.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のように、 - IngressClassリソースの YAML ファイル (例:- sample-single-lb-class.yaml) を作成します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して - IngressClassリソースを作成します。- oc create -f sample-single-lb-class.yaml - $ oc create -f sample-single-lb-class.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のように、 - AWSLoadBalancerControllerリソース YAML ファイル (例:- sample-single-lb.yaml) を作成します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- IngressClassリソースの名前を定義します。
 
- 次のコマンドを実行して、 - AWSLoadBalancerControllerリソースを作成します。- oc create -f sample-single-lb.yaml - $ oc create -f sample-single-lb.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のように、 - Ingressリソースの YAML ファイル (例:- sample-multiple-ingress.yaml) を作成します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Ingress 名を指定します。
- 2
- インターネットにアクセスするためにパブリックサブネットにプロビジョニングするロードバランサーを示します。
- 3
- ロードバランサーで要求を受信したときに、複数の Ingress リソースからのルールをマッチする順序を指定します。
- 4
- ロードバランサーがサービスに到達するために OpenShift Container Platform ノードをターゲットにすることを示します。
- 5
- この Ingress に属する Ingress クラスを指定します。
- 6
- 要求のルーティングに使用するドメイン名を定義します。
- 7
- サービスにルーティングする必要があるパスを定義します。
- 8
- Ingressリソースで設定されたエンドポイントを提供するサービス名を定義します。
- 9
- エンドポイントにサービスを提供するサービスのポートを定義します。
 
- 次のコマンドを実行して - Ingressリソースを作成します。- oc create -f sample-multiple-ingress.yaml - $ oc create -f sample-multiple-ingress.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
2.5.4. AWS Load Balancer Operator ログ
					oc logs コマンドを使用して、AWS Load Balancer Operator のログを表示できます。
				
手順
- 次のコマンドを実行して、AWS Load Balancer Operator のログを表示します。 - oc logs -n aws-load-balancer-operator deployment/aws-load-balancer-operator-controller-manager -c manager - $ oc logs -n aws-load-balancer-operator deployment/aws-load-balancer-operator-controller-manager -c manager- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow