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

Container Service for Kubernetes:既存のSLBインスタンスを使用してアプリケーションを公開する

最終更新日:Oct 31, 2024

クラスターの外部からServer Load Balancer (SLB) インスタンスによって公開されるサービスにアクセスするには、SLBインスタンスのドメイン名または <IP:Service port> エンドポイントを使用します。 クラスター内からサービスにアクセスするには、<サービス名: サービスポート> エンドポイントを使用します。 このトピックでは、NGINXアプリケーションを例として、既存のSLBインスタンスを使用してアプリケーションを公開するLoadBalancerサービスを使用する方法について説明します。

前提条件

使用上の注意

既存のSLBインスタンスを指定する場合、SLBインスタンスのリスナーの構成方法は、cloud-controller-managerのバージョンによって異なります。

  • cloud-controller-manager v1.9.3.59-ge3bc999-aliyun以降のバージョン: 既存のSLBインスタンスを指定すると、cloud-controller-managerはデフォルトでSLBインスタンスのリスナーを設定しません。 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: "true" アノテーションを追加してリスナーを有効にするか、SLBインスタンスのリスニングルールを手動で設定できます。

  • v1.9.3.59より前のcloud-controller-manager -ge3bc999-aliyun: 既存のSLBインスタンスを指定すると、cloud-controller-managerはSLBインスタンスのバックエンドサーバーグループを自動的に作成し、これらのバックエンドサーバーグループを管理します。 また、リスナーが手動で設定されている場合でも、SLBインスタンスのリスナーがバックエンドサーバーグループに関連付けられます。

cloud-controller-managerのバージョンを表示する方法

コンソールの使用

ACKクラスターの [アドオン] ページで、cloud-controller-managerのバージョンを表示します。

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[操作] > [アドオン] を選択します。

  3. [アドオン] ページの [コアコンポーネント] タブで、Cloud Controller Managerのバージョンを表示します。

kubectlの使用 (ACK専用クラスターに適用)

kubectl get pod -n kube-system -o yaml | grep image:| grep cloud-con | uniq

注意事項

既存のSLBインスタンスを使用してアプリケーションを公開する前に、注意事項をお読みください。 詳細については、以下のトピックをご参照ください。

ステップ1: アプリケーションのデプロイ

このトピックでは、NGINXステートレスアプリケーションを例として、LoadBalancerサービスを使用してアプリケーションを公開する方法を示します。

ACKコンソールの使用

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ワークロード] > [デプロイ] を選択します。

  3. [デプロイメント] ページで、[イメージから作成] をクリックし、デプロイメントの基本情報、コンテナ設定、および詳細設定を構成します。

    1. [基本情報] ウィザードページで、[名前] を指定し、他のパラメーターのデフォルト設定を維持して、[次へ] をクリックします。 この例では、名前はmy-nginxに設定されています。

    2. [コンテナー] ウィザードページで、イメージ名とコンテナーポートを指定し、他のパラメーターのデフォルト設定を維持して、[次へ] をクリックします。

      パラメーター

      有効値

      イメージ名

      [画像の選択] をクリックします。 [画像と画像タグの選択] ダイアログボックスで、[アーティファクトセンター] タブをクリックし、nginxを検索して、openanolis/nginxという名前の画像リポジトリを選択します。 次に、[画像タグの選択] をクリックして画像タグを設定し、[OK] をクリックします。

      ポート

      • 名前: nginx。

      • コンテナポート: 80。

    3. [詳細設定] ウィザードページで、デフォルト設定を維持し、[作成] をクリックしてNGINXアプリケーションを作成します。

kubectlを使う

  1. my-nginx.yamlという名前のファイルを作成し、次のYAMLコンテンツをファイルに追加します。

    apiVersion: apps/v1 #1.8.0以前のバージョンではapps/v1beta1を使用
    kind: 配置
    メタデータ:
      name: my-nginx# サンプルアプリケーションの名前。 
      ラベル:
        アプリ: nginx
    spec:
      replica: 2# レプリケートされたポッドの数。 
      セレクタ:
        matchLabels:
          app: nginx# アプリケーションの公開に使用されるサービスのセレクターに同じ値を指定する必要があります。 
      template:
        metadata:
          labels:
            アプリ:nginx
        仕様:
        # nodeSelector:
        # env: テストチーム
          コンテナ:
          - name: nginx
            画像: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
            ポート:
            -containerPort: 80# サービスで公開するポートです。

  2. 次のコマンドを実行して、my-nginxアプリケーションをデプロイします。

    kubectl apply -f my-nginx.yaml
  3. 次のコマンドを実行して、アプリケーションのステータスを照会します。

    kubectl get deployment my-nginx

    期待される出力:

    の名前は日付まで利用可能な年齢を準備しています
    my-nginx 2/2 2 2 50s 

手順2: 既存のSLBインスタンスを使用してアプリケーションを公開するLoadBalancerサービスを作成する

ACKコンソールまたはkubectlを使用してLoadBalancerサービスを作成し、アプリケーションを公開できます。

ACKコンソールの使用

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ネットワーク] > [サービス] を選択します。

  3. [サービス] ページで、[作成] をクリックします。 [サービスの作成] ダイアログボックスで、必要なパラメーターを設定します。

    パラメーター

    説明

    名前

    サービスの名前。

    my-nginx-svc

    サービスタイプ

    [サービスタイプ] を指定します。 さまざまな種類のソースからのアクセスを処理するために、次の種類のサービスを作成できます。

    クラスターIP

    ClusterIPサービス。 このタイプのサービスは、クラスター内の通信に使用されます。 ClusterIPサービスのみが相互に検出および通信できます。 [Headless Service] を選択した場合、Kubernetesがデフォルトで提供するClusterIPベースのサービス検出および負荷分散機能に依存することなく、他のサービス検出メカニズムと対話できます。

    SLBを使用します。

    説明

    サービスを作成するための新しいページはカナリアリリースにあります。 新しいバージョンを使用するには、チケットを起票します。

    SLBでは、CLBインスタンスまたはNLBインスタンスを使用して、クラスター内のアプリケーションを公開するLoadBalancerサービスを作成できます。 NodePortサービスと比較して、LoadBalancerサービスを使用して公開されるアプリケーションの可用性とパフォーマンスが大幅に向上します。 サポートされているSLBインスタンス:

    • CLB: 詳細については、「CLB」をご参照ください。

    • NLB: 詳細については、「NLB」をご参照ください。

    ノードポート

    NodePortサービス。 外部ユーザーは、ノードのIPアドレスと指定されたポートを使用して、このタイプのサービスにアクセスできます。 <NodeIP >:< NodePort> を介してNodePortサービスに接続できます。 ただし、負荷分散を手動で設定する必要があります。

    1. [SLB] を選択します。

    2. [既存のリソースを使用] をクリックし、ドロップダウンリストからCLBインスタンスを選択します。

      この例のCLBインスタンスは新しく作成されます。 CLBインスタンスのリスナーを設定する必要があります。 したがって、[既存のリスナーの上書き] を選択します。

    外部トラフィックポリシー

    [外部トラフィックポリシー] パラメーターは、サービスタイプパラメーターを [ノードポート] または [Server Load Balancer] に設定した場合にのみ使用できます。 外部トラフィックポリシーの詳細については、「はじめに」トピックの外部トラフィックポリシーの違いをご参照ください。 有効な値:

    • Local: 現在のノードのポッドにのみトラフィックをルーティングします。

    • Cluster: トラフィックをクラスター内の他のノードのポッドにルーティングします。

    Local

    バックエンド

    サービスに関連付けるバックエンドアプリケーション。 バックエンドアプリケーションを選択しない場合、Endpointオブジェクトは作成されません。 詳細については、「Services-without-selectors」をご参照ください。

    名前: app。

    値: my-nginx。

    ポートマッピング

    サービスポートとコンテナーポート。 サービスポートはYAMLファイルのportフィールドに対応し、コンテナーポートはYAMLファイルのtargetPortフィールドに対応します。 コンテナーポートは、バックエンドポッドで公開されているポートと同じである必要があります。

    80

    注釈

    SLBインスタンスを構成するためにサービスに追加されるアノテーション。 詳細については、「注釈を使用してCLBインスタンスを構成する」および「注釈を使用してNLBインスタンスを構成する」をご参照ください。

    重要

    クラスター内のAPIサーバーのSLBインスタンスを再利用しないでください。 そうしないと、クラスタアクセス障害が発生する可能性があります。

    この例では、2つの注釈を追加して、帯域幅課金方法を指定し、最大帯域幅を2 Mbit/sに設定して、サービスを介して流れるトラフィックの量を制限します。 例:

    • service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-type:paybybandwidth

    • service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth:2

    ラベル

    サービスを識別する、サービスに追加されるラベル。

    なし

    OKをクリックします。

  4. [サービス] ページで、サービスの名前をクリックして詳細ページに移動します。 [基本情報] セクションで、サービスの [外部エンドポイント] (39.106.XX.XX:80など) をクリックして、アプリケーションにアクセスします。

kubectlを使う

  1. サービスを作成します。

    という名前のファイルを作成します。my-nginx-svc.yaml次の内容をファイルに追加します。

    • service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id${YOUR_LB_ID} を、SLBコンソールで作成したSLBインスタンスのIDに置き換えます。

    • 既存のSLBインスタンスを使用する場合、SLBインスタンスのリスナーは作成されず、SLBインスタンスの既存のリスナーはデフォルトでオーバーライドされません。 リスナーをオーバーライドするには、service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners"true" に設定します。 この例では、SLBインスタンスが新しく作成されたため、SLBインスタンスのリスナーを作成するためにアノテーションがtrueに設定されています。 アノテーションの詳細については、「アノテーションを使用してCLBインスタンスを構成する」および「アノテーションを使用してNLBインスタンスを構成する」をご参照ください。

    • my-nginx.yamlファイルのmatchLabelsの値 (app: nginx) にセレクターを設定します。 これにより、サービスはバックエンドポッドに関連付けられます。

    apiVersion: v1
    kind: サービス# サービスを定義します。 
    metadata:
      アノテーション:
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: ${YOUR_LB_ID}
        service.beta.kubernetes.io/alicloud-loadbalancer-force-override-listeners: 'true'
      ラベル:
        アプリ:nginx
      名前: my-nginx-svc
      namespace: デフォルト
    spec:
      ポート:
      - port: 80
        protocol: TCP
        targetPort: 80
      セレクタ:
        app: nginx
      タイプ: LoadBalancer 

    パラメーター

    説明

    種類

    リソースオブジェクトがサービスであることを指定します。

    メタデータ

    名前、ラベル、名前空間など、サービスに関する基本情報を定義します。

    metadata.annotations

    LoadBalancerアノテーションを追加できます。 この例では、アノテーションservice.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-typeintranetに設定されています。 詳細については、「アノテーションを使用したCLBインスタンスの設定」をご参照ください。

    spec.selector

    サービスのラベルセレクターを定義します。 サービスは、ラベルがラベルセレクターと一致するポッドを公開します。

    spec.ports.port

    クラスターIPアドレスで公開されるサービスポートを指定します。 clusterIP:portにリクエストを送信することで、クラスター内からサービスにアクセスできます。

    spec.ports.tar getPort

    トラフィックを受信するバックエンドポッドのポートを指定します。 Serviceポートを介して流れるトラフィックは、kube-proxyによってバックエンドポッドのポート (targetPortで指定) に転送され、コンテナーに到達します。

    spec.type

    サービスへのアクセス方法を定義します。

    • LoadBalancer: サービスはSLBインスタンスを使用して公開されます。 サービスにSLBインスタンスが指定されていない場合、デフォルトでインターネットに接続されたSLBインスタンスが作成されます。 アノテーションをイントラネットに設定して、内部対応のSLBインスタンスを作成し、サービスを内部アクセスに公開することができ。 詳細については、「注釈を使用してCLBインスタンスを構成する」および「注釈を使用してNLBインスタンスを構成する」をご参照ください。

    • ClusterIP: クラスター内のサービスを公開します。 ClusterIPサービスは、クラスター内からアクセスできます。

    • NodePort: ノードポートをバックエンドサービスにマップします。 NodeIP:NodePortにリクエストを送信することで、クラスターの外部からサービスにアクセスできます。

    • ExternalName: サービスをDNSサーバーにマップします。

  2. 次のコマンドを実行して、my-nginx-svcという名前のサービスを作成し、サービスを使用してアプリケーションを公開します。

    kubectl apply -f my-nginx-svc.yaml
  3. 次のコマンドを実行して、LoadBalancerサービスが作成されたことを確認します。

    kubectl get svc my-nginx-svc

    期待される出力:

    名タイプCLUSTER-IP EXTERNAL-IPポート年齢
    my-nginx-svc LoadBalancer 172.21.5.82 39.106.XX.XX 80:30471/TCP 5m 
  4. 次のコマンドを実行して、アプリケーションにアクセスします。

    curl <YOUR-External-IP> # <YOUR-External-IP> を前の手順で取得した外部IPアドレスに置き換えます。

    期待される出力:

    <!DOCTYPE html>
    <html>
    <ヘッド>
    <title> nginxへようこそ!</title>
    <style>
        body {
            幅: 35em;
            マージン: 0 auto;
            フォントファミリー: タホマ、ヴェルダナ、アリアル、サンセリフ。
        }
    </style>
    </head>
    <body>
    <h1> nginxへようこそ!</h1>
    <p> このページが表示されると、nginx webサーバーが正常にインストールされ、働いています。 さらなる設定が必要です。</p>
    
    <p> オンラインドキュメントおよびサポートについては、を参照してください
    <a href=" http://nginx.org/">nginx.org</a> 。<br/>
    商用サポートは
    <a href=" http://nginx.com/">nginx.com</a> 。</p>
    
    <p><em> nginxをご利用いただきありがとうございます。</em></p>
    </body>
    </html> 

CLB

CLBインスタンスの作成

[CLBインスタンスの作成] を選択した場合、CLBインスタンスのアクセスモードをパブリックアクセスまたは内部アクセスに設定し、CLBインスタンスの課金方法を従量課金または従量課金に設定できます。 詳細については、「CLBインスタンスの作成と管理」をご参照ください。

パラメーター

説明

名前

CLBインスタンスの名前。 このパラメーターは、CLBインスタンスを作成する場合にのみ必要です。

アクセス方法

有効な値: パブリックアクセスおよび内部アクセス

課金方法

有効な値: Pay-by-specificationおよびPay-as-you-go (Pay-by-CU) 。 詳細については、「CLB課金の概要」をご参照ください。

IPバージョン

IPアドレスのバージョン。 有効な値: IPv4およびIPv6

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

有効値: ラウンドロビン (RR) および加重ラウンドロビン (WRR) 。 デフォルト値: ラウンドロビン (RR) 。 ラウンドロビン (RR): リクエストはバックエンドサーバーに順番に配信されます。 重み付きラウンドロビン (WRR): 重みの高いバックエンドサーバーは、重みの低いサーバーよりも多くのリクエストを受け取ります。

アクセス制御

リスナーのアクセス制御機能を有効にするかどうかを指定します。 詳細は、「アクセス制御」をご参照ください。

ヘルスチェック

ヘルスチェック機能を有効にするかどうかを指定します。 ヘルスチェックプロトコルパラメーターをTCPまたはHTTPに設定できます。 ヘルスチェック機能を有効にすると、ヘルスチェック機能を使用してバックエンドサーバーのサービスの可用性を確認できます。 ヘルスチェックの仕組みの詳細については、「CLBヘルスチェックの仕組み」をご参照ください。

その他

アノテーションを使用してCLBインスタンスを設定することもできます。 詳細については、「アノテーションを使用したCLBインスタンスの設定」をご参照ください。

既存のCLBインスタンスの使用

[既存のCLBインスタンスを使用] のドロップダウンリストから既存のCLBインスタンスを選択できます。 既存のリスナーの上書きを有効にするかどうかも選択できます。 詳細については、「既存のCLBインスタンスを使用し、CLBインスタンスのリスナーを強制的に上書きする」をご参照ください。

重要

既存のCLBインスタンスを使用する場合は、いくつかの制限と使用状況の注意を払う必要があります。 詳細については、「LoadBalancerサービスを設定するための考慮事項」トピックの使用方法の注意事項をご参照ください。

詳細設定

パラメーター

説明

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

有効値: ラウンドロビン (RR) および加重ラウンドロビン (WRR) 。 デフォルト値: ラウンドロビン (RR) 。 ラウンドロビン (RR): リクエストはバックエンドサーバーに順番に配信されます。 重み付きラウンドロビン (WRR): 重みの高いバックエンドサーバーは、重みの低いサーバーよりも多くのリクエストを受け取ります。

アクセス制御

リスナーのアクセス制御機能を有効にするかどうかを指定します。 詳細は、「アクセス制御」をご参照ください。

ヘルスチェック

ヘルスチェック機能を有効にするかどうかを指定します。 ヘルスチェックプロトコルパラメーターをTCPまたはHTTPに設定できます。 ヘルスチェック機能を有効にすると、ヘルスチェック機能を使用してバックエンドサーバーのサービスの可用性を確認できます。 ヘルスチェックの仕組みの詳細については、「CLBヘルスチェックの仕組み」をご参照ください。

その他

アノテーションを使用してCLBインスタンスを設定することもできます。 詳細については、「アノテーションを使用したCLBインスタンスの設定」をご参照ください。

NLB

NLBインスタンスの作成

[NLBインスタンスの作成] を選択した場合、NLBインスタンスのアクセスモードをパブリックアクセスまたは内部アクセスに設定できます。 詳細については、「NLBインスタンスの作成と管理」をご参照ください。

パラメーター

説明

名前

NLBインスタンスの名前。 このパラメーターは、NLBインスタンスを作成する場合にのみ必要です。

アクセス方法

有効な値: パブリックアクセスおよび内部アクセス

課金方法

有効値: 従量課金 (Pay-by-CU) 。 詳細は、「NLB課金」をご参照ください。

IPバージョン

IPアドレスのバージョン。 有効な値: IPv4およびDual-stack

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

有効な値:

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

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

  • ソースIPハッシュ: ソースIPアドレスに基づくコンシステントハッシングを指定します。 同じ送信元IPアドレスからのリクエストは、同じバックエンドサーバーに配信されます。

  • Four-Element Hashing: 送信元IPアドレス、送信先IPアドレス、送信元ポート、および送信先ポートの各要素に基づくコンシステントハッシングを指定します。 上記の要因に基づいて同じ情報を含むリクエストは、同じバックエンドサーバーに転送されます。

  • QUIC ID Hashing: QUIC IDに基づいてコンシステントハッシングを指定します。 同じQUIC IDを持つリクエストは、同じバックエンドサーバーに転送されます。

  • 重み付き最小接続数: リクエストは、バックエンドサーバーへの接続の重みと数に基づいて転送されます。 2つのバックエンドサーバーの重みが同じ場合、接続数が少ないバックエンドサーバーはより多くのリクエストを受信します。

ヘルスチェック

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

  • TCP (デフォルト): TCPヘルスチェックを実行するために、NLBはSYNパケットをバックエンドサーバーに送信して、バックエンドサーバーのポートがリクエストを受信できるかどうかを確認します。

    • ヘルスチェック応答タイムアウト: ヘルスチェックから応答を受け取るまでの待機時間。 バックエンドサーバーが指定されたタイムアウト期間内に応答しない場合、バックエンドサーバーは異常と見なされます。

    • ヘルスチェック間隔: ヘルスチェックが実行される間隔。

    • 正常しきい値: バックエンドサーバーが正常と見なされるまでに、バックエンドサーバーが連続してヘルスチェックに合格する必要がある最小回数。

    • 異常しきい値: バックエンドサーバーが異常と見なされるまでに、バックエンドサーバーが連続してヘルスチェックに合格しない必要がある最小回数。

  • HTTP: HTTPヘルスチェックを実行するために、NLBはHEADまたはGETリクエストをバックエンドサーバーに送信し、バックエンドサーバーが正常かどうかを確認します。

    • ドメイン名: ヘルスチェックに使用されるドメイン名。

      • バックエンドサーバーの内部IP (デフォルト): ヘルスチェックにバックエンドサーバーのプライベートIPアドレスを使用します。

      • カスタムドメイン名: ドメイン名を入力します。

    • パス: ヘルスチェックページのURL。

    • ヘルスチェックステータスコード: ヘルスチェックに対して返されるステータスコード。 有効な値は、http_2xxhttp_3xxhttp_4xxhttp_5xxです。 デフォルト値: http_2xx

その他

アノテーションを使用してNLBインスタンスを設定することもできます。 詳細については、「アノテーションを使用したNLBインスタンスの設定」をご参照ください。

[VPC]

デフォルトのクラスターVPCリージョンとVPC ID。

Vswitch

VPCのインスタンスでサポートされているゾーンでvSwitchを選択するか、新しいvSwitchを作成できます。

既存のNLBインスタンスの使用

[既存のNLBインスタンスを使用] を選択した場合、[既存のNLBインスタンスを使用] のドロップダウンリストから既存のNLBインスタンスを選択できます。 既存のリスナーの上書きを有効にするかどうかも選択できます。 詳細については、「既存のNLBインスタンスの使用」をご参照ください。

