- 会員限定
- 2022/12/23 掲載
実体験でわかった「Azure Kubernetes Service」のデプロイ、つまづきポイントとは?
山市良のマイクロソフトEYE
デモアプリのデプロイ、大まかな8つの手順
デモアプリのコンテナーイメージは、docker buildコマンド1行で簡単に作成できます。ここからの作業は、ローカルでAzure CLI(azコマンド)、Python(Azure CLIに含まれる)、Djangoが利用可能である必要があります。これらの導入方法については、前回の最後に説明しました。ドキュメント(デモアプリのREADME.md)に従ってAzureの各種サービスを準備していくわけですが、大まかな手順は以下のようになります。
- Azureコンテナーレジストリ(ACR)のコンテナーレジストリを作成し、「poll-app」コンテナーイメージをプッシュする。
- Azure File共有を作成する。
- AKSクラスターを作成する。
- Azure MySQLにデータベースを作成し、データベースにテーブルとユーザーを作成する。
- Azureキーコンテナー(Key Vault)を作成し、MySQLデータベースの接続文字列を含むキー値シークレットを作成する。
- Azureファイル共有に接続するためのシークレットを作成する。
- AKSにWindowsノード用のCSIプロバイダーをインストールする。
- Azure Pipelinesを実装し、Azure DevOpsビルドパイプラインを構築する。
手順が多く複雑なように見えますが、ほとんどの作業をPowerShellスクリプトがやってくれるようになっています(一部、マニュアルでコマンドラインを実行する作業もあります)。
最初に行うことは、PowerShellスクリプトに与える各種パラメーターを、「django-poll-app\scripts\powershell-scripts」ディレクトリにある「variables.txt」に設定することです(画面1)。
「variables.txt」では、AzureサブスクリプションIDや、リソースグループ名(リソースグループを削除することでデモ環境を完全にクリーンアップできます)、リージョン、各種Azureサービスのリソース名やパラメーター、MySQLデータベースのサーバー名やデータベース名、管理者ユーザーの名前とパスワードなどを定義します。
準備ができたら、PowerShellウィンドウで次のコマンドラインを接続し、Azureに接続します。
az login
「variables.txt」を定義する際には、いくつか注意が必要です。同じリソースグループに各種Azureサービスがセットアップされるため、利用可能なリージョンが限られています。
また、Azureサービスごとに命名規則(文字数や使用可能な文字種)に違いがあることにも注意が必要です。たとえば、AKSのLinuxノードプール名は最大12文字ですが、Windowsノードプールは6文字以下にする必要がありますし、ノードプール名は小文字の英数字のみを含むことができ、小文字で始まる必要があるなどです。
さらに、既定でKubernetesバージョン「1.24.3」が定義されていますが、このままだと「kubernetesVersion="1.24.3" windows agentpool is not supported for k8s version above 1.24.0」のエラーが発生し、Windowsノードプールの作成に失敗しました。
使用するリージョンでサポートされているバージョンを確認し、バージョン1.23系で最も新しい「1.23.12」を指定することで、エラーを回避できました。
az aks get-versions --location <リージョン> --output table【次ページ】ACRコンテナーレジストリの作成とイメージのプッシュ
関連コンテンツ
関連コンテンツ
PR
PR
PR
今すぐビジネス+IT会員にご登録ください。
すべて無料!今日から使える、仕事に役立つ情報満載!
-
ここでしか見られない
2万本超のオリジナル記事・動画・資料が見放題!
-
完全無料
登録料・月額料なし、完全無料で使い放題!
-
トレンドを聞いて学ぶ
年間1000本超の厳選セミナーに参加し放題!
-
興味関心のみ厳選
トピック(タグ)をフォローして自動収集!
投稿したコメントを
削除しますか?
あなたの投稿コメント編集
通報
報告が完了しました
必要な会員情報が不足しています。
必要な会員情報をすべてご登録いただくまでは、以下のサービスがご利用いただけません。
-
記事閲覧数の制限なし
-
[お気に入り]ボタンでの記事取り置き
-
タグフォロー
-
おすすめコンテンツの表示
詳細情報を入力して
会員限定機能を使いこなしましょう!
「」さんのブロックを解除しますか?
ブロックを解除するとお互いにフォローすることができるようになります。
ブロック
さんはあなたをフォローしたりあなたのコメントにいいねできなくなります。また、さんからの通知は表示されなくなります。
さんをブロックしますか?
ブロック
ブロックが完了しました
ブロック解除
ブロック解除が完了しました