23.3. サービスとしての GCP 外部のロードバランサー使用
LoadBalancer
サービスを使用してサービスを外部に公開することで、OpenShift Container Platform が GCP ロードバランサーを使用するように設定できます。OpenShift Container Platform は GCP にロードバランサーを作成し、必要なファイアウォールルールを作成します。
手順
新規アプリケーションを作成します。
oc new-app openshift/hello-openshift
$ oc new-app openshift/hello-openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロードバランサーサービスを公開します。
oc expose dc hello-openshift --name='hello-openshift-external' --type='LoadBalancer'
$ oc expose dc hello-openshift --name='hello-openshift-external' --type='LoadBalancer'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、以下の例とよく似た
LoadBalancer
サービスを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスが作成されたことを確認します。
oc get svc
$ oc get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-openshift ClusterIP 172.30.62.10 <none> 8080/TCP,8888/TCP 20m hello-openshift-external LoadBalancer 172.30.147.214 35.230.97.224 8080:31521/TCP,8888:30843/TCP 19m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow LoadBalancer
タイプと外部 IP の値は、サービスが GCP ロードバランサーを使用してアプリケーションを公開することを示します。
OpenShift Container Platform は、GCP インフラストラクチャーに、必要なオブジェクトを作成します。 以下に例を挙げます。
ファイアウォール:
gcloud compute firewall-rules list | grep k8s
$ gcloud compute firewall-rules list | grep k8s k8s-4612931a3a47c204-node-http-hc my-net INGRESS 1000 tcp:10256 k8s-fw-a1a8afaa7762811e88c5242010af0000 my-net INGRESS 1000 tcp:8080,tcp:8888
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記これらのファイアウォールは、
<openshift_gcp_prefix>ocp
のタグがついたインスタンスに適用されます。たとえば、openshift_gcp_prefix
パラメーターがmycluster
に設定されている場合には、ノードにmyclusterocp
のタグを付ける必要があります。Compute Engine VM インスタンスにネットワークタグを追加する方法については、ネットワークタグの追加と削除 を参照してください。ヘルスチェック:
gcloud compute http-health-checks list | grep k8s
$ gcloud compute http-health-checks list | grep k8s k8s-4612931a3a47c204-node 10256 /healthz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロードバランサー:
gcloud compute target-pools list | grep k8s gcloud compute forwarding-rules list | grep a1a8afaa7762811e88c5242010af0000
$ gcloud compute target-pools list | grep k8s a1a8afaa7762811e88c5242010af0000 us-west1 NONE k8s-4612931a3a47c204-node $ gcloud compute forwarding-rules list | grep a1a8afaa7762811e88c5242010af0000 a1a8afaa7762811e88c5242010af0000 us-west1 35.230.97.224 TCP us-west1/targetPools/a1a8afaa7762811e88c5242010af0000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ロードバランサーが正しく設定されたことを確認するには、外部ホストから以下のコマンドを実行します。
curl 35.230.97.224:8080
$ curl 35.230.97.224:8080
Hello OpenShift!