Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EKS Auto-Mode with Kro

Avatar for y-ohgi y-ohgi
September 09, 2025
210

EKS Auto-Mode with Kro

2025/09/09(火) 東京支部 CommunityBuilders Night #2 / Jr.Championsコラボ

https://jawsug.connpass.com/event/363613/

Avatar for y-ohgi

y-ohgi

September 09, 2025
Tweet

More Decks by y-ohgi

Transcript

  1. 1. EKS"3つ"の選択肢 2. Kro 3. Dream of Platform Engineering 4.

    我々は本当にEKSを選択するべきなのか 5. まとめ はなすこと
  2. AWSでKubernetesを動かす選択肢 1. EKS Standard 2. EKS Fargate 3. EKS Auto-Mode

    4. EKS Outposts a. EKSをオンプレミス(Outposts上)で動かす際の選択肢 5. EKS Anywhere a. EKSをオンプレミスやエッジ環境で動かすための、コンテナ管理ソフトウェア 6. Self-Host a. EC2上に生のKubernetesを構築 7. Anthos a. 某Gクラウドのサービスで、 Kubernetesのマルチクラウドの実現 EKS"3つ"の選択肢
  3. EKS Standard EKS"3つ"の選択肢 • Control Planをマネージド で提供してくれる • 責任分界点はNodeより上がユーザーの責任 ◦

    EC2の管理は自前 • ほぼプレーンなk8sなため自由度が高い • ALB(ingress)などは追加・設定する必要がある ref: https://aws.amazon.com/jp/blogs/news/under-the-hood-amazon-eks-auto-mode/ 最も自由度が高いが運用コストが高い選択肢
  4. EKS Fargate EKS"3つ"の選択肢 • Fargateの層までAWS側の責任分界点 • Application(container)に集中でき運用コストが低い • ALB ingressなどは自身で追加する必要がある

    • 複数の制約がある ◦ DaemonSet/StatefulSetが使用できない ◦ Privileged containersを使用できない ◦ CPU/Memoryの制約がある ◦ GPUが使用できない • Fargateの立ち上げに時間がかかる ◦ Fargateの立ち上げ 〜 imageのpull & run ref: https://aws.amazon.com/jp/blogs/news/under-the-hood-amazon-eks-auto-mode/ EKS Cluster Control Plane Fargate Application } 制約にあてはまらない、運用コストの低い選択肢
  5. EKS Auto-Mode EKS"3つ"の選択肢 • EC2の層までAWS側の責任分界点 • ALBなど、基本的に欲しいとされるアドオンは最初から 設定してくれる! • Karpenterベースでキャパシティプランニングを自動で

    行ってくれる ◦ Podの数に応じてEC2がスケールアウト/イン • Control Planeのバージョン管理は行う必要有り • 料金は起動中のEC2(Node)に12%分の追加のみ • EKSクラスター作成時公式の推奨設定 ◦ eksctlで作成時も同様 ref: https://aws.amazon.com/jp/blogs/news/under-the-hood-amazon-eks-auto-mode/ EKS Auto-Modeを使おう!
  6. 1. EKS"3つ"の選択肢 2. Kro 3. Dream of Platform Engineering 4.

    我々は本当にEKSを選択するべきなのか 5. まとめ はなすこと
  7. Kroとは • Kro (Kubernetes Resource Orchestrator) ◦ https://github.com/kro-run/kro • ざっくり「Kubernetes

    Objectsのテンプレート」 ◦ Object群を事前に定義(テンプレート化) ◦ テンプレートから簡易的にapplyが可能になる ◦ 変数を与えることで自由度が増す • AWSが開発したOSS ◦ 去年のre:Invent前(2024/11)にawslabs orgで公開されたOSS ◦ 今年の1月にawslabsからコミュニティプロジェクトとして切り離された ◦ AWS/EKSにロックインされる OSSではない Kro ref: https://aws.amazon.com/blogs/opensource/kube-resource-orchestrator-from-experiment-to-community-project/
  8. • 1つのk8sクラスター上に複数環境 乗せる場合に便利 ◦ e.g. prd, stg, dev, ブランチ毎, etc

    • テンプレートはyamlで記載 ◦ テンプレートはk8sのmanifestを素直に書ける • 事前定義したテンプレートを元に変数を変えてapply ◦ 右の例 ▪ namespaceの作成 ▪ serviceの作成 ▪ Deploymentの作成 Kro ref: https://github.com/kro-run/kro
  9. templateの例 Kro • 事前準備 ◦ kro cliのインストール ◦ helmでKroのCRDをapply テンプレートの定義と読み方

    • spec ◦ schema.spec ▪ 変数の定義 ▪ 型とデフォルト値を設定可能 • resources ◦ [].template ▪ プロビジョニングするObject定義 ▪ 今回はNamespace, Deployment, Serviceの3つを定義 • ${}で値を取得可能 ◦ ${schema.spec.name}であれば変数を取得 ◦ 別のresourceから値を取得することも可能 ▪ e.g. ${namespace.metadata.name}
  10. 1. EKS"3つ"の選択肢 2. Kro 3. Dream of Platform Engineering 4.

    我々は本当にEKSを選択するべきなのか 5. まとめ はなすこと
  11. Kro with ACK Dream of Platform Engineering • AWS Controller

    for Kubernetes ◦ AWSのリソースを k8s manifestで定義するた めのCRD/controller ◦ AWS代表的なサービスのcontrollerが存在 ◦ それぞれhelmインストールする必要がある ◦ https://github.com/aws-controllers-k8s • ACKを持ちいることでk8s ObjectとAWSリソースを同時 にプロビジョニング可能 • 環境をKroのテンプレート化することで、新規環境の構 築/削除を簡易化 可能 • Platform Engineerがテンプレートを用意することで、開 発者がカジュアルに EKS上へプロビジョニング可能に なる ◦ ブランチ毎の動作確認など
  12. 1. EKS"3つ"の選択肢 2. Kro 3. Dream of Platform Engineering 4.

    我々はEKSを選択するべきなのか 5. まとめ はなすこと
  13. EKS Auto-Mode with Kroは銀の弾丸ではない • 大前提、「Kubernetesは簡単ではない」 • EKSで全てを管理する世界は会社としてKubernetesへの投資が必要 ◦ Kubernetes

    Adminが必要 ▪ 退職による属人化も考慮する必要がある ◦ バージョンに追従する必要がある ▪ Kubernetes自体のバージョンの追従 ▪ 各種controller/アドオンのバージョンの追従 • Kroはまだv1beta • ACKはまだv1alpha • 会社の規模と投資対効果を慎重に検討する必要がある。 我々はEKSを選択するべきなのか KroでKubernetes(とAWSリソースの)抽象化でAWS/k8sの民主化の可能性はある が ECSやTerraform/CDKなどで要件が満たせるなら、 ミニマルな運用の検討を。
  14. 1. EKS"3つ"の選択肢 2. Kro 3. Dream of Platform Engineering 4.

    我々はEKSを選択するべきなのか 5. まとめ はなすこと