Container Service Kubernetes オーケストレーションテンプレートで、アプリケーションの実行に必要なリソースオブジェクトを定義し、そのリソースオブジェクトをラベルセレクターを使用して、完全なアプリケーションに統合する必要があります。

始める前に

Kubernetes クラスターを作成します。 詳細は、「Kubernetes クラスターの作成」をご参照ください。

このタスクについて

この例では、Nginx アプリケーションを作成します。 はじめに、デプロイを作成して、バックエンドポッドのリソースオブジェクトを作成します。 次に、サービスをデプロイしてバックエンドポッドにバインドし、完全な Nginx アプリケーションを作成します。

手順

  1. Container Service コンソール にログインします。
  2. Container Service-Kubernetes の左側のナビゲーションウィンドウで、[アプリケーション] > [デプロイメント] をクリックします。
  3. 右上隅で、 [テンプレートから作成] をクリックします。
  4. テンプレートを設定し、[デプロイ] をクリックします。
    • クラスター: リソースオブジェクトがデプロイされるクラスターを選択します。
    • 名前空間: リソースオブジェクトが属する名前空間を選択します。 デフォルトの名前空間は "default" です。 ノードや永続ストレージボリュームのような基本的なコンピューティングリソースを除いて、ほとんどのリソースオブジェクトは名前空間上で実行される必要があります。
    • リソースタイプ: Alibaba Cloud Container Service は、多くのリソースタイプの Kubernetes YAML サンプルテンプレートを提供しています。これにより、リソースオブジェクトのデプロイを迅速に行えます。 Kubernetes YAML オーケストレーションのフォーマット要件に基づいて、独自のテンプレートを作成し、定義するリソースタイプを記述することができます。
    • デプロイの追加: この機能により、YAML テンプレートを素早く定義できます。
    • 既存のテンプレートによるデプロイ: 既存のテンプレートをテンプレート設定ページにインポートできます。
    Nginx アプリケーションのサンプルオーケストレーションは、以下のようになります。 オーケストレーションは 、Container Service でビルドされたオーケストレーションテンプレートをベースにしています。 このオーケストレーションテンプレートを使用することで、Nginx アプリケーションに属するデプロイを迅速に作成できます。
    Container Service は、Kubernetes YAML オーケストレーションをサポートします。このオーケストレーションでは、 --- 記号を使用してリソースオブジェクトを分離できます。これにより、1 つのテンプレートから複数のリソースオブジェクトを作成できます。
    apiVersion: apps/v1beta2 # for versions before 1.8.0 use apps/v1beta1
    kind: Deployment
    metadata:
        name: nginx-deployment
        labels:
          app: nginx
    spec:
        replicas: 2
        selector:
          matchLabels:
            app: nginx
        template:
          metadata:
            labels:
              app: nginx
          spec:
            containers:
            - name: nginx
              image: nginx:1.7.9 # replace it with your exactly <image_name:tags>
              ports:
              - containerPort: 80
    
    ---
    
    apiVersion: v1     # for versions before 1.8.0 use apps/v1beta1
    kind: Service
    metadata:
       name: my-service1        #TODO: to specify your service name
       labels:
         app: nginx
    spec:
       selector:
         app: nginx             #TODO: change label selector to match your backend pod
       ports:
       - protocol: TCP
         name: http
         port: 30080            #TODO: choose an unique port on each node to avoid port conflict
         targetPort: 80
       type: LoadBalancer        ##In this example, change the type from NodePort to LoadBalancer.
  5. [デプロイ] をクリックすると、デプロイステータスを示すメッセージが表示されます。 デプロイの成功後、メッセージの [Kubernetes ダッシュボード] をクリックしてダッシュボードに移動し、デプロイの進行状況を確認します。
  6. Kubernetes ダッシュボードで、"my-service1" という名前のサービスのデプロイが成功し、外部エンドポイントが公開されていることが確認できます。 [外部エンドポイント] に表示されているアクセスアドレスをクリックします。
  7. ブラウザで Nginx サービスのウェルカムページにアクセスできます。

次のタスク

Container Services のホームページに戻ることもできます。 Container Service-Kubernetes の左側のナビゲーションウィンドウで、 [ディスカバリとロードバランシング] > [サービス] を選択します。