Load Balancer プロパティ設定のユースケース
    • PDF

    Load Balancer プロパティ設定のユースケース

    • PDF

    Article Summary

    VPC環境で利用できます。

    Load Balancer インスタンスの連携で紹介した各種アノテーションを活用して Load Balancerインスタンスのプロパティを設定するユースケースです。

    注意

    Kubernetesで作成した NAVERクラウドプラットフォームのロードバランサを Kubernetesの Serviceリソースではなくコンソールと APIを通じて設定する場合、状態の同期に問題が発生する場合があります。作成したロードバランサに関する設定の変更は、必ず Kubernetesで作成した Serviceリソースを修正して行ってください。

    ネットワークプロキシロードバランサ(NPLB)プロパティ設定のユースケース

    インスタンスが作成される専用サブネット選択のユースケース

    インスタンスの作成時、kube-systemの名前空間で ncloud-configという名前の configmap内の lbSubnetNoをデフォルトで使用します。他のロードバランサ専用のサブネットにインスタンスを作成する場合は、service.beta.kubernetes.io/ncloud-load-balancer-subnet-idアノテーションを使用できます。

    以下は、NPLBインスタンスが作成される専用サブネットを選択するユースケースです。

    kind: Service
    apiVersion: v1
    metadata:
      name: my-nginx
      annotations:
        service.beta.kubernetes.io/ncloud-load-balancer-layer-type: "nplb"
        service.beta.kubernetes.io/ncloud-load-balancer-subnet-id: "452772"
    spec:
      ports:
      - port: 80
        targetPort: 80
      selector:
        run: my-nginx
      type: LoadBalancer
    

    ロードバランサの負荷処理性能設定のユースケース

    service.beta.kubernetes.io/ncloud-load-balancer-sizeアノテーションを用いて作成したロードバランサの負荷処理性能を設定できます。

    以下は、そのアノテーションを用いて負荷処理性能を設定するユースケースです。

    kind: Service
    apiVersion: v1
    metadata:
      name: my-nginx
      annotations:
        service.beta.kubernetes.io/ncloud-load-balancer-layer-type: "nplb"
        service.beta.kubernetes.io/ncloud-load-balancer-size: "MEDIUM"
    spec:
      ports:
      - port: 80
        targetPort: 80
      selector:
        run: my-nginx
      type: LoadBalancer
    

    ロードバランサのグローバル IPアドレス付与のユースケース

    LoadBalancerタイプの Serviceの場合、spec.loadBalancerIPフィールドにロードバランサに割り当てるグローバル IPアドレスを定義できます。
    当該フィールドには、네이버 클라우드 플랫폼 콘솔 > VPC > Public IPメニューで確認できる未割り当て状態のグローバル IPアドレスのみ記述できます。
    基本的にロードバランサを削除すると、割り当てられたグローバル IPアドレスも一緒に返却されます。グローバル IPアドレスが一緒に返却されないように service.beta.kubernetes.io/ncloud-load-balancer-retain-public-ip-on-termination: "true" annotationを使用できます。

    apiVersion: v1
    kind: Service
    metadata:
      name: static-service
      annotations: 
        service.beta.kubernetes.io/ncloud-load-balancer-layer-type: "nplb"  
        service.beta.kubernetes.io/ncloud-load-balancer-retain-public-ip-on-termination: "true"
    spec:
      loadBalancerIP: 110.234.194.181
      type: LoadBalancer
      ports:
        - port: 80
          targetPort: 8080
          protocol: TCP
          name: http
      selector:
        app: nginx
    

    ネットワークロードバランサ(NLB)プロパティ設定のユースケース

    インスタンスが作成される専用サブネット選択のユースケース

    インスタンスの作成時、kube-systemの名前空間で ncloud-configという名前の configmap内の lbSubnetNoをデフォルトで使用します。他のロードバランサ専用のサブネットにインスタンスを作成する場合は、service.beta.kubernetes.io/ncloud-load-balancer-subnet-idアノテーションを使用できます。

    以下は、NLBインスタンスが作成される専用サブネットを選択するユースケースです。

    kind: Service
    apiVersion: v1
    metadata:
      name: my-nginx
      annotations:
        service.beta.kubernetes.io/ncloud-load-balancer-layer-type: "nlb"
        service.beta.kubernetes.io/ncloud-load-balancer-subnet-id: "452772"
    spec:
      ports:
      - port: 80
        targetPort: 80
      selector:
        run: my-nginx
      type: LoadBalancer
    

    ロードバランサのグローバル IPアドレス付与のユースケース

    LoadBalancerタイプの Serviceの場合、spec.loadBalancerIPフィールドにロードバランサに割り当てるグローバル IPアドレスを定義できます。
    当該フィールドには、네이버 클라우드 플랫폼 콘솔 > VPC > Public IPメニューで確認できる未割り当て状態のグローバル IPアドレスのみ記述できます。
    基本的にロードバランサを削除すると、割り当てられたグローバル IPアドレスも一緒に返却されます。グローバル IPアドレスが一緒に返却されないように service.beta.kubernetes.io/ncloud-load-balancer-retain-public-ip-on-termination: "true" annotationを使用できます。

    apiVersion: v1
    kind: Service
    metadata:
      name: static-service
      annotations: 
        service.beta.kubernetes.io/ncloud-load-balancer-layer-type: "nlb"  
        service.beta.kubernetes.io/ncloud-load-balancer-retain-public-ip-on-termination: "true"
    spec:
      loadBalancerIP: 110.234.194.181
      type: LoadBalancer
      ports:
        - port: 80
          targetPort: 8080
          protocol: TCP
          name: http
      selector:
        app: nginx
    

    ロードバランサの作成時、ACGルールの Inbound Source設定のユースケース

    Serviceタイプが LoadBalancerの場合、外部との通信のために Inbound Sourceに0.0.0.0./0の ACGルールがデフォルトで設定されます。他の IP Blockをアクセスソースとして設定する場合は、service.beta.kubernetes.io/ncloud-load-balancer-inbound-sourceのアノテーションを使用できます。複数の Inbound Sourceを設定する場合は、コンマ(,)で区切って入力できます。

    以下は、NLBインスタンス作成時に ACGルールの Inbound Sourceを設定するユースケースです。

    kind: Service
    apiVersion: v1
    metadata:
      name: my-nginx
      annotations:
        service.beta.kubernetes.io/ncloud-load-balancer-layer-type: "nlb"
        service.beta.kubernetes.io/ncloud-load-balancer-inbound-source: "10.120.0.0/16,143.248.12.77/32"
    spec:
      ports:
      - port: 80
        targetPort: 80
      selector:
        run: my-nginx
      type: LoadBalancer
    

    UDPロードバランシングの設定

    ネットワークロードバランサ(NLB)は UDPロードバランシングをサポートします。protocolフィールドに UDPを指定する例は、次の通りです。

    apiVersion: v1
    kind: Service
    metadata:
      name: sample-udp-app
    spec:
      type: LoadBalancer
      ports:
        - port: 9092
          targetPort: 9092
          protocol: UDP
      selector:
        app: sample-udp-app
    

    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.