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

OKE クラスタアップデート - オンデマンドノードサイクル -

OKE クラスタアップデート - オンデマンドノードサイクル -

Oracle Developer Days 2025 LT2-1 Slide

Avatar for oracle4engineer

oracle4engineer

May 25, 2025
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. OKE クラスタアップデート オンデマンドノードサイクル 市川 豊 ( Yutaka Ichikawa ) クラウド事業統括

    クラウド・エンジニアリング COE 統括 ソリューションズ・アーキテクト部 プリンシパル・クラウド・エンジニア
  2. Agenda Copyright © 2025, Oracle and/or its affiliates 3 1.

    OSS Kubernetes のクラスタアップデート • リリースサイクル • サポート期間 • アップデートの計画と実施 • ワーカーノードのアップデート 2. OKE のクラスタアップデート • OKE クラスタ種別 • OKE ノード種別 • クラスタアップグレード機能 • サポートされるバージョンとスケジュール • クラスタアップデート方法 • オンデマンドノードサイクル
  3. リリースサイクル 5 Copyright © 2025, Oracle and/or its affiliates OSS

    Kubernetes のクラスタアップデート Kubernetes は約4か月ごとに新しいマイナーバージョンがリリース (年3回) 開発期間 フィーチャーフリーズ Beta / RC 正式リリース 約 3 ヶ月 年3回 新機能の追加を停止し、バグ修 正に集中 • Bata Release 試験版の公開、テスト・フィードバック • Release Candidate 最終版、重大なバグが無ければ正式版へ 約 1 ヶ月 ※メジャーバージョン (例: v1.x から v2.x) は現在のところリリースはないが、将来的に変更の可能性はある
  4. サポート期間 6 Copyright © 2025, Oracle and/or its affiliates OSS

    Kubernetes のクラスタアップデート Kubernetes は3つのマイナーリリースバージョンをサポート V1.32 V1.31 V1.30 約1年間のパッチサポート
  5. アップデートの計画と実施 7 Copyright © 2025, Oracle and/or its affiliates OSS

    Kubernetes のクラスタアップデート OSS Kubernetes を直接運用する場合、クラスタの管理者が以下を行う必要がある コントロールプレーンのアップデート Kubernetes API サーバー、コントローラー、スケジューラーなどのコンポーネントを新しいバージョンにアップデート ワーカーノードのアップデート • kubelet 、 kube-proxy などコンポーネントを新しいバージョンにアップデート • アップデート前に互換性やリリースノートを確認し、既存の構成やアプリケーションへの影響を評価
  6. ワーカーノードのアップデート 8 Copyright © 2025, Oracle and/or its affiliates OSS

    Kubernetes のクラスタアップデート 1.Cordon ($ kubectl cordon <node>) • 対象ノードを「スケジュール不可」に設定 • 新しいPodがこのノードに割り当てられなくなる 2.Drain ($ kubectl drain <node>) • 既存のPodを他のノードへ自動移動 • Kubernetes のスケジューラーが最適なノードを選んで再配置 3.ローリングアップデート • ノードを順番にアップデート • クラスタ全体の可用性を維持しながら作業を進める リリースサイクルを考慮して計画および実施 する場合、運用負荷は避けられない!
  7. OKE クラスタ種別 10 Copyright © 2025, Oracle and/or its affiliates

    OKE のクラスタアップデート 特徴 基本クラスタ(Basic Cluster) 拡張クラスタ(Enhanced Cluster) 概要 Kubernetes および Kubernetes Engine に よって提供されるすべてのコア機能を提供。 基本クラスタで提供されていない以下の拡張機 能をサポート。主な機能のみ。 - 仮想ノード(Virtual Nodes) - クラスタアドオン機能 - Workload Identity - オンデマンドノードサイクル サポートするワーカーノード数 1000ノードまで 5000ノードまで(flannel CNIプラグイン 商用 レルム) 2000ノード(VCN ネイティブ・ポッド・ネットワー キング CNI プラグイン) SLA(Service Level Agreement) なし あり 料金 クラスタ課金は発生しない 拡張クラスタ課金 ¥15.5 / hour 基本クラスタ(Basic Cluster)と拡張クラスタ(Enhanced Cluster)
  8. OKE ノード種別 11 Copyright © 2025, Oracle and/or its affiliates

    OKE のクラスタアップデート 特徴 管理対象ノード(Managed Nodes) 仮想ノード(Virtual Nodes) 概要 コンピュート・インスタンス(ベア・メタルまたは仮想マシン)で実行され、 ユーザが一部管理する必要があるノード。 Oracle が完全に管理するサーバーレスで、インフラを意識せず利用できるノード。 アップデート作業 3つの方法でアップデート。一部自動および完全手動の方法がある。 ユーザによる作業は、管理コンソールからアップデートの実行をボタンを実行するだけ で、 Control Plane および Worker Node を自動アップデート。(ノードの追加 削除、Cordon や Drain 作業も含む) スケーリング 手動または自動ノードスケーリングが可能。 手動ノードスケーリング。自動ノードスケーリングは現時点未対応。 ユースケース ノードに SSH 接続してカスタマイズするなど自由度を高めてノード 管理する場合に適する。 ノード管理を不要として、運用負荷を削減する場合に適する。 料金 ノード(コンピュート・インスタンス)の利用課金 拡張クラスタ + Virtual Nodes + Pod が利用する OCPU / メモリ 管理対象ノード(Managed Nodes)と仮想ノード(Virtual Nodes) Enhanced Cluster(拡張クラスタ)¥15.5 / hour Virtual Nodes(1 Virtual Node あたり)¥2.1 / hour ノード料金表 : https://www.oracle.com/jp/cloud/compute/pricing/
  9. クラスタアップグレード機能 12 Copyright © 2025, Oracle and/or its affiliates OKE

    のクラスタアップデート OKE ではコントロールプレーンとワーカーノードのアップグレードを個別に管理。 Oracle が新しい Kubernetes バージョンをサポートすると、OKE の管理コンソールや CLI を通じてバージョンアップ のオプションが利用可能になる。
  10. サポートされるバージョンとスケジュール 13 Copyright © 2025, Oracle and/or its affiliates OKE

    のクラスタアップデート OKE では新しいクラスタに対して、3つのバージョンをサポート V1.32 V1.31 V1.30 • 新バージョン発表後、少なくとも30日間は4番目に古いバージョンも引き続きサポート • 30日経過後、4番目に古いバージョンはサポート終了 詳細ドキュメント:https://docs.oracle.com/ja-jp/iaas/Content/ContEng/Concepts/contengaboutk8sversions.htm
  11. クラスタアップデート方法 14 Copyright © 2025, Oracle and/or its affiliates OKE

    のクラスタアップデート コントロールプレーンのアップデート 新規のバージョンがリリースされると管理コンソールから手順に従ってアップデートを実行可能。 ワーカーノードのアップデート 基本クラスタ(Basic Cluster)、拡張クラスタ(Enhanced Cluster)、管理対象ノード(Managed Nodes)、仮想ノード(Virtual Nodes)で利用できる方法とできない方法がある。 ワーカーノードには、3つのアップデート方法がある
  12. クラスタアップデート方法 15 Copyright © 2025, Oracle and/or its affiliates OKE

    のクラスタアップデート 1.オンデマンドノードサイクル • ノード・プール内の既存のノードを順次新しいバージョンに自動で置き換える。 • ユーザーの開始をトリガーに OKE が自動的にインプレース・アップグレード。 • Cordon および Drain 作業も自動実行。 2.既存のノード・プールのノード手動置換 • 管理者が既存のノードを手動で削除。 • 新しいバージョンのノードが自動追加。 • Cordon および Drain 作業も自動実行。 • 既存ノードの削除は、ノードの数だけ手動で実施するため、数が多い場合は CLI でスクリプト化することを推奨。 3.既存のノード・プールを新しいノード・プールに置換 • 現在のノード・プールを新しいバージョンで構成された別のノード・プールに手動で置き換える。 • 新規ノード・プールを手動で作成。 • Cordon および Drain 作業は自動実行。 • 手動作業の範囲が広いため、1または2のアップデート方法よりも運用負荷がかかる。
  13. クラスタアップデート方法 16 Copyright © 2025, Oracle and/or its affiliates OKE

    のクラスタアップデート クラスタ種別 基本クラスタ (Basic Cluster) 拡張クラスタ (Enhanced Cluster) ノード種別 管理対象ノード (Managed Nodes) 管理対象ノード (Managed Nodes) 仮想ノード (Virtual Nodes) オンデマンドノードサイクル × 〇 ー 既存のノード・プールのノード手動置換 〇 〇 ー 既存のノード・プールを新しいノード・プールに置換 〇 〇 ー クラスタタイプとノードタイプ別に利用できるクラスタアップデート方法 ※仮想ノード(Virtual Nodes)は、完全マネージドのため、クラスタアップデート作業が不要。(管理コンソールからアップデートをトリガーするのはユーザー) OKE のクラスタアップデートでは、 拡張クラスタの管理対象ノード(Managed Nodes)におけるオンデマンドノードサイクル 仮想ノード(Virtual Nodes) が運用負荷を抑えて実施できる方法
  14. オンデマンドノードサイクル 17 Copyright © 2025, Oracle and/or its affiliates OKE

    のクラスタアップデート オンデマンドノードサイクルとは • Pod スケジューリング制御、ノード待避、新バージョンノードのプロビジョニングを自動化 • 既存ノードを直接アップグレードせず、新ノード作成で対応 ユーザが設定する2つのパラメータ パラメータ 説明 最大サージ 一時的に追加できるノード数の上限 最大使用不可 一時的に使用不可にできるノード数の上限
  15. オンデマンドノードサイクル 18 Copyright © 2025, Oracle and/or its affiliates OKE

    のクラスタアップデート • サービスダウンを防ぐには、最大サージ1以上、最大使用不可0とし、ノード数を一時的に増やして対応 • コストを抑える場合は、最大サージ0、最大使用不可1以上とし、ノード数を減らす代わりにサービスダウンのリスクが 発生
  16. オンデマンドノードサイクル 19 Copyright © 2025, Oracle and/or its affiliates OKE

    のクラスタアップデート オンデマンドノードサイクル デモ環境 クラスタタイプ ノードタイプ ノード数 クラスタバージョン 拡張クラスタ(Enhanced Cluster) 管理対象ノード(Managed Nodes) 3 v1.31.1 ⇒ v1.32.1 クラスタアップデートの手順 1. Control Plane のアップデート 2. ノード・プールのアップデート 3. オンデマンドノードサイクルの設定(最大サージと最大使用不可) 4. オンデマンドノードサイクルの実行