重要

既存のNLBインスタンスを使用する場合は、いくつかの制限と使用状況の注意を払う必要があります。 詳細については、「LoadBalancerサービスを設定するための考慮事項」トピックの使用方法の注意事項をご参照ください。

詳細設定

パラメーター

説明

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

有効な値:

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

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

  • ソースIPハッシュ: ソースIPアドレスに基づくコンシステントハッシングを指定します。 同じ送信元IPアドレスからのリクエストは、同じバックエンドサーバーに配信されます。

  • Four-Element Hashing: 送信元IPアドレス、送信先IPアドレス、送信元ポート、および送信先ポートの各要素に基づくコンシステントハッシングを指定します。 上記の要因に基づいて同じ情報を含むリクエストは、同じバックエンドサーバーに転送されます。

  • QUIC ID Hashing: QUIC IDに基づいてコンシステントハッシングを指定します。 同じQUIC IDを持つリクエストは、同じバックエンドサーバーに転送されます。

  • 重み付き最小接続数: リクエストは、バックエンドサーバーへの接続の重みと数に基づいて転送されます。 2つのバックエンドサーバーの重みが同じ場合、接続数が少ないバックエンドサーバーはより多くのリクエストを受信します。

ヘルスチェック

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

  • TCP (デフォルト): TCPヘルスチェックを実行するために、NLBはSYNパケットをバックエンドサーバーに送信して、バックエンドサーバーのポートがリクエストを受信できるかどうかを確認します。

    • ヘルスチェック応答タイムアウト: ヘルスチェックから応答を受け取るまでの待機時間。 バックエンドサーバーが指定されたタイムアウト期間内に応答しない場合、バックエンドサーバーは異常と見なされます。

    • ヘルスチェック間隔: ヘルスチェックが実行される間隔。

    • 正常しきい値: バックエンドサーバーが正常と見なされるまでに、バックエンドサーバーが連続してヘルスチェックに合格する必要がある最小回数。

    • 異常しきい値: バックエンドサーバーが異常と見なされるまでに、バックエンドサーバーが連続してヘルスチェックに合格しない必要がある最小回数。

  • HTTP: HTTPヘルスチェックを実行するために、NLBはHEADまたはGETリクエストをバックエンドサーバーに送信し、バックエンドサーバーが正常かどうかを確認します。

    • ドメイン名: ヘルスチェックに使用されるドメイン名。

      • バックエンドサーバーの内部IP: ヘルスチェックにバックエンドサーバーのプライベートIPアドレスを使用します。 デフォルト値です。

      • カスタムドメイン名: ドメイン名を入力します。

    • ヘルスチェックページのURL。

    • ヘルスチェックステータスコード: ヘルスチェックに対して返されるステータスコード。 有効な値は、http_2xxhttp_3xxhttp_4xxhttp_5xxです。 デフォルト値: http_2xx

その他

アノテーションを使用してNLBインスタンスを設定することもできます。 詳細については、「アノテーションを使用したNLBインスタンスの設定」をご参照ください。

[VPC]

デフォルトのクラスターVPCリージョンとVPC ID。

Vswitch

VPCのインスタンスでサポートされているゾーンでvSwitchを選択するか、新しいvSwitchを作成できます。

次に何をすべきか

サービスを表示、更新、および削除できます。 たとえば、サービスのインターネットに接続するSLBインスタンスを変更できます。

ACKコンソールの使用

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ネットワーク] > [サービス] を選択します。

  3. [サービス] ページで、サービスをクリックして詳細を表示するか、サービスの [操作] 列の [更新] または [削除] をクリックして、サービスを更新または削除できます。

kubectlを使う

サービスの更新

  • 方法1: 次のコマンドを実行してサービスを更新します。

    kubectl edit service my-nginx-svc
  • 方法2: サービスを手動で削除し、YAMLファイルを変更してから、サービスを再作成します。

    kubectl apply -f my-nginx-svc.yaml

サービスの表示

次のコマンドを実行して、サービスを表示します。

kubectl get service my-nginx-svc

期待される出力:

名タイプCLUSTER-IP EXTERNAL-IPポート年齢
my-nginx-svc LoadBalancer 172.21.XX.XX 192.168.XX.XX 80:31599/TCP 5m 

サービスの削除

次のコマンドを実行して、サービスを削除します。

kubectl delete service my-nginx-svc