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

Container Service for Kubernetes:デプロイメントを使用してステートレスアプリケーションを作成する

最終更新日:Feb 17, 2025

デプロイメントは、Kubernetesの主要なワークロードタイプであり、「ステートレスワークロード」と呼ばれることがよくあります。クラスター内で目的の状態で実行されている指定数のポッドを維持します。 このトピックでは、コンソールとkubectlを使用してACKクラスターにステートレスアプリケーションを作成する方法について説明します。

読書のヒント

ワークロードを作成する前に、ワークロードを確認して、ワークロードの基礎と考慮事項を理解することをお勧めします。 このトピックは2つの主要なセクションに分かれています。

  • デプロイの作成: コンソールとkubectlの両方を使用してデプロイを作成するための合理化されたプロセスの概要を説明します。

  • 設定パラメーター: コンソールの設定オプションの詳細と、kubectlの使用方法のYAML例を提供します。

デプロイの作成

コンソールを使用して作成する

重要

以下の手順は、ワークロードを作成するための簡単なプロセスです。 このガイドに従って、迅速な展開と検証を行うことができます。 基本に慣れたら、[設定パラメーター] を参照してワークロードをカスタマイズできます。

  1. 基本的なアプリケーション情報の設定

    1. にログインします。Container Service管理コンソール左側のナビゲーションウィンドウで、クラスターリスト.On theクラスターリストページで、対象のクラスター名をクリックします。 次に、左側のナビゲーションウィンドウで、[ワークロード] > [ステートレス] を選択します。[ステートレス] ページで、[イメージで作成] をクリックします。

      image

    2. On the基本的なアプリケーション情報設定ウィザードページで、アプリケーションの基本的な詳細を入力します。 次に、クリック次へに進みます。コンテナーの設定ウィザードページ。

      image

  2. コンテナーの設定

    では、コンテナーの設定セクションで、イメージ名ポートコンテナ用。 他の設定はデフォルト値のままにしておくことができます。 次に、クリック次へに移動します。高度な設定ウィザードページ。 画像アドレスは以下の通りである。

    重要

    イメージを取得する前に、クラスターにパブリックネットワークアクセスがあることを確認します。 クラスターの作成時にデフォルトの [VPC用SNATの設定] オプションを選択した場合、すでにパブリックネットワークアクセスが許可されています。 そうでない場合は、「既存のクラスターのパブリックネットワークアクセスの有効化」をご参照ください。

    registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest

    image

  3. 完全な高度な設定

    [詳細設定] ウィザードページで、アクセス、スケーリング、スケジューリング、およびラベルの注釈を設定します。 [アクセス設定] セクションで、バックエンドポッドを公開する方法を設定し、[OK] をクリックし、下部の [作成] をクリックします。

    重要

    この手順では、タイプLoadBalancerのサービスを作成してワークロードを公開します。これにより、CLBインスタンスに関連するコストが発生します。 課金の詳細については、「従量課金」をご参照ください。 後でCLBインスタンスを使用しない場合は、すぐにリリースしてください。

    image

  4. アプリケーションの表示

    作成完了ウィザードページで、アプリケーションタスクを確認します。 では、申請タスクの提出パネル、クリックアプリケーションの詳細を表示. [アクセス方法] タブをクリックし、新しく作成されたサービス (nginx-test-svcなど) を見つけ、[外部エンドポイント] 列のリンクをクリックしてアクセスします。 image

    image

    コンソールから、作成したワークロードに対して表示編集再デプロイなどの操作を実行できます。 image

kubectlを使用して作成する

重要

ワークロードを作成する前に、kubectlを使用してクラスターに接続していることを確認します。 手順については、「クラスターKubeConfigを取得し、kubectlツールを使用してクラスターに接続する」をご参照ください。

  1. 次のコマンドを実行してワークロードを作成します。 このコマンドはコンテナーイメージを指定しますが、その他の設定はデフォルトに設定されます。

    • バージョン1.18以上のクラスターの場合は、以下のコマンドを使用して開始します。

      kubectl create deployment nginx --image=registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
    • バージョン1.18以下のクラスターの場合は、以下のコマンドを使用して開始します。

      kubectl run -it nginx --image=registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
  2. 次のコマンドを実行してLoadBalancerタイプのサービスを作成し、SLBインスタンスを使用してワークロードを公開します。

    kubectl expose deployment nginx --port=80 --target-port=80 --type=LoadBalancer
  3. 以下のコマンドを実行して、サービスのパブリックIPアドレスを表示します。

    kubectl get svc

    想定される出力:

    NAME         TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)        AGE
    kubernetes   ClusterIP      172.16.**.***    <none>          443/TCP        4h47m
    nginx        LoadBalancer   172.16.**.***    106.14.**.***   80:31130/TCP   1h10m
  4. ブラウザにnginxのパブリックIP (106.14.**.***) を入力して、ワークロードに関連付けられているNginxコンテナにアクセスします。 image

パラメーターの設定

コンソール設定パラメーター

基本的なアプリケーション情報

image

設定アイテム

説明

アプリケーション名

ワークロードの名前。 これに基づいて、ワークロードに属するポッドの名前が生成されます。

数のレプリカ

ワークロードに含まれるポッドの数。 デフォルトの数は2です。

タイプ

ワークロードのタイプ。 このトピックでは、[ステートレス (デプロイ)] を選択します。 ワークロードの選択については、「ワークロードの作成」をご参照ください。

ラベル

ワークロードのラベル。

注釈

ワークロードの注釈。

タイムゾーン同期

コンテナとそれが存在するノードが同じタイムゾーンを使用するかどうか。

コンテナー設定

基本設定

image

設定アイテム

説明

イメージ名

  • 画像の選択

    [画像の選択] をクリックして、目的の画像を選択できます。 以下の3種類の画像がサポートされています。

    • Container Registry Enterprise Edition: Container Registry ACRでホストされているエンタープライズ版イメージを選択できます。 イメージが属するリージョンとContainer Registryインスタンスを選択する必要があります。 ACRの詳細については、「Container Registry ACRの概要」をご参照ください。

    • Container Registry Personal Edition: Container Registry ACRでホストされている個人版イメージを選択できます。 イメージが属するリージョンとContainer Registryインスタンスを選択する必要があります。

    • Artifact Center: Alibaba CloudとOpenAnolisコミュニティが提供する一般的なイメージ。 Artifact Centerを使用する場合は、クラスターのパブリックネットワークアクセスを有効にする必要があります。 アーティファクトセンターの詳細については、「アーティファクトセンター」をご参照ください。

    他のソースからの画像を使用する場合、domainname/namespace/imagename:tagの形式で画像アドレスを直接入力できます。 domainnameが指定されていない場合 (たとえば、nginx:1.7.9と入力した場合) 、イメージはDockerHubからプルされます。

  • 画像プルポリシーの選択

    ACKは、次の3つのイメージプルポリシー (imagePullPolicy) をサポートしています。

    • Use Local Image First (ifnotpresent) (デフォルト): ワーカーノードにローカルイメージがある場合、ローカルイメージが使用されます。 そうでない場合、イメージがプルされます。

    • Always Pull Image (always): ローカルイメージからではなく、デプロイまたはスケールアウトされるたびにコンテナーイメージサービスからイメージがプルされることを示します。

    • ローカルイメージのみを使用する (決して使用しない): ローカルイメージのみを使用します。 ローカルイメージがない場合、プルは失敗します。

  • 画像キーの設定

    ACRまたはサードパーティのリポジトリを使用する場合、イメージをプルするためのキーを設定する必要があります。

    説明

    Container Registry Enterprise Editionインスタンスの場合、Secretsを使用せずにイメージをプルできます。 具体的な操作については、「パスワードのないコンポーネントの非管理バージョンのインストールと使用」をご参照ください。

リソース制限

コンテナリソース.リソースを使用します。制限. 詳細については、「リクエストと制限」をご参照ください。

要求されたリソース

コンテナリソース.リソースを使用します。リクエスト. 詳細については、「リクエストと制限」をご参照ください。

Container Startup Items

  • stdin: コンテナーに対して標準入力が有効になっていることを示します。

  • tty: コンテナへの信号の送信を容易にするために、コンテナに仮想端末が割り当てられていることを示します。

これらの2つのオプションは通常一緒に使用され、ターミナル (tty) がコンテナの標準入力 (stdin) にバインドされていることを示します。 例えば、対話型プログラムは、ユーザから標準入力を受け取り、それを端末に表示する。

特権コンテナ

  • 特権コンテナがチェックされている場合、特権=trueであり、特権モードが有効になります。

  • 特権コンテナがチェックされていない場合、特権=falseであり、特権モードは使用されません。

特権モードでは、ハードウェアデバイスへのアクセスやファイルシステムのマウントなど、コンテナが常駐するワーカーノードのオペレーティングシステムと同様の許可をコンテナに与えることができます。

Initコンテナ

このオプションを選択すると、initコンテナが作成されます。

Initコンテナーは、アプリケーションコンテナーの起動をブロックまたは遅延するメカニズムを提供します。 initコンテナーが正常に実行されると、ポッド内の他のコンテナーが並行して開始されます。 たとえば、依存サービスの可用性を確認します。 Initコンテナーには、カーネルパラメーターの構成や構成ファイルの生成など、アプリケーションコンテナーのランタイム環境を初期化するための、アプリケーションイメージに存在しないユーティリティやインストールスクリプトを含めることができます。 詳細については、「

Initコンテナー

ポート設定

image

設定アイテム

説明

名前

コンテナポートの名前は、ポートを区別するためだけに使用され、実際の機能はありません。

コンテナポート

コンテナによって公開されるポートを設定します。1〜65535の範囲である必要があります。 容器は、ポートを露出させてポッドの外側に露出させ、ポッド内の容器間を連通させなければならない。

ポッド内のすべてのコンテナはポッドのネットワークプロトコルスタックを共有するため、ポッド内に複数のコンテナを構成する場合、ポートを複製することはできません。

プロトコル

コンテナポートで使用されるレイヤ4 (トランスポート層) プロトコルで、TCPとUDPをサポートします。

環境変数

image

設定アイテム

説明

タイプ

追加する環境変数の種類を指定します。 有効な値:

  • カスタム

    envを使用して、ワークロードで環境変数を直接ハードコードします。

  • 設定アイテム

    envFromを使用して、ConfigMapに格納されている機密性の低い構成データを取得します。

  • 秘密

    パスワードやAPIキーなど、ConfigMapに格納されている機密情報を取得するには、envFromを使用します。

  • 変数 /変数リファレンス

    value/valueFromを使用して、他の環境変数または事前定義値を取得します。

  • リソース参照

    resourceFieldRefを使用して、ポッドが存在するノードのリソース情報を取得します。

構成項目とシークレットは、すべてのファイルの参照をサポートします。 シークレットを例にとると、Secretタイプを選択し、対象のシークレットのみを選択すると、すべてのファイルがデフォルトで参照されます。 环境变量

対応するYAMLは、シークレット全体も参照します。 yaml

主にresourceFieldRefパラメーターを使用して、ポッド仕様からコンテナーによってすでに宣言されているリソース値を参照し、これらの値を環境変数としてコンテナーに渡します。 対応するYAMLは次のとおりです。

image

変数名

ポッド内の環境変数の名前を設定します。

変数 /変数リファレンス

環境変数の値または他のソースから取得した値を指定します。

ヘルスチェック

image

設定アイテム

説明

Liveness Probe: コンテナーが正常に機能しているかどうかを確認します。 そうでない場合、コンテナは再起動される。

リクエストタイプ: HTTPリクエスト

コンテナーにHTTPリクエストを送信し、定期的に機能を確認します。

  • プロトコル: HTTP /HTTPS

  • パス: HTTPサーバーアクセスのパス。

  • ポート: コンテナーによって公開されるアクセスポートまたはポート名。 1と65535の間でなければなりません。

  • HTTPヘッダー: HTTPリクエストのカスタムリクエストヘッダー。 キーと値のペアをサポートします。

  • 初期遅延時間 (秒): initialDelaySecondsを参照します。これは、コンテナーの起動後に最初のプローブが実行されるまでの待機時間 (秒) です。 デフォルトでは、これは3秒に設定されています。

  • プローブ頻度 (秒): periodSecondsを指します。これは、連続したプローブ実行間の時間間隔です。 デフォルトでは、10秒に設定され、最小許容間隔は1秒です。

  • タイムアウト (秒): timeoutSecondsを指し、プローブがタイムアウトするまでの時間です。 デフォルトおよび最小値は1秒です。

  • 正常しきい値: 失敗後に必要な連続して成功したプローブの数。 デフォルトは1、最小は1です。

  • 異常しきい値: 成功後に必要な連続して失敗したプローブの数。 デフォルトは3、最小は1です。

リクエストタイプ: TCP接続

コンテナにTCPソケットを送信します。 接続が確立されると、コンテナは健全であるとみなされる。

  • ポート: コンテナーによって公開されるアクセスポートまたはポート名。 1と65535の間でなければなりません。

  • 初期遅延時間 (秒) は、initialDelaySecondsを指します。これは、コンテナが開始してから最初のプローブが実行されるまでの待機時間 (秒) です。 デフォルトでは、これは15秒に設定されています。

  • プローブ頻度 (秒): periodSecondsを指します。これは、連続したプローブ実行間の時間間隔です。 デフォルトの間隔は10秒で、最小許容間隔は1秒です。

  • タイムアウト (秒): timeoutSecondsを参照します。これは、プローブがタイムアウトするまでの時間です。 デフォルトの設定は1秒で、最小値も1秒です。

  • 正常しきい値: 失敗後に必要な連続して成功したプローブの数。 デフォルトは1、最小は1です。

  • 異常しきい値: 成功後に必要な連続して失敗したプローブの数。 デフォルトは3、最小は1です。

リクエストタイプ: コマンドライン

コンテナーでコマンドを実行し、ヘルスステータスを確認します。

  • コマンドライン: コンテナーの正常性を確認するために使用するコマンド。

  • 初期遅延時間 (秒): initialDelaySecondsを参照します。これは、コンテナーの起動後に最初のプローブが実行されるまでの待機時間 (秒) です。 デフォルトでは、これは5秒に設定されています。

  • プローブ頻度 (秒): periodSecondsを参照します。これは、連続したプローブ実行間の時間間隔です。 デフォルトでは、10秒に設定され、最小許容間隔は1秒です。

  • タイムアウト (秒): timeoutSecondsを参照します。これは、プローブがタイムアウトするまでの期間です。 デフォルトの設定は1秒で、最小値も1秒です。

  • 正常しきい値: 失敗後に必要な連続して成功したプローブの数。 デフォルトは1、最小は1です。

  • 異常しきい値: 成功後に必要な連続して失敗したプローブの数。 デフォルトは3、最小は1です。

Readiness Probe: コンテナーがトラフィックを受け入れる準備ができているかどうかを判断します。

スタートアッププローブ: コンテナー内のアプリケーションが起動したかどうかを確認します。

説明

起動プローブはKubernetes 1.18以降でサポートされています。

ライフサイクル

image

設定アイテム

説明

実行の開始

コンテナーが起動する前に有効になるコマンドとパラメーターを指定します。 startコマンドとパラメーターは、コンテナーがアプリケーションサービスの初期化を開始するときに実行される操作を定義します。 これは、特定の環境変数、マウントターゲット、またはポートマッピングを必要とするアプリケーション展開シナリオに適しています。

ポストスタート

コンテナーの起動後に有効になるコマンドを指定します。 post-startコマンドは、設定の初期化やスクリプトの実行など、コンテナの起動後に特定のタスクを実行するために使用します。 これは、メインプロセスの前に準備作業を完了する必要があるシナリオに適しています。

事前停止

コンテナーが停止する前に有効になるコマンドを指定します。 プリストップコマンドは、コンテナ内のアプリケーションプロセスをシャットダウンするために使用され、データの一貫性とサービスの正常な終了を保証します。 これは、データの損失やサービスの中断を回避するために安全なシャットダウンが必要なシナリオに適しています。

コンテナーのライフサイクルを設定するには、開始、開始後、停止前のパラメーターを指定できます。 特定の操作については、「ライフサイクルの設定」をご参照ください。

ボリューム

設定アイテム

説明

ローカルストレージの追加

ポッドが存在するノードのローカルストレージボリュームをマウントします。 ローカルストレージボリュームのデータはノードに格納されます。 ノードがシャットダウンされると、データは使用できなくなります。 ローカルストレージは、Secret、ConfigMap、およびその他の一時ボリュームタイプもサポートしています。 ストレージ機能は比較的複雑です。 ストレージボリュームを使用する前に、storageを読んでACKのストレージの基本的な知識を理解することをお勧めします。

クラウドストレージ宣言の追加 (persistentvolumeclaim)

重要なデータをコンテナ内に永続的に保存するために、ポッド用のクラウドストレージボリュームをマウントします。 クラウドストレージボリュームは、ワーカーノードから完全に独立しており、ノードの変更の影響を受けない、クラスターの外部にあるリモートストレージサービスです。 ACKを使用する場合、クラウドストレージボリュームは通常、クラウドディスク、NAS、OSS、およびAlibaba cloudが提供するその他のストレージサービスです。 ストレージ機能は比較的複雑です。 ストレージボリュームを使用する前に、storageを読んでACKのストレージの基本的な知識を理解することをお勧めします。

ログ設定

コレクションの設定

  • Logstore: 収集したログを保存するクラスターに関連付けられたログサービスプロジェクトで、対応するLogstoreを生成します。 ログを使用する前に、Log Managementを読んで、ACKのログの基本的な知識を理解することをお勧めします。

  • Container Log Path: 収集が必要なコンテナー内のログパス。 Stdoutに設定すると、コンテナーの標準出力ログが収集されたことを示します。

カスタムタグ

ソーシャルメディアの定期的なトラフィックが昼食と夕食後にピークに達するなど、ビジネス負荷が定期的に変化するシナリオに適した、定期的な間隔でのワークロードスケーリングのトリガー。 詳細については、「Container Cron水平ポッド自動スケーリング (CronHPA) の使用」をご参照ください。

高度な設定

構成カード

設定アイテム

説明

アクセス設定

サービス

サービスは、ポッドのグループに固定された統合されたレイヤー4 (トランスポート層) エントリを提供します。 ワークロードを外部に公開するときに構成する必要があるリソースです。 サービスは、Virtual Cluster IPNode PortLoad Balancerなど、複数のタイプをサポートしています。 サービスの基本的な知識については、「サービス管理」をご参照ください。

Ingress

Ingressは、クラスター内の複数のサービスにレイヤー7 (アプリケーション層) エントリを提供し、ドメイン名の一致に基づいて異なるサービスに要求を転送します。 Ingressを使用する前に、Ingress Controllerをインストールする必要があります。 ACKは、異なるシナリオに適した複数のオプションを提供します。 選択については、Nginx Ingress、ALB Ingress、およびMSE Ingressの比較を参照してください。

スケーリング設定

メトリックスケーリング

コンテナーのパフォーマンスメトリックを監視して、自動スケーリングをトリガーします。 メトリックスケーリングは、ビジネス負荷が変動したときにワークロードが使用するリソースの合計を自動的に調整するのに役立ちます。スケールアウトして高負荷時のプレッシャーを軽減し、スケールインして低負荷時のリソースを節約します。 詳細については、「コンテナー水平ポッド自動スケーリング (HPA) の使用」をご参照ください。

スケジュールされたスケーリング

ソーシャルメディアの定期的なトラフィックが昼食と夕食後にピークに達するなど、ビジネス負荷が定期的に変化するシナリオに適した、定期的な間隔でのワークロードスケーリングのトリガー。 詳細については、「Container Cron水平ポッド自動スケーリング (CronHPA) の使用」をご参照ください。

スケジューリング設定

アップグレード方法

ポッド構成が変更されたときに、ワークロードが古いポッドを新しいポッドに置き換えるために使用するメカニズム。

  • ローリングアップグレード: ポッドの一部を一度に置き換え、新しいポッドが正常に実行された後にのみ次の置き換えを実行します。 この方法により、サービスは中断されませんが、ユーザーは異なるバージョンのポッドに同時にアクセスできます。

  • 再作成アップグレード: すべてのポッドを一度に置き換えます。これにより、サービスが中断する可能性がありますが、すべてのポッドバージョンの一貫性が保証されます。

  • ノードアフィニティ

  • ポッドの親和性

  • ポッドのAnti-affinity

  • スケジューリングの許容度

ポッドが特定のノードで実行される場合でも、Affinity、anti-affinity、およびtolerationの設定がスケジューリングに使用されます。 スケジューリング操作は比較的複雑で、事前にニーズに応じて計画する必要があります。 詳細な操作については、「スケジューリング」をご参照ください。

ラベルと注釈

ポッドラベル

ワークロードに属する各ポッドにラベル (Label) を追加します。 ワークロードやサービスなど、クラスター内のさまざまなリソースは、ラベルを介してポッドと一致します。 ACKは、デフォルトでapp: (アプリケーション名) の形式のラベルをポッドに追加します。

ポッドの注釈

ワークロードに属する各ポッドにアノテーション (アノテーション) を追加します。 ACKの一部の機能は注釈を使用し、これらの機能を使用するときに編集できます。

ワークロードYAMLの例

apiVersion: apps/v1
kind: Deployment    # Workload type
metadata:
  name: nginx-test
  namespace: default  # Change the namespace as needed
  labels:
    app: nginx
spec:
  replicas: 2  # Specify the number of pods
  selector:
    matchLabels:
      app: nginx
  template: # Pod configuration
    metadata:
      labels: # Pod labels
        app: nginx 
      annotations: # Pod annotations
        description: "This is an application deployment"
    spec:
      containers:
      - name: nginx  # Image name
        image: nginx:1.7.9  # Use a specific version of the Nginx image
        ports:
        - name: nginx  # name
          containerPort: 80  # Port exposed by the container
          protocol: TCP  # Specify the protocol as TCP/UDP, default is TCP
        command: ["/bin/sh"]  # Container startup items
        args: [ "-c", "echo $(SPECIAL_LEVEL_KEY) $(SPECIAL_TYPE_KEY) && exec nginx -g 'daemon off;'"] # Output variables, add command to start nginx
        stdin: true  # Enable standard input
        tty: true    # Allocate a virtual terminal
        env:
          - name: SPECIAL_LEVEL_KEY
            valueFrom:
              configMapKeyRef:
                name: special-config  # Name of the configuration item
                key: SPECIAL_LEVEL    # Key name of the configuration item
        securityContext:
          privileged: true  # true to enable privileged mode, false to disable privileged mode, default is false
        resources:
          limits:
            cpu: "500m"               # Maximum CPU usage, 500 millicores
            memory: "256Mi"           # Maximum memory usage, 256 MiB
            ephemeral-storage: "1Gi"  # Maximum ephemeral storage usage, 1 GiB
          requests:
            cpu: "200m"               # Minimum requested CPU usage, 200 millicores
            memory: "128Mi"           # Minimum requested memory usage, 128 MiB
            ephemeral-storage: "500Mi" # Minimum requested ephemeral storage usage, 500 MiB
        livenessProbe:  # Liveness probe configuration
          httpGet:
            path: /
            port: 80
          initialDelaySeconds: 30
          periodSeconds: 10
        readinessProbe:  # Readiness probe configuration
          httpGet:
            path: /
            port: 80
          initialDelaySeconds: 5
          periodSeconds: 10
        volumeMounts:
        - name: tz-config
          mountPath: /etc/localtime
          readOnly: true
      volumes:
      - name: tz-config
        hostPath:
          path: /etc/localtime  # Mount the /etc/localtime file from the host to the same path inside the container through the volumeMounts and volumes fields.
---
# service
apiVersion: v1
kind: Service
metadata:
  name: nginx-test-svc
  namespace: default  # Change the namespace as needed
  labels:
    app: nginx
spec:
  selector:
    app: nginx  # Match label to ensure the service points to the correct pods
  ports:
    - port: 80           # Port provided by the service within the cluster
      targetPort: 80     # Port that the internal application listens to (containerPort)
      protocol: TCP      # Protocol, default is TCP
  type: ClusterIP        # Service type, default is ClusterIP, internal access
---
# ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx-ingress
  namespace: default  # Change the namespace as needed
  annotations:
    kubernetes.io/ingress.class: "nginx"  # Specify the type of Ingress controller
    # If using Alibaba Cloud SLB Ingress controller, you can specify as follows:
    # service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: "lb-xxxxxxxxxx"
    # service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec: "slb.spec.s1.small"
spec:
  rules:
    - host: foo.bar.com  # Replace with your domain name
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: nginx-service  # Backend service name
                port:
                  number: 80         # Backend service port
  tls:  # Optional, used to enable HTTPS
    - hosts:
        - foo.bar.com  # Replace with your domain name
      secretName: tls-secret  # TLS certificate secret name

関連ドキュメント

  • データベースなど、安定した永続ストレージを必要とするアプリケーションでは、StatefulSetの使用を検討してください。 詳細については、「StatefulSetの作成」をご参照ください。

  • ワークロードの作成時に問題が発生した場合は、ワークロードFAQを参照してください。

  • 異常なポッドの問題のトラブルシューティングについては、ポッド異常問題トラブルシューティングを参照してください。