EKS 運用お困り事例紹介 に行ってきた #asoview_mitene - kntmr-blog

EKS 運用お困り事例紹介 に行ってきた #asoview_mitene

EKS 運用お困り事例紹介 に参加しました。簡単に所感をまとめます。

mixi.connpass.com

所感

どういうメトリクスをどう見るかみたいなところは各社のサービスやそのシステムの特性によって違うんだろうと思います。試行錯誤の結果なのでまさにノウハウの塊。ただ、最後のパネルディスカッションでも言ってたけど、独自の設定や環境になりやすいのが確かにネックなのかもしれない。なるほど。

マルチアーキテクチャに関しては Graviton とかの名前は聞いたことあったけど詳しくないのであまり理解できず...。というか、k8s や EKS 関連はまだまだ知らないことが多いのでインプットしないと...。

(追記) YouTubeアーカイブがありました。

www.youtube.com

以下、メモから抜粋。

Pod のオートスケーリングに苦戦し続けている話

  • オートスケーリング
    • コスト最適化
    • ユーザー体験に影響を与えないことが大前提
    • 減らしすぎ注意
  • HPA
  • Webサーバー
    • ユーザーリクエストを直接受ける
    • 遅延は許容されない
  • ジョブワーカー
    • 非同期ジョブ実行
    • 多少の遅延は許容される
  • サービス負荷とは関係ない要因でCPU利用率が下がる
    • 外部APIレイテンシー劣化
    • 大きいファイルの処理でI/O比率が増える → CPU利用率低下
  • KEDA
    • Prometheus で収集したメトリクスをもとに HPA に反映する
  • メトリクス
  • ジョブキューの長さ
    • 待機中のジョブ数
    • ジョブの滞留数に連動してPod数が安定しない
  • ワーカー稼働率
    • ジョブワーカーのプロセスのうちジョブを処理しているプロセスの割合
    • ワーカー稼働率が80%になるように調整する
  • 補正付きワーカー稼働率
    • ジョブが滞留している場合に重みを掛ける

Argo Workflows のバージョンアップで困った話

  • Argo Workflows
  • archiveLabelSelector
    • archive-strategy
    • あるラベルが付与されている場合のみアーカイブを残す

マルチCPUアーキテクチャ構成の実現に向けて

  • AWSのコストが高い
    • 画像/動画 131億件以上
    • APIリクエスト 1.5Mrpm以上
  • Graviton アーキテクチャ (arm64)
  • Priority based expander
    • spot 優先利用
    • spot が枯渇した場合は ondemand にフォールバックさせる
  • x86/arm64 両アーキテクチャを使えるようにして枯渇リスクを下げる
  • マルチアーキテクチャ対応
    • x86/arm64 ビルド
    • ライブラリが arm64 に対応していない
      • 機能を切り出してマイクロサービス化
    • アーキテクチャでテストを実行する
  • Karpenter

EKS の運用で困ってたり悩んでたりする話

  • EKSバージョンアップ
    • Kubernetes External Secrets → External Secrets Operator
    • Kustomize
    • argocd
      • argocd-cm plugins 機能廃止
  • IaC
  • サードパーティ製品の組み合わせ
    • 内部の異常をどう検知するか
    • 何を監視したら異常を検知できるか

パネルディスカッション

  • EKS
    • エコシステム/コミュニティが活発
    • ECSはAWSに縛られる
    • AWSとの親和性
    • オートスケールによるコスト最適化
  • EKS fargate
    • 対応していない機能がある
  • コスト最適化
    • spot
    • オートスケール/夜間縮退
    • インスタンスあたりのCPU/メモリをちゃんと使い切れるように
  • ECS/EKS
    • 複雑なシステムはEKSが向いてそう
    • EKSはバージョンアップコストがネック
      • コストがかけられないならECSの方が無難

あとで読む。

gihyo.jp