Kodo-X 分割¶
注意
実装前に本書をよく読み、バックアップ措置とロールバック計画を必ず準備した上で、システムの安全性と安定性を確保してください。
概要¶
大量の書き込みリクエストを処理する際、kodo-x のリソース消費が特定の種類の処理タスク、特に metric データ処理に集中し、その他のデータが適時に消費されず、データの滞留問題が発生する可能性があります。
解決策の考え方:
- 独立した kodo-x インスタンスを作成し、metric データ専用の処理を担当させることで、既存インスタンスのリソース占有を軽減します。
- 既存の kodo-x インスタンスを変更し、metric データを処理しないようにして、他のタスクに集中させます。
アーキテクチャ図¶
分割前:
分割後:
前提条件¶
- Guanceクラスターの操作権限を有していること
- 事前に kodo-x および分割後の kodo-x-metric のスケジューリングリソースを計画していること
実装手順¶
1. サービスのバックアップ¶
2. kodo-x-metric サービスの作成¶
2.1 kodo-x-metric ConfigMap の作成¶
以下の情報を変更します:
nameを kodo-x-metric に変更resourceVersionとuidフィールドを削除
2.2 kodo-x-metric Deployment の作成¶
以下の情報を変更します:
- 「metadata」-「name」 を kodo-x-metric に変更
- 「metadata」 配下の
resourceVersionとuidフィールドを削除 - 「volumeMounts」 と 「volumes」 配下の
nameを kodo-x-metric に変更
...
metadata:
name: kodo-x-metric ##### kodo-x-metric に変更
namespace: forethought-kodo
resourceVersion: "129925433" ##### 削除
uid: e4f0c541-4d91-47d4-82c8-91eec2757cb2 ##### 削除
...
volumeMounts:
- mountPath: /kodo/config/config.yaml
name: kodo-x-metric ##### kodo-x-metric に変更
subPath: config.yaml
volumes:
- configMap:
defaultMode: 420
name: kodo-x-metric ##### kodo-x-metric に変更
optional: false
name: kodo-x-metric ##### kodo-x-metric に変更
3. kodo-x-metric サービスの作成¶
3.1 kodo-x-metric パラメータの変更¶
設定ファイル:kodo-x-metric.yaml(その他の設定は既存の kodo-x.yaml と同じ)
global:
metric_workers: 32 # metric データの処理能力を向上
object_workers: 8
keyevent_workers: 8
workers: 0 # デフォルトワーカーを無効化
log_workers: 0 # ログ処理を無効化
backup_log_workers: 0 # バックアップログ処理を無効化
関連情報については、アプリケーションサービス設定項目ガイドを参照してください。
サービスを再起動します:
3.2 kodo-x パラメータの変更¶
既存の kodo-x インスタンスは metric 以外のタスクのみを処理するようになり、リソース配分がさらに最適化されます。
設定ファイル:kodo-x.yaml
global:
metric_workers: -1 # metric データ処理を無効化
object_workers: -1 # オブジェクト処理を無効化
keyevent_workers: -1 # キーイベント処理を無効化
サービスを再起動します:
4. 検証¶
以下のコマンドを実行して、設定が反映されているか確認します:

