すべてのプロダクト
Search
ドキュメントセンター

Container Compute Service:アノテーションを使用した NLB インスタンスの設定

最終更新日:Nov 09, 2025

Network Load Balancer (NLB) は、高性能と自動スケーリングを提供する Alibaba Cloud のレイヤー 4 ロードバランシングサービスです。YAML ファイルでアノテーションを使用して、幅広いロードバランシング機能を設定できます。このトピックでは、アノテーションを使用して NLB インスタンス、リスナー、およびサーバーグループを設定する方法について説明します。

注意事項

  • ACK クラスターの cloud controller manager (CCM) コンポーネントのバージョンは 2.5.0 以降である必要があります。コンポーネントをアップグレードする方法の詳細については、「コンポーネントの管理」をご参照ください。

  • サービスで、spec.loadBalancerClassalibabacloud.com/nlb に設定します。このフィールドを指定しない場合、デフォルトで Classic Load Balancer (CLB) インスタンスが作成されます。

  • サービスが作成された後、spec.loadBalancerClass の値を変更することはできません。CLB インスタンスを NLB インスタンスに、またはその逆に変換することはできません。

一般的な NLB 操作

パブリック向け NLB インスタンスの作成

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps

説明

デフォルト値

サポートされている CCM バージョン

NLB インスタンスのゾーンを指定します。

NLB がサポートするリージョンとゾーンを表示するには、NLB コンソールにログインします。少なくとも 2 つの異なるゾーンを指定する必要があります。複数のゾーンはコンマ (,) で区切ります。例: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321

説明

NLB はマルチゾーンデプロイメントをサポートしています。高可用性を確保するために、現在のリージョンに 2 つ以上のゾーンがある場合は、少なくとも 2 つの異なるゾーンの vSwitch を選択してください。

なし

2.5.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-***** および cn-hangzhou-j:vsw-***** です。高可用性を確保するには、少なくとも 2 つの異なるゾーンで vSwitch を選択します。
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

プライベート NLB インスタンスの作成

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type

説明

デフォルト値

サポートされている CCM バージョン

NLB インスタンスのネットワークタイプを指定します。このアノテーションの値を変更して、パブリック向け NLB インスタンスとプライベート NLB インスタンスを切り替えることができます。有効値:

  • internet: パブリック向け NLB インスタンス。

  • intranet: プライベート NLB インスタンス。

NLB がサポートするリージョンとゾーンを表示するには、NLB コンソールにログインします。少なくとも 2 つの異なるゾーンを指定する必要があります。複数のゾーンはコンマ (,) で区切ります。例: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321

説明

NLB はマルチゾーンデプロイメントをサポートしています。高可用性を確保するために、現在のリージョンに 2 つ以上のゾーンがある場合は、少なくとも 2 つの異なるゾーンの vSwitch を選択してください。

internet

2.5.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。高可用性を確保するには、少なくとも 2 つの異なるゾーンで vSwitch を選択します。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

NLB インスタンスの名前の指定

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-name

説明

デフォルト値

サポートされている CCM バージョン

NLB インスタンスの名前を指定します。名前は 2~128 文字で、先頭は英字または漢字にする必要があります。数字、ピリオド (.)、アンダースコア (_)、ハイフン (-) を使用できます。

なし

2.5.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-name: "${your-nlb-name}" # NLB インスタンスの名前。
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

NLB インスタンスのリソースグループの指定

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-resource-group-id

説明

デフォルト値

サポートされている CCM バージョン

NLB インスタンスが属するリソースグループを指定します。リソースグループ ID を指定した後は、変更できません。

Alibaba Cloud Resource Management プラットフォームにログインして、リソースグループ ID を照会できます。

なし

2.5.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-resource-group-id:  "${your-resource-group-id}" # リソースグループの ID。
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

デュアルスタック NLB インスタンスを作成する

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version

説明

デフォルト値

サポートされている CCM バージョン

NLB インスタンスの IP バージョンを指定します。インスタンスが作成された後、IP バージョンを変更することはできません。有効値:

  • ipv4: IPv4。

  • DualStack: デュアルスタック。インスタンスは IPv4 と IPv6 の両方をサポートします。

    • service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps で指定された 2 つの vSwitch で IPv6 が有効になっている必要があります。

    • 生成された IPv6 アドレスは、IPv6 が有効な環境でのみアクセスできます。

ipv4

2.5.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: "DualStack"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  sessionAffinity: None
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

NLB インスタンスへの追加タグの付加

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags

説明

デフォルト値

サポートされている CCM バージョン

インスタンスに追加のタグを付加します。複数のタグはコンマ (,) で区切ります。例: k1=v1,k2=v2

なし

2.5.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags: "Key1=Value1,Key2=Value2"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  sessionAffinity: None
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

既存の NLB インスタンスを使用する

アノテーション: 複数、次の表に示すとおり。

アノテーション

説明

デフォルト値

サポートされている CCM バージョン

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id

既存の NLB インスタンスの ID。

なし

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners

サービスに基づいて NLB リスナー設定を同期するかどうかを指定します。有効値:

  • true: CCM は、サービス設定に基づいて NLB リスナーを作成、更新、削除します。

  • false: CCM は NLB リスナーに対して何の操作も実行しません。

false

2.5.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: "${your-nlb-id}" # NLB インスタンスの ID。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: "true"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  sessionAffinity: None
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

共有帯域幅インスタンスのアタッチ

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth-package-id

説明

デフォルト値

サポートされている CCM バージョン

アタッチする共有帯域幅インスタンスの ID。

VPC コンソールにログインして、共有帯域幅インスタンスの ID を照会できます。

なし

2.9.1 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth-package-id: "cbwp-xxxxxxxxxx" 
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  sessionAffinity: None
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

IPv6 のネットワークタイプの指定

アノテーション: 複数、次の表に示すとおり。

アノテーション

説明

デフォルト値

サポートされている CCM バージョン

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version

NLB インスタンスの IP バージョンを指定します。インスタンスが作成された後、IP バージョンを変更することはできません。このアノテーションを使用する場合、クラスターの kube-proxy モードは IPVS である必要があります。有効値:

  • ipv4: IPv4。

  • DualStack: デュアルスタック。インスタンスは IPv4 と IPv6 の両方をサポートします。

    • service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps で指定された 2 つの vSwitch で IPv6 が有効になっている必要があります。

    • 生成された IPv6 アドレスは、IPv6 が有効な環境でのみアクセスできます。

ipv4

2.5.0 以降

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ipv6-address-type

NLB インスタンスの IPv6 ネットワークタイプを指定します。有効値:

  • intranet: プライベート IPv6

  • internet: パブリック IPv6

説明

パブリック IPv6 アドレスを有効にする場合、NLB インスタンスが存在する VPC で IPv6 ゲートウェイが利用可能である必要があります。詳細については、「IPv6 ゲートウェイの作成と管理」をご参照ください。

intranet

2.9.1 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: "DualStack"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ipv6-address-type: internet # IPv6 ネットワークタイプをパブリックに設定します。
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  sessionAffinity: None
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

サービスの削除時に自動作成された NLB インスタンスを保持する

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-lb-on-delete

説明

サポートされている CCM バージョン

LoadBalancer サービスを削除するときに、サービスによって作成された NLB インスタンスを保持します。NLB インスタンスとサーバーグループ上の kubernetes.do.not.delete および ack.aliyun.com タグは削除されます。サーバーグループ内の既存のサーバーは保持されます。

この機能が有効になっている場合、サービス同期中に PreservedOnDelete 警告イベントが生成されます。このアノテーションを設定した後、このイベントが存在するかどうかを確認して、機能が有効になっていることを確認することをお勧めします。

有効値:

  • 空でない: 保持機能を有効にします。

  • 空または未設定: 保持機能を無効にします。

重要

この操作は、サービスタイプを変更するのではなく、サービスを削除して実行してください。そうしないと、サービスが以前に保持されていた NLB インスタンスに誤って再関連付けされる可能性があります。

2.10.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-lb-on-delete: "true"
  name: nginx
  namespace: default
spec:
  externalTrafficPolicy: Local
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

一般的なリスナー操作

リスナーのセキュリティグループの設定

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-security-group-ids

説明

デフォルト値

サポートされている CCM バージョン

リスナーのセキュリティグループを設定します。複数のセキュリティグループ ID はコンマ (,) で区切ります。例: sg-aaaaa,sg-bbbbb

なし

2.6.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-security-group-ids: "sg-aaaaa,sg-bbbbb" # 複数のセキュリティグループをコンマで区切ります。
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

リスナーの TCP および UDP プロトコルの設定

説明

デフォルト値

サポートされている CCM バージョン

この機能には、Kubernetes クラスターのバージョンが 1.24 以降である必要があります。クラスターのアップグレード方法の詳細については、「ACK クラスターのアップグレード」をご参照ください。

なし

該当なし

apiVersion: v1
kind: Service
metadata:
  annotations:
      service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: udp
    port: 80
    protocol: UDP
    targetPort: 81
  selector:
    app: nginx
  sessionAffinity: None
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

TCP リスナーの作成

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  sessionAffinity: None
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

UDP リスナーを作成する

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
  name: nginx
  namespace: default
spec:
  ports:
  - name: udp
    port: 80
    protocol: UDP
    targetPort: 80
  selector:
    app: nginx
  sessionAffinity: None
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

TCP-over-SSL リスナーの作成

アノテーション: 複数、次の表に示すとおり。

アノテーション

説明

デフォルト値

サポートされている CCM バージョン

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port

リスナーのプロトコルを設定します。複数の値はコンマ (,) で区切ります。例: TCP:80,TCPSSL:443

なし

2.5.0 以降

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id

サーバー証明書の ID。Certificate Management Service コンソールにログインして、証明書を作成および表示できます。

なし

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "tcpssl:443"
    # クラスターが中国本土のリージョンにある場合、結合された証明書 ID は ${your-cert-id}-cn-hangzhou です。
    # クラスターが中国本土以外のリージョンにある場合、結合された証明書 ID は ${your-cert-id}-ap-southeast-1 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${The combined certificate ID}"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

相互認証を有効にする

アノテーション: 複数、次の表に示すとおり。

アノテーション

説明

デフォルト値

サポートされている CCM バージョン

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port

リスナーのプロトコルを設定します。複数の値はコンマ (,) で区切ります。例: TCP:80,TCPSSL:443

なし

2.5.0 以降

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id

サーバー証明書の ID。Certificate Management Service コンソールにログインして証明書を表示できます。

なし

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cacert-id

CA 証明書の ID。Certificate Management Service コンソールにログインして証明書を表示できます。

なし

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cacert

相互認証を有効にするかどうかを指定します。有効な値:

  • on: 有効。

  • off: シャットダウン。

なし

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "tcpssl:443"   
    # クラスターが中国本土のリージョンにある場合、結合された証明書 ID は ${your-cert-id}-cn-hangzhou です。
    # クラスターが中国本土以外のリージョンにある場合、結合された証明書 ID は ${your-cert-id}-ap-southeast-1 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${The combined certificate ID}" 
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cacert-id: "${your-cacert-id}"  # CA 証明書の ID。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cacert: "on"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

TLS セキュリティポリシーの設定

アノテーション: 複数、次の表に示すとおり。

アノテーション

説明

デフォルト値

サポートされている CCM バージョン

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port

リスナーのプロトコルを設定します。複数の値はコンマ (,) で区切ります。例: TCP:80,TCPSSL:443

なし

2.5.0 以降

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id

サーバー証明書の ID。Certificate Management Service コンソールにログインして証明書を表示できます。

なし

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-tls-cipher-policy

セキュリティポリシーの ID。システムのセキュリティポリシーとカスタムセキュリティポリシーがサポートされています。有効値:

  • tls_cipher_policy_1_0

  • tls_cipher_policy_1_1

  • tls_cipher_policy_1_2

  • tls_cipher_policy_1_2_strict

  • tls_cipher_policy_1_2_strict_with_1_3

tls_cipher_policy_1_0

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "tcpssl:443"
    # クラスターが中国本土のリージョンにある場合、結合された証明書 ID は ${your-cert-id}-cn-hangzhou です。
    # クラスターが中国本土以外のリージョンにある場合、結合された証明書 ID は ${your-cert-id}-ap-southeast-1 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${The combined certificate ID}" 
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-tls-cipher-policy: "tls_cipher_policy_1_0"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

Proxy Protocol の設定

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-proxy-protocol

説明

デフォルト値

サポートされている CCM バージョン

Proxy Protocol を使用してクライアント IP アドレスをバックエンドサーバーに渡すかどうかを指定します。有効値:

  • on: 機能を有効にします。

  • off: 機能を無効にします。

重要

Proxy Protocol を有効にする前に、バックエンドサービスで Proxy Protocol v2 が有効になっていることを確認してください。そうしないと、アクセスが失敗する可能性があります。このパラメーターは慎重に設定してください。

off

2.5.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-proxy-protocol: "on"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

Proxy Protocol を介した追加情報の伝送

アノテーション: 複数、次の表に示すとおり。

アノテーション

説明

デフォルト値

サポートされている CCM バージョン

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-proxy-protocol

Proxy Protocol を使用してクライアント IP アドレスをバックエンドサーバーに渡すかどうかを指定します。有効値:

  • on: 機能を有効にします。

  • off: 機能を無効にします。

重要

Proxy Protocol を有効にする前に、バックエンドサービスで Proxy Protocol v2 が有効になっていることを確認してください。そうしないと、アクセスが失敗する可能性があります。このパラメーターは慎重に設定してください。

off

2.5.0 以降

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-vpc-id-enabled

Proxy Protocol を介して VpcId をバックエンドサーバーに伝送するかどうかを指定します。有効値:

  • on: 機能を有効にします。

  • off: 機能を無効にします。

off

2.9.1 以降

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-ep-id-enabled

Proxy Protocol を介して PrivateLinkEpId をバックエンドサーバーに伝送するかどうかを指定します。有効値:

  • on: 機能を有効にします。

  • off: 機能を無効にします。

off

2.9.1 以降

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-eps-id-enabled

Proxy Protocol を介して PrivateLinkEpsId をバックエンドサーバーに伝送するかどうかを指定します。有効値:

  • on: 機能を有効にします。

  • off: 機能を無効にします。

off

2.9.1 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-proxy-protocol: "on"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-ep-id-enabled: "on"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-eps-id-enabled: "on"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-vpc-id-enabled: "on"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

リスナーの秒間最大新規接続数の設定

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cps

説明

デフォルト値

サポートされている CCM バージョン

NLB インスタンスで 1 秒あたりに作成できる新規接続の最大数。有効値: 0~1000000。値 0 は、新規接続数が無制限であることを示します。

なし

2.5.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cps: "100"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

リスナーのアイドル接続タイムアウト期間の設定

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-idle-timeout

説明

デフォルト値

サポートされている CCM バージョン

アイドル接続のタイムアウト期間。単位: 秒。有効値: 10~900。

900

2.5.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-idle-timeout: "60"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

リスナーポート範囲の設定

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-listener-port-range

説明

サポートされている CCM バージョン

NLB インスタンス上の全ポート転送用のリスナーポート範囲を設定することで、指定したポート範囲でリッスンし、トラフィックをバックエンドサーバーの対応するポートに転送できます。

フォーマットは ポート範囲:サービスポート です。複数の値はコンマ (,) で区切ります。例: 80-100:80,400-500:443。同じプロトコルのポートとポート範囲は重複できません。

targetPort はバックエンドサーバーのヘルスチェックポートです。値は 1 から 65535 までの整数である必要があります。

2.11.4 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    # 80-100 および 400-500 ポート範囲のリスナーを設定します。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-listener-port-range: "80-100:80,400-500:443"
  name: nginx
  namespace: default
spec:
  externalTrafficPolicy: Local
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    # targetPort はバックエンドサーバーのヘルスチェックポートです。値は整数である必要があります。
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

一般的なサーバーグループ操作

スケジューリングアルゴリズムの設定

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler

説明

デフォルト値

サポートされている CCM バージョン

スケジューリングアルゴリズム。有効値:

  • wrr (デフォルト): 重み付きラウンドロビン。重みが大きいバックエンドサーバーは、重みが小さいバックエンドサーバーよりも多くのリクエストを受信します。

  • rr: ラウンドロビン。リクエストはバックエンドサーバーに順番に分散されます。

  • sch: 送信元 IP ハッシュ。同じ送信元 IP アドレスからのリクエストは、同じバックエンドサーバーに転送されます。

  • tch: 4 タプルハッシュ。4 タプル (送信元 IP、宛先 IP、送信元ポート、宛先ポート) に基づく一貫性ハッシュ。同じストリームが同じサーバーにスケジュールされます。

  • wlc: 重み付き最小接続。各バックエンドサーバーの重みに加えて、各バックエンドサーバーへの接続数も考慮されます。バックエンドサーバーの重みが同じ場合、アクティブな接続が最も少ないバックエンドサーバーがより多くのリクエストを受信します。

このオプションの有効値の詳細については、「CreateServerGroup」の Scheduler フィールドをご参照ください。

wrr

2.5.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler: "sch"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

接続ドレインを構成する

アノテーション: 複数、次の表に示すとおり。

アノテーション

説明

デフォルト値

サポートされている CCM バージョン

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain

接続ドレインを有効にするかどうかを指定します。有効値:

  • on: 有効。

  • off: シャットダウン状態。

off

2.5.0 以降

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain-timeout

接続ドレインのタイムアウト期間。単位: 秒。有効値: 10~900。

なし

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain: "on"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain-timeout: "30"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

クライアント IP の保持の有効化

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-client-ip

説明

デフォルト値

サポートされている CCM バージョン

クライアント IP の保持を有効にするかどうかを指定します。有効値:

  • on: 機能を有効にします。

  • off: 機能を無効にします。

on

2.5.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-client-ip: "on"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

TCP ヘルスチェックを構成する

アノテーション: 複数、次の表に示すとおり。これらのアノテーションは TCP ヘルスチェックを設定します。以下のすべてのアノテーションが必要です。ヘルスチェックはデフォルトで TCP ポートに対して有効になっています。

アノテーション

説明

デフォルト値

サポートされている CCM バージョン

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag

ヘルスチェックを有効にするかどうかを指定します。有効な値:

  • on: 有効。

  • off: シャットダウン。

on

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type

ヘルスチェックプロトコル。有効値:

  • tcp

  • http

tcp

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-port

ヘルスチェックに使用されるバックエンドサーバー上のポート。有効値: 0~65535。デフォルト値 0 は、バックエンドサーバーのポートが使用されることを示します。

0

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout

ヘルスチェック応答の最大タイムアウト期間。単位: 秒。有効値: 1~300。

5

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold

バックエンドサーバーが正常であると宣言されるまでに必要な、連続した正常なヘルスチェックの回数。有効値: 2~10。

2

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold

バックエンドサーバーが異常であると宣言されるまでに必要な、連続した失敗したヘルスチェックの回数。有効値: 2~10。

2

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval

2 回の連続したヘルスチェックの間隔。単位: 秒。有効値: 1~50。

10

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag: "on"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type: "tcp"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout: "8"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold: "4"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold: "4"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval: "5"
  name: nginx
  namespace: default
spec:  
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

HTTP ヘルスチェックを構成する

アノテーション: 複数、次の表に示すとおり。これらのアノテーションは HTTP ヘルスチェックを設定します。以下のすべてのアノテーションが必要です。ヘルスチェックはデフォルトで TCP ポートに対して有効になっています。

アノテーション

説明

デフォルト値

サポートされている CCM バージョン

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag

ヘルスチェックを有効にするかどうかを指定します。有効な値:

  • on: 有効。

  • off: シャットダウンを指定します。

on

2.5.0 以降

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type

ヘルスチェックプロトコル。有効値:

  • tcp

  • http

http

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-uri

ヘルスチェックのパス。パスは 1~80 文字で、英字、数字、特殊文字を含めることができます。スラッシュ (/) で始まる必要があります。詳細については、「CreateServerGroup」をご参照ください。

説明

このパラメーターは、service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-typeHTTP に設定されている場合にのみ有効です。

なし

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-domain

ヘルスチェックのドメイン名。有効値:

  • $_ip: サーバーのプライベート IP アドレスを使用します。

  • domain: 特定のドメイン名。ドメイン名は 1~80 文字で、小文字の英字、数字、ハイフン (-)、ピリオド (.) を使用できます。

説明

このパラメーターは、service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-typeHTTP に設定されている場合にのみ有効です。

なし

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-port

ヘルスチェックに使用されるバックエンドサーバー上のポート。有効値: 0~65535。デフォルト値 0 は、バックエンドサーバーのポートが使用されることを示します。

0

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout

ヘルスチェック応答の最大タイムアウト期間。単位: 秒。有効値: 1~300。

5

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold

バックエンドサーバーが正常であると宣言されるまでに必要な、連続した正常なヘルスチェックの回数。有効値: 2~10。

2

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold

バックエンドサーバーが異常であると宣言されるまでに必要な、連続した失敗したヘルスチェックの回数。有効値: 2~10。

2

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval

2 回の連続したヘルスチェックの間隔。単位: 秒。有効値: 1~50。

10

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-method

ヘルスチェックメソッド。有効値:

  • GET

  • HEAD

説明

このパラメーターは、service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-typeHTTP に設定されている場合にのみ有効です。

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag: "on"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type: "http"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-uri: "/test/index.html"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-domain: "www.test.com"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold: "4"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold: "4"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout: "10"
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval: "5"
    # ヘルスチェックメソッドを設定します。このアノテーションはオプションです。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-method: "head"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

サーバーグループタイプの設定

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-server-group-type

説明

デフォルト値

サポートされている CCM バージョン

サーバーグループタイプを設定します。有効値:

  • Ip: IP アドレスタイプ。IP アドレスタイプのバックエンドサーバーを直接追加できます。

  • Instance (デフォルト): インスタンスタイプ。ECS および ENI タイプのインスタンスを追加できます。

NLB サーバーグループの分類と説明の詳細については、「NLB サーバーグループ」をご参照ください。

Instance

2.8.0 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-server-group-type: "Ip"
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

既存のサーバーグループの再利用

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vgroup-port

このアノテーションを使用すると、既存の vServer グループを再利用できます。このアノテーションは、既存の NLB インスタンスを再利用する場合にのみ有効です。使用例については、「既存の SLB インスタンスを再利用してクラスター間でサービスをデプロイする」をご参照ください。

トラフィックを受信するサービスの重みの設定

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-weight

複数のサービスが同じ NLB インスタンスを再利用する場合、このアノテーションを使用して現在のサービスのトラフィックの重みを設定できます。このアノテーションは、既存のサーバーグループを再利用する場合にのみ有効です。使用例については、「既存の SLB インスタンスを再利用してクラスター間でサービスをデプロイする」をご参照ください。

バックエンドサーバーの重み更新の無視

アノテーション: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ignore-weight-update

説明

サポートされている CCM バージョン

サービス同期中にサーバーグループ内のバックエンドサーバーの重みの更新をスキップします。この設定は、バックエンドサーバーの重みをを手動で管理する必要があるシナリオに適しています。有効値:

  • on

  • off

デフォルト値: off

2.11.1 以降

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # たとえば、cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321 です。
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ignore-weight-update: "on"
  name: nginx
  namespace: default
spec:
  externalTrafficPolicy: Local
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer