Azure Kubernetes Service (AKS) とArgo CD で始める AKS GitOps 入門

0.9K Views

August 21, 25

スライド概要

2025/08/21 『YonaYona Azure をゆるっと学ぶ会』の登壇資料です。

profile-image

都内で働いているインフラエンジニアです。Azure を含むMicrosoft 製品、インフラ、CI/CD を強みとしています。Microsoft MVP 2025~

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

Azure Kubernetes Service (AKS) と Argo CD で始める AKS GitOps 入門 2025/08/21 YonaYona Azure をゆるっと学ぶ会 Kazuki Yamabe

2.

アジェンダ • 自己紹介 • Kubernetes のデプロイにおける課題 • GitOps & Argo CD とは • Azure Kubernetes Service (AKS) とは • 構築、運用・管理において意識する点 • Microsoft GitOps Argo CD • まとめ • 参考資料 2

3.

自己紹介 名前:Kazuki Yamabe 所属:株式会社エーピーコミュニケーションズ 受賞歴:Microsoft MVP 2025 ~ (Azure Compute Infrastructure、Azure Networking) ◼ ブログ・SNS • ブログ:https://www.kdkwakaba.com/ • X:@kdk_wakaba • Linkedin:kdk-wakaba 3

4.

注意事項 • 本内容は2025年8月21日現在の内容となります。今後のアップデートで仕様変更となる可能性もあ るためご了承ください 4

5.

Kubernetes のデプロイにおける課題 インフラの手動構築、管理に よる再現性の低下、オペレー ションミスの発生 Kubernetes におけるインフラ、 アプリの複雑化による開発、 運用の負荷増加 Git リポジトリと本番環境の システム構成・設定に差異 いつ、誰がどんな変更を加えた かの監査・追跡が困難 5

6.

GitOps & Argo CD とは - GitOps 概要 • GitOps は2017年に Weaveworks 社により提 唱された継続的デリバリーのプラクティスの一つ • Git リポジトリを唯一の信頼源とし、アプリケーション、 インフラストラクチャの一貫性を担保する仕組み - ポリシー、コード、構成、ダッシュボードのようにコードとし て記述できるものは全てGit で管理する - kubectl を使用して直接デプロイすることを行わない - オペレーターパターンに従うKubernetes コントロー ラーでGit の信頼源とクラスターの同期を常に維持す る • GitOps によりデプロイの簡素化、運用負荷の削 減、変更の監査、追跡性の担保を実現できる 6

7.

GitOps & Argo CD とは – Argo CD 概要 • Argo CD はIntuit 社が開発したGit リポジトリの 変更を検知しKubernetes クラスターに変更を適 用するGitOps の代表的なツールの1つ • Web UI によるデプロイ状況の可視化や設定、 Application 単位のデプロイ、Kubernetes マニ フェストによる管理、SSO によるセキュリティ対策が 特徴 • 関連ツールの導入によるデプロイの可用性、信頼 性向上やイメージの変更検知も可能 - Argo Rollouts - Argo CD Image Updater 画像引用元:https://argoproj.github.io/ 7

8.

GitOps & Argo CD とは - デプロイまでのイメージ図 ② Approve & Merge ① Push & Pull Request Developer ③ Build & Test ⑤ Update Manifest GitHub GitHub Actions ④ Push container image Container Registry ⑥Sync ⑧Deploy argocd app ⑦ Pull container image Cluster 8

9.

Azure Kubernetes Service (AKS) とは Azure 上でコンテナアプリケーションを利用できるマネージドのKubernetes サービス。 マネージドサービスによる Kubernetes の複雑な 運用・管理の負担を削減 需要に応じたNode の自 動スケーリングによるコスト 効率、パフォーマンス最適 化の実現 統合された各種Azure サービスとの連携 (Entra ID、Azure Policy、Azure Monitor、など) KEDA、Dapr のような Kubernetes 拡張機能のサポート、 サードパーティのOSS 統合 9

10.

構築、運用・管理において意識する点 – Argo CD の構成① シングルクラスター構成 Hub Network 構成 Cluster1 or Argo CD & Argo Rollouts Application Argo CD & Argo Rollouts Cluster Hub network Cluster2 10

11.

構築、運用・管理において意識する点 – Argo CD の構成② • Git リポジトリとの通信がプライベート間、システムとの同居を許容できる場合はシングルクラスターも一つ - 導入が簡単でクラスター間の通信となるため、ネットワーク周りを含め構成がシンプルになる - クラスターごとにArgo CD ができるため、クラスターの数が多い場合は管理が大変になることも… • クラスターの数が非常に多い、セキュリティに厳しい場合はHub ネットワーク構成で構築 - システムとGit リポジトリ間で直接的な通信が発生しないためセキュリティ向上に繋がる - デプロイ数が多くない、コストを抑えたい場合、VM 上にkind のようなツールでArgo CD を構築するのも一つ - チーム (プロダクト) が多い場合、Application の権限分割のような運用・管理工数が増加するため注意 • Argo CD でCanary、Blue/Green デプロイをしたい場合はArgo Rollouts も導入する - Argo Rollouts の拡張機能導入でArgo CD 側からデプロイ状況をダッシュボードで閲覧できる 11

12.

構築、運用・管理において意識する点 – ネットワーク • プライベートのAKS クラスターではインターネットのGit リポジトリへ通信できる環境が必要 - NAT Gateway のようなサービスで事前に通信できるようにする - Git リポジトリとの接続にインターネット通信が必要な場合、Proxy やSASE 製品に通信許可を設定する - Hub ネットワークのArgo CD 場合、仮想ネットワークのピアリングでシステムとGit リポジトリの通信が不要に • プライベートのAKS クラスターではWeb UI 用の通信経路も必要となる - セキュリティが厳しい場合、Hub ネットワークに内部接続用のVM のような実行環境を用意する - Argo CD の利用ユーザー数が少ないならAzure Relay で接続環境を準備するのも一つ 12

13.

構築、運用・管理において意識する点 – セキュリティ • Argo CD はSSO 認証が可能なため、Entra ID と連携しAKS 周りの認証とまとめて管理する - Entra ID 認証ではグループ単位のログインユーザー、操作権限を制限可能 - Entra ID のアクティビティログからログイン履歴を取得できるため、監査要件で必要な場合に利用可能 - 開発側とEntra ID の管理が異なる場合、各々のチームで調整が必要となることも… • 小規模のAKS でSSO の管理は運用負荷が上がることもあるため、あえてローカルユーザー認証もあり - ネットワーク側のアクセス制限、ログイン情報の管理には細心の注意を払うこと - ローカルユーザーの場合はログイン履歴が取得できないため注意 13

14.

構築、運用・管理において意識する点 – 運用・管理 • Argo CD のアプリケーションログ、操作ログはPod に出力されるため、Azure Monitor + Container Insights で取得する - 特定の操作内容に応じたアラート通知の設定も可能 - Log Analytics Workspace に保存するため監査目的にも利用可能 - ただし、デフォルトでは不要なログの出力もあるため、ある程度フィルターをかけないとログの料金がかかる… • Argo CD を管理するならKustomize やHelm 管理を行う - Argo CD の設定の多くはKubernetes マニフェストで管理できるため、環境再現や他チームへの展開が容易 - Git リポジトリでArgo CD のマニフェスト管理を行うことで環境設定のバックアップにもなる 14

15.

Microsoft GitOps Argo CD 2025年4月2日、AKS およびAzure Arc 対応Kubernetes クラスターでArgo CD によるGitOps の クラスター拡張機能が発表された (Private Preview) URL:Announcing Private Preview: ArgoCD through Microsoft GitOps 15

16.

まとめ • GitOps はGit リポジトリを唯一の信頼源とし、インフラとアプリの一貫性を保ちつつデプロイや運用の負 荷を削減する手法の一つ。Argo CD はGitOps でよく利用されるツールの一つ • Azure Kubernetes Service でArgo CD を構築する場合、ネットワークやEntra ID 認証、ログ・ メトリクス周りのAzure サービスと連携することで、セキュリティや運用面にも良いKubernetes のデプロ イ環境を準備できる • Microsoft GitOps Argo CD 拡張機能による、AKS へのArgo CD 導入の負担が削減されること に期待! 16

17.

参考資料 • GitHub - weaveworks/weave-gitops • What is GitOps? (GitLab) • What is GitOps? (Red Hat) • Argo CD | Argo • Argo Rollouts | Argo • Argo CD - Declarative GitOps CD for Kubernetes • Argo Rollouts - Kubernetes Progressive Delivery Controller • argoproj-labs/argocd-image-updater: Automatic container image update for Argo CD • Azure Kubernetes Service 向け GitOps • Azure Kubernetes Service (AKS) クラスターのベースライン アーキテクチャ • チュートリアル: GitOps with Flux v2 を使ってアプリケーションをデプロイする • チュートリアル: ArgoCD で GitOps を使用してアプリケーションをデプロイする 17

18.

ご清聴ありがとうございました。 18