449 Views
June 17, 25
スライド概要
愛媛の旅で話した内容
https://jat.connpass.com/event/345498/
クラウドメインの一兵卒 インフラ全般が好きな人
お家でAKSを!? できらぁ!!! とにかくMicrosoftにお金を払いたくない
自己紹介 GMOペパボ株式会社でSREをしつつ仕事以外でAzureと戯れる人 社内がKubernetesクラスタで溢れているので友達になるためにお家でクラスタ を飼い始めたのが始まり この異様に学習難度のある相手に四苦八苦してる プログラミング避けてきてたけど、最近はGoを書いている X:@ryuuu_ch 会社ではリューちゃんと言われてて アカウントもリューちゃん 良かったらフォローしてね!
お堅い前提の話 5分ぐらいでしゅっと終わらせるよ!
そもそもKubernetesって何が嬉しいの? コンテナ便利だけどいっぱいあると管理しきれないっす、、、を解決してくれ るすごいやつ コンテナをアプリ単位 (Pod) でまとめられる Pod は Service でエンドポイントを 1 つに集約 Pod の水平スケール(+必要に応じ VPA で垂直スケール) 宣言的マニフェストで構成管理・自動運用 コントローラが Reconcile Loop で常に “あるべき姿” を保つ CRD/自作コントローラ による高いカスタマイズ性 クラウド横断で同じ CLI (kubectl) が使える CNCF エコシステムの豊富な拡張機能(Helm, Istio など) https://kubernetes.io/ja/docs/concepts/overview/
そもそもAKSとは? 一言でいうと Azure で提供されているマネージドKubernetesサービス コントロールプレーンをマネージドにできたりノードのスケールがAzure VMで できたりと嬉しいことがいっぱい! 永続化に使うボリュームもAzureからCSIドライバーとしてBlobストレージやら Azure Files、Azure Disksであるよ! Azure Kubernetes Service (AKS) の Container Storage Interface (CSI) ドライ バー
AKS on Azure Local だと嬉しいのは? Azure のコントロールプレーンやノード管理、リソースマネージャーからのデ プロイなどマネージドな仕組みに乗っかりつつ、コンピュートリソースは自前 で用意することで安い!!!! 詳しくは→Azure Localのすゝめ
便利な機能たち 楽しい
Workload ID Kubernetes Service Account(KSA)のトークンを通じてEntra IDが検証することで EntraIDのアクセストークンを取得できる(という仕組みらしい) とにかく便利で秘匿情報の管理もしなくていいぐらいのイメージ https://learn.microsoft.com/ja-jp/azure/aks/workload-identityoverview?tabs=dotnet#how-it-works
GitOps with Flux v2 FluxとはGitリポジトリのマニフェストを参照してあるべき姿にする(GitOps) CDツール バージョン管理とデプロイツール(Kustomize)を使えるのが良き点 Helmは使えないっぽい、、? 参照するブランチを変えることでステージングクラスターに適用してからプロ ダクションリリースするなんてことも https://fluxcd.io/flux/concepts/ https://learn.microsoft.com/ja-jp/azure/azure-arc/kubernetes/tutorial-usegitops-flux2?tabs=azure-cli
Managed Prometheus Managed Grafana Prometheusはメトリックを収集・アラートにしたりできます Grafanaはメトリック・ログ・トレースを視覚化するダッシュボードです https://learn.microsoft.com/ja-jp/azure/azure-monitor/metrics/prometheusmetrics-overview https://learn.microsoft.com/ja-jp/azure/managed-grafana/overview
永続ストレージも使えるよ デフォルトで Disk.csi.akshci.com という組み込みのストレージクラスが存在 する https://learn.microsoft.com/ja-jp/azure/aks/aksarc/container-storageinterface-disks?tabs=local
とても辛い 運用つらい
ログ・メトリクスのコストが辛い インジェスト料金やマネージドGrafanaでそれなりに持って行かれた、、、
終わったと思った 愛媛に来たら突然おわた
まだ発展途上なことが多い Workload IDの有効化は作成時にコマンドでしかできない az aksarc create ではオプションがあるのにaz aksarc updateにはない、また拡張機 能のところにもない Azure Key Vault Secrets Providerはサポートしているようだが公式ドキュメン トには書いてない https://learn.microsoft.com/ja-jp/azure/aks/aksarc/workload-identity https://learn.microsoft.com/ja-jp/cli/azure/aksarc?view=azure-cli-latest#azaksarc-create
逆にいうと未来がある https://learn.microsoft.com/ja-jp/azure/azure-local/release-information23h2?view=azloc-2505&tabs=new-deployments#about-azure-local-releases
プライベートクラスター に接続する Kubectlコマンド打てることを確認しよう
永続ストレージを プロビジョニングする ついでにそれを持ってセルフホストPrometheusとGrafanaを使ってみよう
GitOps demo https://github.com/ryusuke06/flux-test
余談 前はAVD on Azure Localに繋ぐのに Entra Private Access を使っていたが、わざ わざEntra suite(¥1,799/月)買うのは、、、、
プロキシすりゃいいじゃん Windowsに接続する
終わりに AKSを飼うといろんなアプリを使えるし、ビルドスクラップをめっちゃ安くで きるぞ!!!!!! とにかく安くAzureをしたい、(いつ直してもいい)トラブルシュートを楽し める人にはメリットしかない Localで色々やる流れは確実に来ているのでみんなもAzure Locaるぞ!!!!!