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
87

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

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. まとめ はなすこと