エラスティックコンテナインスタンスは、Container Service for Kubernetes(ACK)にシームレスに統合されています。ACKクラスターまたはACK Serverlessクラスターを使用して、エラスティックコンテナインスタンスが提供するコンテナ実行機能を体験できます。このトピックでは、ACK Serverlessクラスターでエラスティックコンテナインスタンスを使用する方法について説明します。
準備を行う
ACKでエラスティックコンテナインスタンスを使用するには、ACKおよびエラスティックコンテナインスタンスサービスをアクティブ化し、デフォルトのロールをACKに割り当てる必要があります。
ACKサービスをアクティブ化し、デフォルトのロールをACKに割り当て、関連するクラウドサービスをアクティブ化します。詳細については、初めてのユーザーのためのクイックスタートを参照してください。
エラスティックコンテナインスタンスコンソールにログインし、画面の指示に従ってエラスティックコンテナインスタンスサービスをアクティブ化します。
作成ACK Serverlessクラスターをする
このセクションでは、ACK Serverlessクラスターの基本的な構成についてのみ説明します。実際の運用では、ビジネス要件に基づいて関連パラメータを設定し、対応するコンポーネントをインストールします。詳細については、ACK Serverlessクラスターを作成するを参照してください。
クラスターの作成ページに移動します。
ACKコンソールにログインします。
左側のナビゲーションペインで、クラスターをクリックします。
クラスターページの右上隅にあるKubernetesクラスターの作成をクリックします。
ページの上部にあるACK Serverlessタブをクリックし、クラスター構成ステップでパラメータを設定してから、次へ:コンポーネント構成をクリックします。
次の表に、主要なパラメータを示します。その他のパラメータは、ビジネス要件に基づいて設定してください。
パラメータ
例
説明
クラスター名
test
クラスターの名前。
リージョン
中国(北京)
クラスターを作成するリージョン。
VPC
VPCを作成
クラスターが属する仮想プライベートクラウド(VPC)。
VPCを作成:ゾーンを選択する必要があります。システムは、ゾーンにVPCとvSwitchを自動的に作成します。また、システムはVPCにNATゲートウェイを自動的に作成し、VPCのSNATルールを設定します。
既存のVPCを選択:既存のVPCとvSwitchを選択します。
SNATの設定
VPCにSNATを設定
クラスターのインターネットアクセスを有効にする場合は、SNATルールを設定する必要があります。
VPCを作成することを選択した場合、システムはVPCのSNATルールを自動的に設定します。
既存のVPCを使用する場合は、ビジネス要件に基づいてSNATルールを設定するかどうかを決定します。
サービスCIDR
172.21.0.0/20
クラスターのサービスCIDRブロック。指定するCIDRブロックは、VPCのCIDRブロック、またはVPC内の既存のクラスターのCIDRブロックと重複することはできません。クラスターの作成後、CIDRブロックを変更することはできません。詳細については、ACKクラスターのネットワークを計画するを参照してください。
APIサーバーへのアクセス
EIPでAPIサーバーを公開
要件に基づいて、EIPでAPIサーバーを公開するかどうかを選択します。Kubernetes APIサーバーは、複数のHTTPベースのRESTful API操作を提供します。これらを使用して、ポッドやサービスなどのリソースを作成、削除、変更、クエリ、および監視できます。
EIPでAPIサーバーを公開を選択すると、システムはElastic IP Address(EIP)を作成し、EIPをSLBインスタンスに関連付けます。この場合、クラスターのKubernetes APIサーバーは、EIPのポート6443を介してインターネットに公開されます。 kubeconfigファイルを使用して、インターネット経由でクラスターに接続し、管理できます。
EIPでAPIサーバーを公開の選択を解除すると、EIPは作成されません。 kubeconfigファイルを使用して、VPC内からのみクラスターに接続し、管理できます。
コンポーネント構成ステップでパラメータを設定し、次へ:注文の確認をクリックします。
ビジネス要件に基づいてコンポーネントを設定します。コンポーネントの使用には関連コストが発生します。このチュートリアルでは、コンポーネントは使用しません。
構成を確認し、利用規約のチェックボックスを読んで選択し、クラスターの作成をクリックします。
クラスターページに戻ります。クラスターが実行中状態の場合、クラスターは作成されています。
アプリケーションをデプロイするACK Serverlessクラスターにアプリケーションをする
このセクションでは、ACK Serverlessクラスターにエラスティックコンテナインスタンスを作成し、エラスティックコンテナインスタンスにアプリケーションをデプロイする方法について説明します。
クラスターページで、NGINXアプリケーションをデプロイするACK Serverlessクラスターを見つけ、クラスター名をクリックします。
Deploymentを作成してNGINXアプリケーションをデプロイします。
左側のナビゲーションペインで、ワークロード> Deploymentを選択します。
Deploymentページの右上隅にあるYAMLから作成をクリックします。
YAMLテンプレートの内容を変更し、作成をクリックします。
デフォルトでは、リソースベースのdeploymentサンプルテンプレートが選択されています。 YAMLテンプレートは、作成されるDeploymentの2つのポッドを宣言します。各ポッドにはapp: nginxラベルがあり、NGINXアプリケーションがデプロイされているコンテナを実行します。
説明サンプルテンプレートの
image: nginx:1.7.9は、Docker HubからプルされるNGINX 1.7.9イメージを表します。クラスターのインターネットアクセスが無効になっている場合、イメージをプルできません。イメージをVPC内のイメージ(image: registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2など)に置き換えます。
Deploymentが作成されているかどうかを確認します。
Deploymentページで、Deploymentの情報を確認します。
DeploymentのPods列の
2/2の値は、Deploymentが作成され、Deployment内の2つのポッドが実行されていることを示します。
Deploymentページで、Deploymentの名前をクリックして、Deploymentの詳細を表示します。
Podsタブで、両方のポッドが実行中状態であることがわかります。ポッドの名前をクリックして、詳細を表示します。

各ポッドはエラスティックコンテナインスタンスです。エラスティックコンテナインスタンスコンソールのコンテナグループページで、エラスティックコンテナインスタンスを表示できます。

NGINXアプリケーションのServiceを作成し、NGINXアプリケーションのアクセスモードを設定します。
ACK Serverlessクラスターの詳細ページの左側のナビゲーションペインで、ネットワーク> サービスを選択します。
サービスページの右上隅にあるYAMLでリソースを作成をクリックします。
次のYAMLファイルの内容をコピーし、テンプレートエディターに貼り付けて、作成をクリックします。
次のYAMLファイルは、LoadBalancerタイプのサービスを作成します。ポート80が有効になっています。app: nginxラベルが付いているポッド(作成されたDeployment内のポッド)は、サービスのバックエンドサーバーです。
apiVersion: v1 kind: Service metadata: name: nginx-service spec: ports: - port: 80 protocol: TCP selector: app: nginx type: LoadBalancerサービスが作成されているかどうかを確認します。
サービスページで、サービスの名前をクリックして、サービスの詳細を表示します。サービスは、前のステップで作成されたDeploymentに自動的に関連付けられます。バックエンドエンドポイントは、Deploymentに含まれる2つのポッドです。

NGINXアプリケーションにアクセスします。
サービスの外部エンドポイントにある
IPアドレス:ポート番号をクリックして、NGINXアプリケーションにアクセスします。