Oracle Cloud Infrastructure Kubernetes EngineノードでのKubeletおよびオペレーティング・システム・デーモンのリソースの予約
はじめに
Oracle Cloud Infrastructure Kubernetes Engine (OKE)でKubernetesワークロードを実行する場合、ワーカー・ノードにKubernetes制御コンポーネントおよびオペレーティング・システム(OS)デーモンの予約済リソースがあることを確認することが不可欠です。適切な予約により、リソースの競合を防ぎ、メモリーの負荷を軽減し、クラスタの安定性を高めます。これは、マルチテナント環境、高密度ワークロード、またはノード圧の問題のトラブルシューティング時に特に重要です。このチュートリアルでは、ノード・プールの作成時に適用されるカスタムcloud-init
スクリプトを使用して、これらの予約を構成する方法を学習します。cloud-init
を利用することで、最小限の労力でクラスタ・ノード全体でこれらの構成を標準化できます。
Kubeletリソース構成
Kubernetesのプライマリ・ノード・エージェントであるKubeletは、構成フラグまたはファイルによるリソース管理をサポートしています。次のものを定義できます。
- kubeReserved:
kubelet
やkube-proxy
などのKubernetesデーモンのリソースを予約します。 - systemReserved:
journald
やsshd
などのOSレベルのサービスのリソースを予約します。
目的
-
kubeReserved
およびsystemReserved
を使用して、KubernetesおよびOSデーモンのCPUおよびメモリーを予約する方法を理解します。 -
カスタム
cloud-init
スクリプトを使用して管理対象ノード・プールをデプロイし、起動時にKubelet構成を適用します。
前提条件
-
OKEクラスタおよびノード・プールを作成する権限を持つOracle Cloud Infrastructure (OCI)アカウントへのアクセス。
-
既存のOKEクラスタ(または新しいクラスタを作成できます)。
-
KubernetesおよびOracle Cloud Infrastructureコマンドライン・インタフェース(OCI CLI)に関する基本的な知識。
ステップ1: cloud-init
スクリプトの記述
次のcloud-init
スクリプトは、CPU、メモリーおよびエフェメラル記憶域を予約するKubelet構成ファイルを作成し、エビクションしきい値を設定します。
#!/bin/bash
curl --fail -H "Authorization: Bearer Oracle" -L0 http://169.254.169.254/opc/v2/instance/metadata/oke_init_script | base64 --decode >/var/run/oke-init.sh
bash /var/run/oke-init.sh --kubelet-extra-args "--kube-reserved=cpu=500m,memory=1Gi --system-reserved=cpu=100m,memory=100Mi"
ステップ2: cloud-init
スクリプトを使用したノード・プールの作成
-
OCIコンソールに移動し、OKEクラスタに移動します。
-
「ノード・プール」を選択し、「ノード・プールの追加」をクリックして新しいノード・プールを作成するか、「編集」をクリックして既存のノード・プールを変更します。
-
「名前」、「コンパートメント」、「ノードの配置」、「シェイプ」および「ネットワーキング」のプリファレンスでノード・プールを設定します。
-
「拡張オプションの表示」で、「Cloud-initスクリプトの貼付け」をクリックし、カスタム・スクリプトを貼り付けます。
-
ノード・プールの残りの設定を完了し、「追加」をクリックします。
ノードがプロビジョニングされると、スクリプトは起動時に実行され、リソース制約が自動的に適用されます。
ノート: Terraformを使用して設定を自動化する場合は、ノード・プール・リソースの作成時に
node_config_details.cloud_init_script
ブロックにスクリプトを渡すことができます。
確認
- 作者 - JPサンタナ(マスター・クラウド・アーキテクト)
その他の学習リソース
docs.oracle.com/learnで他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Reserve Resources for Kubelet and Operating System Daemons on Oracle Cloud Infrastructure Kubernetes Engine Nodes
G38633-01
Copyright ©2025, Oracle and/or its affiliates.