クイック スタート: Azure CLI を使用して AKS クラスター用の Azure Linux コンテナー ホストをデプロイする
Azure CLI を使用して AKS クラスター用の Azure Linux コンテナー ホストをデプロイすることで、Azure Linux コンテナー ホストの使用を開始します。 前提条件をインストールしたら、リソース グループを作成し、AKS クラスターを作成し、クラスターに接続して、クラスターでサンプルのマルチコンテナー アプリケーションを実行します。
前提条件
-
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
Azure Cloud Shell で Bash 環境を使用します。 詳細については、Azure Cloud Shell の Bash のクイックスタートに関するページを参照してください。
CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。
ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。
初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。
az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。
リソース グループを作成する
Azure リソース グループは、Azure リソースが展開され管理される論理グループです。 リソース グループを作成するときは、場所を指定する必要があります。 この場所は次のとおりです。
- リソース グループ メタデータのストレージの場所。
- リソースの作成時に別のリージョンを指定しない場合に、Azure でリソースが実行される場所です。
eastus リージョンに testAzureLinuxResourceGroup という名前のリソース グループを作成するには、次の手順に従います。
az group create
コマンドを使用して、リソース グループを作成します。
az group create --name testAzureLinuxReourceGroup --location eastus
次の出力は、リソース グループが正常に作成されたときと似ています。
{
"id": "/subscriptions/<guid>/resourceGroups/testAzureLinuxResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "testAzureLinuxResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Note
上の例では eastus を使用していますが、Azure Linux コンテナー ホスト クラスターはすべてのリージョンで使用できます。
Azure Linux コンテナー ホスト クラスターを作成する。
--os-sku
パラメーターを指定した az aks create
コマンドを使用して AKS クラスターを作成し、Azure Linux イメージを使用して AKS クラスターをプロビジョニングします。 次の例では、1 つのノードを持つ testAzureLinuxCluster という名前の Azure Linux クラスターを作成します。
az aks create --name testAzureLinuxCluster --resource-group testAzureLinuxResourceGroup --os-sku AzureLinux
数分後、コマンドが完了し、クラスターに関する情報が JSON 形式で返されます。
クラスターに接続する
Kubernetes クラスターを管理するには、Kubernetes のコマンドライン クライアントである kubectl を使います。
az aks get-credentials
コマンドを使用して、Kubernetes クラスターに接続するようにkubectl
を構成します。
az aks get-credentials --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster
- kubectl get コマンドを使用して、ご利用のクラスターへの接続を確認します。 コマンドによって、ポッドの一覧が返されます。
kubectl get pods --all-namespaces
アプリケーションの配置
Kubernetes のマニフェスト ファイルでは、どのコンテナー イメージを実行するかなど、クラスターの望ましい状態を定義します。
このクイックスタートでは、マニフェストを使用して、Azure Vote アプリケーションを実行するために必要なすべてのオブジェクトを作成します。 このマニフェストには、次の 2 つの Kubernetes デプロイが含まれています。
- サンプルの Azure Vote Python アプリケーション。
- Redis インスタンス。
次の 2 つの Kubernetes サービスも作成されます。
- Redis インスタンス用の内部サービス。
- インターネットから Azure Vote アプリケーションにアクセスするための外部サービス。
azure-vote.yaml
という名前のファイルを作成し、そこに次のマニフェストをコピーします。- Azure Cloud Shell を使用する場合は、仮想または物理システムで作業するときと同じように、
code
、vi
、またはnano
を使用してこのファイルを作成できます。
apiVersion: apps/v1 kind: Deployment metadata: name: azure-vote-back spec: replicas: 1 selector: matchLabels: app: azure-vote-back template: metadata: labels: app: azure-vote-back spec: nodeSelector: "kubernetes.io/os": linux containers: - name: azure-vote-back image: mcr.microsoft.com/oss/bitnami/redis:6.0.8 env: - name: ALLOW_EMPTY_PASSWORD value: "yes" resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi ports: - containerPort: 6379 name: redis --- apiVersion: v1 kind: Service metadata: name: azure-vote-back spec: ports: - port: 6379 selector: app: azure-vote-back --- apiVersion: apps/v1 kind: Deployment metadata: name: azure-vote-front spec: replicas: 1 selector: matchLabels: app: azure-vote-front template: metadata: labels: app: azure-vote-front spec: nodeSelector: "kubernetes.io/os": linux containers: - name: azure-vote-front image: mcr.microsoft.com/azuredocs/azure-vote-front:v1 resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi ports: - containerPort: 80 env: - name: REDIS value: "azure-vote-back" --- apiVersion: v1 kind: Service metadata: name: azure-vote-front spec: type: LoadBalancer ports: - port: 80 selector: app: azure-vote-front
YAML マニフェスト ファイルの内訳については、「デプロイと YAML マニフェスト」を参照してください。
- Azure Cloud Shell を使用する場合は、仮想または物理システムで作業するときと同じように、
kubectl apply コマンドを使用してアプリケーションをデプロイし、ご利用の YAML マニフェストの名前を指定します。
kubectl apply -f azure-vote.yaml
デプロイとサービスが正常に作成されたことを示す出力の例は、次のようになります。
deployment "azure-vote-back" created service "azure-vote-back" created deployment "azure-vote-front" created service "azure-vote-front" created
アプリケーションをテストする
アプリケーションが実行されると、Kubernetes サービスによってアプリケーション フロントエンドがインターネットに公開されます。 このプロセスが完了するまでに数分かかることがあります。
kubectl get service コマンドと --watch
引数を使用して、進行状況を監視します。
kubectl get service azure-vote-front --watch
azure-vote-front
サービスの [EXTERNAL-IP] の出力は、最初は pending と表示されます。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
EXTERNAL-IP アドレスが保留中から実際のパブリック IP アドレスに変わったら、CTRL-C
を使用して kubectl
ウォッチ プロセスを停止します。 次の出力例は、サービスに割り当てられている有効なパブリック IP アドレスを示しています。
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
Azure Vote アプリが動作していることを確認するには、Web ブラウザーを開いてサービスの外部 IP アドレスにアクセスします。
クラスターを削除する
以降のチュートリアルを続行しない場合は、Azure の料金が発生しないように、不要なリソースをクリーンアップしてください。 az group delete
コマンドを使用して、リソース グループと関連するリソースをすべて削除します。
az group delete --name testAzureLinuxCluster --yes --no-wait
次のステップ
このクイックスタートでは、Azure Linux コンテナー ホスト クラスターをデプロイしました。 Azure Linux コンテナー ホストの詳細を確認し、クラスターのデプロイと管理の詳細な例を確認するには、Azure Linux コンテナー ホストのチュートリアルに進んでください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示