このトピックでは、Container Service for Kubernetes (ACK) コンソールでACKサーバーレスクラスターを作成する方法について説明します。 このトピックでは、イメージからアプリケーションを作成し、ACKサーバーレスクラスターのコンテナーを表示する方法についても説明します。
前提条件
Elastic Container InstanceコンソールでElastic Container Instanceが有効化されています。
手順1: ACKサーバーレスクラスターの作成
このセクションでは、ACKサーバーレスクラスターを作成するために必要な主要なパラメーターのみについて説明します。 ビジネス要件に基づいて、他のパラメーターを設定し、コンポーネントをインストールできます。 詳細については、「ACKサーバーレスクラスターの作成」をご参照ください。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
On theクラスターページをクリックします。Kubernetesクラスターの作成.
表示されるページで、[ACK Serverless] タブをクリックし、次のパラメーターを設定します。
次のリストに、いくつかのパラメーターを示します。
パラメーター
説明
例
クラスター名
クラスターの名前を入力します。
説明名前は1 ~ 63文字で、数字、文字、ハイフン (-) を使用できます。
頼む-hangzhou
クラスター仕様
クラスタータイプを選択します。 [Professional] または [Basic] を選択できます。 Container Service for Kubernetes (ACK) Proクラスターは、本番環境とテスト環境で使用することを推奨します。 ACK Basicクラスターは、個々のユーザーの学習とテストのニーズを満たすことができます。
スタンダードエディション
リージョン
クラスターをデプロイするリージョンを選択します。
中国 (杭州)
[VPC]
クラスターをデプロイする仮想プライベートクラウド (VPC) を指定します。 KubernetesクラスターはVPCのみをサポートします。 [VPCの作成] または [既存のVPCの選択] を選択できます。
VPCの作成: このオプションを選択すると、ACKはVPCとVPC内のNATゲートウェイを自動的に作成します。 ACKは、NATゲートウェイでSNATルールも設定します。
[既存のVPCの選択]: このオプションを選択した場合、VPCドロップダウンリストからVPCを選択し、[vSwitch] セクションで [vSwitch] を選択する必要があります。 クラスターがコンテナイメージをダウンロードしたり、その他の操作を実行したりするためにインターネットアクセスを有効にする場合は、NATゲートウェイを設定する必要があります。 クラスターがデプロイされているリージョンのcontainer Registryインスタンスにコンテナイメージをアップロードすることを推奨します。 これにより、VPC経由でイメージをプルできます。
詳細については、「VPCの作成と管理」をご参照ください。
既存のVPCの選択
SNATの設定
NATゲートウェイを自動的に作成し、NATゲートウェイでSNATルールを設定するかどうかを指定します。
このパラメーターは、VPCを [VPCの作成] に設定した場合にのみ必要です。
説明[VPCの作成] を選択した後、NATゲートウェイを自動的に作成するかどうかを指定し、NATゲートウェイでSNATルールを設定できます。 このチェックボックスをオフにすると、手動でNATゲートウェイを作成し、NATゲートウェイでSNATルールを設定する必要があります。 それ以外の場合、VPCにデプロイされたクラスターはインターネットにアクセスできません。
詳細については、「インターネットNATゲートウェイの作成と管理」をご参照ください。
VPC 用の SNATの設定
サービスCIDR
Service CIDRブロックは、VPCのCIDRブロック、VPC内のACKクラスターのCIDRブロック、またはポッドCIDRブロックと重複してはなりません。 Service CIDRブロックは、指定後は変更できません。 クラスターのCIDRブロックを計画する方法の詳細については、「ACKクラスターのネットワークを計画する」をご参照ください。
172.21.0.0/20
APIサーバーへのアクセス
デフォルトでは、ACKサーバーレスクラスターのKubernetes APIサーバー用に内部対応のServer Load Balancer (SLB) インスタンスが作成されます。 SLBインスタンスの仕様を変更できます。 詳細は、「インスタンスの仕様」をご参照ください。
重要SLBインスタンスを削除すると、クラスターのKubernetes APIサーバーにアクセスできなくなります。
[APIサーバーをEIPで公開] を選択またはオフにします。 Kubernetes APIサーバーには、複数のHTTPベースのRESTful APIが用意されており、ポッドやサービスなどのリソースの作成、削除、変更、クエリ、監視に使用できます。
このチェックボックスをオンにすると、elastic IPアドレス (EIP) が作成され、ACKサーバーレスクラスターによってSLBインスタンスに関連付けられます。 この場合、クラスターのKubernetes APIサーバーは、EIPのポート6443を介してインターネットに公開されます。 kubeconfigファイルを使用して、インターネット経由でクラスターに接続して管理できます。
このチェックボックスをオフにすると、EIP は作成されません。 VPC内からのみkubeconfigファイルを使用して、クラスターに接続して管理できます。
詳細については、「クラスターのAPIサーバーへのパブリックアクセスの制御」をご参照ください。
EIPでAPIサーバーを公開する
セキュリティグループ
[既存のセキュリティグループの選択] オプションを選択できるのは、ホワイトリストのユーザーのみです。 ホワイトリストへの追加を申請するには、Quota Centerコンソールにログインして申請を送信します。
選択できます基本作成セキュリティグループ,高度な作成セキュリティグループ、または既存の選択セキュリティグループ.
デフォルトでは、自動的に作成されたセキュリティグループはすべてのアウトバウンドトラフィックを許可します。 業務用にセキュリティグループを変更する場合は、
100.64.0.0/10
宛のトラフィックが許可されていることを確認してください。 このCIDRブロックは、他のAlibaba Cloudサービスにアクセスしてイメージをプルし、基本的なECS情報を照会するために使用されます。既存のセキュリティグループを選択した場合、セキュリティグループルールは自動的に設定されません。 これにより、クラスター内のノードにアクセスするときにエラーが発生する可能性があります。 セキュリティグループルールを手動で設定する必要があります。 詳細については、「クラスターのセキュリティグループの設定」をご参照ください。
高度なセキュリティグループの作成
クラスタードメイン
クラスターのドメイン名を入力します。 デフォルト値: cluster.local
cluster.local
利用規約
クラスターを作成する前に、[サーバーレスKubernetesの利用規約] を読んで選択する必要があります。
利用規約の選択
クラスターの設定後、ページの右下にある [次へ: コンポーネントの設定] をクリックしてコンポーネントを設定します。
パラメーター
説明
例
サービスの発見
サービス検出機能を有効にするかどうかを指定します。 デフォルト値: 無効。 詳細については、「ACKサーバーレスサービスの検出とDNS」をご参照ください。
[PrivateZone] を選択して、PrivateZoneサービスを有効にします。
CoreDNSを選択して、CoreDNSサービスを有効にします。
Disable
Ingress
Ingressコントローラをインストールするかどうかを指定します。 デフォルトでは、[インストールしない] が選択されています。
Nginx Ingressを選択すると、NGINX Ingressコントローラーが自動的にインストールされます。 NGINX Ingressコントローラーの詳細については、「高度なIngress設定」をご参照ください。
ALB Ingressを選択すると、Application Load Balancer (ALB) Ingressコントローラーが自動的にインストールされます。 ALB Ingressを使用してACKサーバーレスクラスターのサービスにアクセスする方法の詳細については、「ALB Ingressを使用したサービスへのアクセス」をご参照ください。
インストールしない
監視サービス
metrics-serverコンポーネントをインストールするかどうかを指定します。 デフォルトでは、Install metrics-serverは選択されていません。
モニタリングサービスを有効にするには、[Install metrics-server] を選択することを推奨します。
メトリクスサーバーのインストール
Log Service
Log Serviceを有効にするかどうかを指定します。 既存のLog Serviceプロジェクトを選択するか、作成することができます。 デフォルトでは、Log Serviceの有効化が選択されています。
これにより、アプリケーションの作成時に簡単な設定でLog Serviceを使用できます。 詳細については、「ポッド環境変数を使用したアプリケーションログの収集」をご参照ください。
プロジェクトの作成
Knative
Knativeを有効にするかどうかを指定します。 デフォルトでは、Knativeの有効化は選択されていません。 詳細については、「Knativeの概要」をご参照ください。
Knativeの有効化
コンポーネントを設定したら、ページの右下にある [次へ: 注文の確認] をクリックします。
[注文の確認] ウィザードページで、[サービス期間] セクションの [サーバーレスKubernetesの利用規約] を選択し、[クラスターの作成] をクリックします。
次に何をすべきか
ACKサーバーレスクラスターの作成後、コンソールの [クラスター] ページで確認できます。
[クラスター] ページで、作成したクラスターを見つけ、[操作] 列の [詳細] をクリックします。 詳細ページで、[基本情報] タブをクリックしてクラスターに関する基本情報を表示し、[接続情報] タブをクリックしてクラスターへの接続方法に関する情報を表示します。
ステップ2: イメージからアプリケーションを作成する
このセクションでは、イメージからアプリケーションを作成するために必要な主要なパラメーターのみについて説明します。 詳細については、「イメージからステートレスアプリケーションを作成する」をご参照ください。
1. 基本情報の設定
詳細ページの左側のナビゲーションウィンドウで、 を選択します。
[デプロイメント] ページの右上隅にある [イメージから作成] をクリックします。
[基本情報] ウィザードページで、アプリケーションの基本設定を構成します。
パラメーター
説明
例
名前
アプリケーションの名前を入力します。
serverless-app-deployment
タイプ
リソースオブジェクトのタイプを指定します。 有効な値には、DeploymentとStatefulSetが含まれます。
Deployment
[次へ] をクリックします。
2. コンテナー設定の構成Configure container settings
コンテナーウィザードページの [全般] セクションで、コンテナーの基本設定を構成します。
パラメーター
説明
例
イメージ名
画像を選択するには、[画像の選択] をクリックします。 [画像の選択] ダイアログボックスで画像を選択し、[OK] をクリックします。
プライベートレジストリに保存されている画像のアドレスを入力することもできます。 イメージアドレスは、
domainname/namespace/imagename:tag
の形式である必要があります。この例では、Container Registry Personal Editionインスタンスに保存されているイメージが使用されます。 インスタンスは中国 (杭州) リージョンにデプロイされています。
イメージバージョン
[イメージバージョンの選択] をクリックし、イメージバージョンを選択します。 イメージバージョンを指定しない場合は、最新のイメージバージョンが使用されます。
この例では、イメージバージョンは指定されていません。
[ポート] セクションで、[追加] をクリックして、1つ以上のコンテナーポートを設定します。
パラメーター
説明
例
名前
コンテナーポートの名前を入力します。
nginx
コンテナポート
公開するコンテナーポートを指定します。 ポート番号は1〜65535である必要があります。
80
プロトコル
有効な値: TCPおよびUDP。
TCP
[次へ] をクリックします。
3. 詳細設定の構成Configure advanced settings
[詳細] ウィザードページの [アクセス制御] セクションで、バックエンドポッドを公開するようにサービスを設定します。
[サービス] の右側にある [作成] をクリックします。 [サービスの作成] ダイアログボックスで、次のパラメーターを設定します。
パラメーター
説明
例
名前
サービスの名前を入力します。
serverless-app-svc
タイプ
サービスのタイプ。 このパラメーターは、サービスへのアクセス方法を決定します。
[Server Load Balancer] を選択します。 次に、[パブリックアクセス] および [SLBインスタンスの作成] を選択します。 [変更] をクリックすると、ビジネス要件に基づいてServer Load Balancer (SLB) インスタンス仕様を変更できます。
この例では、デフォルト仕様のSmall I (slb.s1.small) が使用されています。
ポートマッピング
サービスポートとコンテナーポートを指定します。 コンテナーポートは、バックエンドポッドで公開されているものと同じである必要があります。
この例では、サービスポートは8080に設定され、コンテナポートは80に設定されています。
作成したサービスは、[アクセス制御] セクションにあります。 [更新] または [削除] をクリックして、設定を変更できます。
[作成] をクリックします。
4。 NGINXアプリケーションへのアクセス
[完了] ウィザードページで、[詳細の表示] をクリックします。 serverless-app-deploymentは [デプロイメント] ページで確認できます。
NGINXアプリケーションにアクセスします。
クラスターの詳細ページの左側のナビゲーションウィンドウで、 を選択します。 [サービス] ページで、serverless-app-svcサービスを確認できます。
ブラウザを使用してNGINXアプリケーションにアクセスするには、[外部エンドポイント] 列のアドレスをクリックします。
説明Ingressを使用してアプリケーションにアクセスする方法の詳細については、「ALB Ingressを使用したサービスへのアクセス」をご参照ください。
ステップ3: ポッドを表示する
詳細ページの左側のナビゲーションウィンドウで、 を選択します。
表示するポッドを選択し、[操作] 列の [詳細] をクリックします。
説明必要に応じてポッドを変更または削除できます。 テンプレートを使用して作成されたポッドを管理するには、テンプレートを使用することを推奨します。 これらのポッドを直接変更または削除しないでください。
ポッドの詳細ページで、ポッドに関する詳細情報を表示できます。