本文へジャンプします。

ニフクラ ユーザーガイド

クラウド トップ>ユーザーガイド>Kubernetes Service Hatoba>ニフクラロードバランサー(L4)を接続する

Kubernetes Service Hatoba:ニフクラロードバランサー(L4)を接続する

クラスターにニフクラロードバランサー(L4)を接続する方法を説明します。

ステップ1:Deploymentの作成

  1. アプリケーション用Deploymentのyaml作成

    下記のような deployment.yaml を作成します。下記の例は「Hello Kubernetes!」を返却するだけのシンプルなアプリケーションです。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: hello
    spec:
      selector:
        matchLabels:
          run: hello
      replicas: 3
      template:
        metadata:
          labels:
            run: hello
        spec:
          containers:
          - name: hello
            image: gcr.io/google-samples/node-hello:1.0
            ports:
            - containerPort: 8080
  2. Deploymentのyamlの適用

    作成した deployment.yaml をクラスターに適用します。

    $ kubectl apply -f deployment.yaml
  3. 確認

    下記で適用したアプリケーションのPodの動作を確認します。

    $ kubectl get pod

ステップ2:Serviceの作成

  1. type: LoadBalancer Serviceのyaml作成

    アプリケーションに対してロードバランサーを作成するために、下記のような load-balancer.yaml を作成します。

    apiVersion: v1
    kind: Service
    metadata:
      name: hellolb
      labels:
        run: hello
    spec:
      type: LoadBalancer
      ports:
        - port: 80
          protocol: TCP
          targetPort: 8080
          name: http
          nodePort: 30374
      selector:
        run: hello
  2. Serviceのyamlの適用

    作成した load-balancer.yml を適用します。適用すると、設定内容に従ってロードバランサー(L4)が作成されます。ロードバランサー(L4)の作成に伴う料金はクラスターとは別に発生するのでご注意ください。

    $ kubectl apply -f load-balancer.yaml
  3. 確認

    下記で作成したロードバランサーの情報が確認できます。EXTERNAL-IPに表示されるIP(例ではx.x.x.x)がロードバランサーのIPです。

    $ kubectl get service
    NAME                     TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)        AGE
    hellolb                  LoadBalancer   10.102.213.44   x.x.x.x         80:30374/TCP   5m
    kubernetes               ClusterIP      10.96.0.1       <none>          443/TCP        1h

ステップ3:Serviceにアクセス

  1. ステップ2で作成したロードバランサーのIPに接続すると、作成したアプリケーションからレスポンスが返却されます。

    $ curl http://x.x.x.x
    Hello Kubernetes!
  • ※本ページ記載の金額は、すべて税抜表示です。
  • ※本ページ記載の他社製品名および会社名などは、各社の商標または登録商標です。
  • ※本ページの内容は、2021年10月27日時点の情報です。

推奨画面サイズ 1024×768 以上