Azure Kubernetes Service (AKS) の自動デプロイ
自動デプロイを使うと、GitHub Action を設定し、Azure Kubernetes Service (AKS) クラスターに対するコード リリースのための自動パイプラインを作成するプロセスを簡略化できます。 接続が完了すると、新しいコミットのたびにパイプラインが起動され、アプリケーションが更新されることになります。
Note
プライベート クラスターは現在サポートされていません。
前提条件
- GitHub アカウント。
- AKS クラスター。 持っていない場合は、「Azure Kubernetes Service (AKS) クラスターのデプロイ」の手順を使用して作成できます。
- Azure Container Registry (ACR)。 持っていない場合は、「Azure Container Registry (ACR) と Azure Kubernetes Service (AKS) クラスターの統合」の手順を使用して作成できます。
- デプロイするアプリケーション。
自動化されたデプロイを構成する
- Azure portal で、ご使用の AKS クラスター リソースに移動します。
- サービス メニューの [設定] で、[自動デプロイ]>[作成] を選択します。 これによって、"自動的にコンテナー化してデプロイする" と "アプリケーションをデプロイする" という 2 つのオプションが表示されます。
- まだコンテナ化されていないアプリケーションがある場合は、[自動的にコンテナ化してデプロイする] を選択すると、Azure がプロセスを自動で処理します。 コンテナ化されたアプリケーションが既にある場合は、[アプリケーションをデプロイする] を選択します。
アプリケーションを自動的にコンテナ化して AKS クラスターにデプロイする
- ワークフローの名前を入力した後、[アクセスの承認] を選択して、Azure アカウントを GitHub アカウントに接続します。 アカウントがリンクされたら、GitHub Action を作成するリポジトリとブランチを選びます。
- Azure portal に戻って、残りのフィールドを埋め、デプロイ成果物を自動的に生成するために使用されるアプリケーションの詳細を指定します。
- 自動デプロイを確認して検証します。
既にコンテナ化されたアプリケーションを AKS クラスターにデプロイする
- ワークフローの名前を入力した後、[アクセスの承認] を選択して、Azure アカウントを GitHub アカウントに接続します。 アカウントがリンクされたら、GitHub Action を作成するリポジトリとブランチを選びます。
- [次へ: イメージ] を選択し、Dockerfile、Azure コンテナー レジストリ、イメージ名を選択します。
- [次へ: デプロイの詳細] を選択し、Helm と通常の Kubernetes マニフェストのどちらを使用してデプロイしたいかを決定します。 決定したら、リポジトリから適切なデプロイ ファイルを選択し、デプロイ先としたい名前空間を決定します。
- 自動デプロイを確認して検証します。
自動デプロイの確認と検証
完了したら、[次へ: 確認] を選択し、デプロイを確認します。
[次へ: デプロイ] を選択して、自動デプロイの作成を完了します。
[pull request の表示] を選択して GitHub アクションを表示します。
pull request をマージして GitHub Action を開始し、アプリケーションをデプロイします。
アプリケーションがデプロイされたら、Azure portal に戻り、AKS クラスター リソースに移動し、[自動デプロイ] を選択してデプロイの状態を確認します。
リソースをクリーンアップする
作成した関連リソースが不要になった場合は、個別に、または所属するリソース グループを削除することで削除できます。 自動デプロイを削除するには、自動デプロイ ダッシュボードに移動し、[...] を選択した後、[削除] を選択してアクションを確定します。
次の手順
このような GitHub Actions をチームのニーズに合わせて変更するには、Visual Studio Code などのエディターで開き、必要に応じて変更します。
詳細については、Kubernetes 向け GitHub Actions に関する記事を参照してください。
Azure Kubernetes Service