23.3. サービスとしての GCP 外部のロードバランサー使用
LoadBalancer
サービスを使用してサービスを外部に公開することで、OpenShift Container Platform が GCP ロードバランサーを使用するように設定できます。OpenShift Container Platform は GCP にロードバランサーを作成し、必要なファイアウォールルールを作成します。
手順
新規アプリケーションを作成します。
$ oc new-app openshift/hello-openshift
ロードバランサーサービスを公開します。
$ oc expose dc hello-openshift --name='hello-openshift-external' --type='LoadBalancer'
このコマンドは、以下の例とよく似た
LoadBalancer
サービスを作成します。apiVersion: v1 kind: Service metadata: labels: app: hello-openshift name: hello-openshift-external spec: externalTrafficPolicy: Cluster ports: - name: port-1 nodePort: 30714 port: 8080 protocol: TCP targetPort: 8080 - name: port-2 nodePort: 30122 port: 8888 protocol: TCP targetPort: 8888 selector: app: hello-openshift deploymentconfig: hello-openshift sessionAffinity: None type: LoadBalancer
サービスが作成されたことを確認します。
$ 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
LoadBalancer
タイプと外部 IP の値は、サービスが GCP ロードバランサーを使用してアプリケーションを公開することを示します。
OpenShift Container Platform は、GCP インフラストラクチャーに、必要なオブジェクトを作成します。 以下に例を挙げます。
ファイアウォール:
$ 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
注記これらのファイアウォールは、
<openshift_gcp_prefix>ocp
のタグがついたインスタンスに適用されます。たとえば、openshift_gcp_prefix
パラメーターがmycluster
に設定されている場合には、ノードにmyclusterocp
のタグを付ける必要があります。Compute Engine VM インスタンスにネットワークタグを追加する方法については、ネットワークタグの追加と削除 を参照してください。ヘルスチェック:
$ gcloud compute http-health-checks list | grep k8s k8s-4612931a3a47c204-node 10256 /healthz
ロードバランサー:
$ 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
ロードバランサーが正しく設定されたことを確認するには、外部ホストから以下のコマンドを実行します。
$ curl 35.230.97.224:8080 Hello OpenShift!