「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。 目次 †環境 †シェル †
操作者の権限 †以下の権限を持つユーザで作業
その他 †アカウント †以下で固定になってるので、必要に応じて変更する。
F/WへのFQDN追加 †...見つけ次第、書く。 †構成 †全体構成図 †AKS_TechnicalReference_v0.14(ppt).zipに同梱のPPTから引用 ネットワーク構成 †構成概要 †コチラの推奨設定と少々異なる(プライベートAKSクラスタにする)。
※ サマリすると
となる。 入力経路 †インバウンド(イングレス
出力経路 †アウトバウンド(エグレス 以下の併用
VNET・サブネット †認証・認可 †保守用端末を VNET 内に設置する想定。 Azureポータル, Azure CLI (ARM API) †プライベート化しない(既存のアクセス制限機能を想定) 制御プレーンの実行アカウント (SPN) †Managed ID 方式で作成する。 ダッシュボード, Kubernetes CLI (Master API) †
AKSユーザ・アプリからのリソース・アクセス †Secret機能を使用 基盤保守 †日次パッチ †
オンデマンド †必要に応じて バージョンアップを手動で実施。 開発~デプロイ †VNET 内に本番用コンテナ・レジストリを配置するのみ 手順 †https://github.com/tsubasaxZZZ/aks-hardway/blob/master/deploy-private-cluster.md 準備作業 †サブスクリプションの選択 †※ 必要に応じて、サブスクリプションの選択を行う。 ※ 「SUBSCRIPTION_NAMEは各自で書き換え」とのこと。 ※ 再開の際は、再実行(テキスト・ファイルへ)。 パラメタの設定 †※ 「NAME_PREFIXは各自で書き換え」とのこと。 ※ 再開の際は、再実行(テキスト・ファイルへ)。 Azure CLI拡張機能のインストール †AKS プレビュー機能のインストール †※ 「時間かかるので注意(20 分ぐらい)」とのこと。 共通準備 †パラメタの設定 †以下のパートのスクリプトを実行して、パラメタを設定 # Parameters ※ 再開の際は、再実行(テキスト・ファイルへ)。 リソース・グループの作成 †以下のパートのスクリプトを実行 # Create Resouce Group
診断ログ・ストレージの作成 †以下のパートのスクリプトを実行 # Create Diagnostics Storage ※ インターネット・アクセス禁止オプションあり。 Log Analytics & Application Insights の作成 †以下のパートのスクリプトを実行 # Create Log Analytics & AppInsights ※ Log Analytics は 90日ログ保持オプションあり。 サブスクリプションのアクティビティ・ログの有効化 †以下のパートのスクリプトを実行 # Enable Subscription Activity Logging ※ だが、現時点では UI から実施とのこと(動画も参考になる)。
オンプレ模倣環境の作成 †
パラメタの設定 †以下のパートのスクリプトを実行して、パラメタを設定 # Parameters ※ 再開の際は、再実行(テキスト・ファイルへ)。 VNET・サブネットの作成 †以下のパートのスクリプトを実行 # Create Onpremise VNET
VMの作成 †以下のパートのスクリプトを実行 # Create uservm1 (Public IP + Open RDP Port) ※ VM生成のAzure CLIスクリプトとして参考になる。 ※ オンプレの模倣ということで、Windows 10 を選択している? ※ Visual Studio のアクティブ・サブスクライバでない場合は、 ※ 最後に「az vm open-port」でRDPポートを開けるオマケが付いているので注意。 AKS 配置環境の準備 †パラメタの設定 †以下のパートのスクリプトを実行して、パラメタを設定 # Variables ※ 再開の際は、再実行(テキスト・ファイルへ)。 VNET・サブネットの作成 †以下のパートのスクリプトを実行 #Create VNET & Subnets
周辺サービスの作成と引き込み †
Azure Firewallの作成 †
他によく必要になる URL †
保守端末の準備 †管理マシン(Windows)の作成 †オンプレから接続する踏み台VM相当。
管理マシン(Linux)の作成 †踏み台VMから接続し、アプリのビルドや、Dockerコンテナ作業を行う。
Bastionの作成 †オンプレ模倣環境の作成をスキップできる。
AKS クラスタの作成と設定 †パラメタの設定 †以下のパートのスクリプトを実行して、パラメタを設定 # Parameters ※ 再開の際は、再実行(テキスト・ファイルへ)。 AKS クラスタの作成 †
AKS の設定 †
アプリのビルドとデプロイ †kubectl/kubeconfig の準備 †
※ .kubeに、configとadmin-configファイルが作成される。 コンテナ・イメージの作成 †AKS_TechnicalReference_v0.14(ppt).zipに同梱の
アプリのデプロイ †YAML ファイルを作成し、kubectl apply を実行し、 ※ コンテナ・イメージの ※ DBアクセスは動かなくても確認はできる。 オンプレ模倣環境から AKS アプリへの接続 †AKS ILB に対する Private Link Service の作成 †以下のパートのスクリプトを実行 # AKS ILB に対する Private Link Service の作成 AKS ILB への Private Endpoint の作成 †以下のパートのスクリプトを実行 # Create Private Endpoint to AKS インターネットからの接続 †パラメタの設定 †以下のパートのスクリプトを実行して、パラメタを設定 # Parameters ※ 再開の際は、再実行(テキスト・ファイルへ)。 DMZ VNET の作成 †以下のパートのスクリプトを実行 # Create VNET and Subnets AKS ILB への Private Endpoint の作成 †以下のパートのスクリプトを実行 # Create AKS Private Endpoint Application Gateway の作成 †以下のパートのスクリプトを実行 # Create AppGateway ... # Private Endpoint の IP アドレスを取得 ... # AppGw 作成 ※ 時間がかかる 可用性テストの作成 †「URL の Ping テスト」を構成する。 ※ 現時点では UI から実施とのこと(動画も参考になる)。
ノード自動再起動 †Kured による VM のリブートで自動更新を取り込むAKS のアップグレード 経路の解放 †以下のパートのスクリプトを実行
※ Kured は、Helmを使用して、gcr経由で配布するらしい。 Helmでインストール †以下のパートのスクリプトを実行 # mgmt-linux-vm1 または mgmt-win-vm1 上から Kured をインストール ※ この作業は、Windows or Linuxの保守端末上、どちらでもOK。 モニタリング(監視) †モニタリングツールの確認 †
Pod 操作履歴 †kubectl rollout history で確認できる。 >kubectl rollout history deployment.v1.apps/web --namespace azrefarc-springboot deployment.apps/web REVISION CHANGE-CAUSE 1 <none> 3 <none> 4 <none> >kubectl rollout history deployment.v1.apps/web --namespace azrefarc-springboot --revision=4 deployment.apps/web with revision #4 Pod Template: 切り分け †
Javaアプリ †
Firewall外し †
保守端末 †
検討事項 †最後に
と言う話があったが、
と言う感想(暫く休ませて下さい)。 HTTPS化やWAFの導入 †Azure Active Directory認証統合 †
K8sの機能活用 †CI/CDのワークフロー化 †
終わりに †結果 †一部、未達があるが、 感想 †このハンズオン?をやってみた感想については、 などを、ご参照下さい。 未達部 †
お土産のシェル †再開用のシェル †動画で「テキスト・ファイルに保持しておいて。」と言ってたアレ。
★初期化パラメタ †
★準備 †
★環境構築 †
コピペ用シェル †参考 †テクニカルリファレンス中の... †OSSC > 開発基盤部会 Blog †
Tags: :クラウド, :コンテナ, :Azure, :AKS, :IaC, :セキュリティ, :通信技術, :セキュリティ, :認証基盤 |