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

Container Service for Kubernetes:NGINX を使用した Web アプリケーションのデプロイ

最終更新日:Nov 09, 2025

Serverless Kubernetes クラスターでは、ノードを作成または管理する必要はありません。これにより、ノードのセキュリティメンテナンスなどの運用保守 (O&M) タスクから解放され、基盤となるインフラストラクチャではなくアプリケーションに集中できます。このトピックでは、Serverless Kubernetes クラスターを使用して、公式の NGINX イメージに基づくオンライン Web アプリケーションを迅速にデプロイする方法について説明します。

重要

作成したリソースには、30 分あたり約 0.05 USD がかかります。このトピックの手順を完了した後、作成したリソースを解放できます。

前提条件

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

コンソールを使用したデプロイ

ステップ 1: NGINX アプリケーションを作成し、Service を使用してアプリケーションを公開する

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

  2. クラスター ページで、管理するクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、ワークロード > 展開 を選択します。

  3. [デプロイメント] ページで、右上隅にある [イメージから作成] をクリックします。

  4. [基本情報] ページでパラメーターを設定し、[次へ] をクリックします。

    他のパラメーターにはデフォルト値を使用します。

    パラメーター

    アプリケーション名

    nginx-deploy

    レプリカ数

    1

  5. [コンテナー] ページでパラメーターを設定し、[次へ] をクリックします。

    他のパラメーターにはデフォルト値を使用します。

    パラメーター

    イメージ名

    anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6

    必須リソース

    • CPU: 1 コア

    • メモリ: 2 GB

    ポート

    • 名前: example-port

    • サービスポート: 80

    • コンテナーポート: 80

    • プロトコル: TCP

  6. [詳細設定] ページで、[Service] の横にある [作成] をクリックします。表示されるパネルでパラメーターを設定し、[OK] をクリックします。

    他のパラメーターにはデフォルト値を使用します。

    パラメーター

    サービス名

    nginx-deploy-svc-test

    サービスタイプ

    Server Load Balancer (LoadBalancer)

    • ロードバランサータイプ: Classic Load Balancer (CLB)

    • リソースの選択: リソースの作成

    ポートマッピング

    • 名前: example-map

    • サービスポート: 80

    • コンテナーポート: 80

    • プロトコル: TCP

  7. [作成] をクリックし、次に [詳細の表示] をクリックします。

  8. Deployment の詳細ページで、[Pod] タブをクリックし、Pod のステータスが [実行中] に変わるまで待ちます。次に、[アクセス方法] タブをクリックし、[外部エンドポイント] フィールドからパブリック IP アドレスをコピーします。

kubectl の使用

説明

オンプレミスのマシンまたは Cloud Shell で kubectl を使用して、次の操作を実行できます。Cloud Shell で kubectl を使用する場合、config ファイルを構成する必要はありません。

ステップ 1: NGINX アプリケーションを作成し、Service を使用してアプリケーションを公開する

  1. kubectl を使用して Serverless Kubernetes クラスターに接続します。詳細については、「kubectl を使用して Kubernetes クラスターに接続する」をご参照ください。

  2. 次のコードブロックを使用して nginx.yaml ファイルを作成します。

    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-deploy-svc
    spec:
      ports:
      - port: 80
        protocol: TCP
      selector:
        app: nginx
      type: LoadBalancer
    ---
    apiVersion: apps/v1  # Kubernetes のバージョンに対応する API バージョンを使用します。
    kind: Deployment
    metadata:
      name: nginx-deploy
      labels:
        app: nginx
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
            ports:
            - containerPort: 80
            resources:
              requests:
                cpu: "1"
                memory: "2Gi"
  3. 次のコマンドを実行して、クラスター内の nginx.yaml ファイルを使用してアプリケーションをデプロイします。

    kubectl apply -f nginx.yaml

    予想される出力:

    service/nginx-service created
    deployment.apps/nginx-deploy created
  4. 次のコマンドを実行して、アプリケーションの詳細を表示します。

    kubectl get deploy

    予想される出力:

    NAME           READY   UP-TO-DATE   AVAILABLE   AGE
    nginx-deploy   1/1     1            1           9m32s
  5. 次のコマンドを実行して Service の詳細を表示し、nginx-service Service のパブリック IP アドレス (EXTERNAL-IP) を記録します。

    kubectl get svc

    予想される出力:

    NAME            TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
    kubernetes      ClusterIP      172.XX.X.X     <none>        443/TCP        10d
    nginx-service   LoadBalancer   172.19.X.XXX   47.57.XX.XX   80:32278/TCP   39s

ステップ 2: NGINX アプリケーションへのアクセスのテスト

ブラウザで、Service のパブリック IP アドレス (EXTERNAL-IP) を入力し、Enter キーを押します。

次の図に示すように NGINX のウェルカムページが表示された場合、アプリケーションと Service は正常に動作しています。

nginx

次のステップ

アプリケーションの自動スケーリングポリシーを構成します。詳細については、「クラスターの自動スケーリングポリシーを構成する」をご参照ください。

自動スケーリングを構成しない場合は、次の手順を実行して作成したリソースを解放できます。

作成したアプリケーションとサービスの削除

  1. Container Service for Kubernetes (ACK) コンソール[クラスター] ページで、ターゲットクラスターの名前をクリックします。

  2. 左側のナビゲーションウィンドウで、[ワークロード] > [デプロイメント] を選択します。作成した NGINX アプリケーションを選択し、[一括削除] をクリックして、画面の指示に従って削除を確認します。

クラスターの削除

Serverless Kubernetes クラスターはパブリックプレビュー中であり、無料トライアルを提供しています。ただし、Serverless Kubernetes クラスターで使用される他の Alibaba Cloud サービスについては、サービスの課金ルールに基づいて料金を支払う必要があります。料金はこれらの Alibaba Cloud サービスによって個別に請求されます。構成が完了したら、次のいずれかの方法でクラスターを管理できます。

  • クラスターが不要になった場合は、ACK コンソールにログインします。[クラスター] ページで、クラスターの [アクション] 列で [その他] > [削除] を選択してクラスターを削除します。[クラスターの削除] ダイアログボックスで、[クラスターによって作成された ALB インスタンスの削除][クラスターによって作成された Alibaba Cloud DNS PrivateZone インスタンスの削除]、および [上記情報を理解し、指定したクラスターを削除します] を選択し、[OK] をクリックします。Serverless Kubernetes クラスターの削除方法の詳細については、「Serverless Kubernetes クラスターの削除」をご参照ください。

  • クラスターを引き続き使用する場合は、トライアル期間が終了する少なくとも 1 時間前に Alibaba Cloud アカウントにチャージし、アカウントの残高が 100 CNY 以上であることを確認してください。Serverless Kubernetes Pro クラスターで使用される Alibaba Cloud サービスの課金の詳細については、「クラウドサービス料金」をご参照ください。