ドキュメント

クラスタ管理

約2分で読めます · このページを GitHub で編集

← ShimoDocs Suite デプロイメント文書

1. 機能概要

クラスタ管理モジュールは、 MDP オペレーションプラットフォーム内のコンソールで、顧客クラスタとインターフェースします。 Kubernetes 対象は日常点検、緊急トラブルシューティング、リソース変更の3つのシナリオです。このモジュールの目的は、待機中の運用担当者が、ネイティブ環境に頻繁に切り替えることなく、一般的なトラブルシューティングや運用タスクを完了できるようにすることです。 kubectl.

主な機能:

  • クラスタ概要: ノードの健康状態、アプリケーションの稼働状況
  • ワークロード管理: 表示、再起動、レプリカ数の変更、コンテナリソースの修正、表示 YAML デプロイメント、StatefulSet、DaemonSet、Pod、ジョブ、およびCronJob向け
  • 構成管理: ConfigMap、HorizontalPodAutoscalerの表示HPA)
  • ネットワークリソース: Service、Ingressの表示
  • Podレベルの診断: リアルタイムログ、クラッシュログ K8s イベント、Web端末、 YAML ビュー

1.1 適用ユーザー

役割 一般操作
当直オペレーション ノードおよびPodの異常閲覧、ログ照会、イベント閲覧
現場サポート デプロイメントのレプリカ状況、イメージバージョン、リソース要求/制限を閲覧
障害緊急対応 デプロイメントまたはDaemonSetの再起動、レプリカ数の調整、調整 CPU/メモリ
キャパシティプランニング ビュー HPA 現在のレプリカ数と上限/下限

1.2 このモジュールで推奨されない操作

削除 NAMESPACE、Pod の強制退避、Secret または RBAC リソースの変更、その他の敏感な操作はこのモジュールでは利用できず、ネイティブを通じて実行する必要があります kubectl または関連する変更ツール。クロスクラスターのバッチ操作は利用できません。各操作は、現在選択されているクラスターと NAMESPACEにのみ影響します。大容量ファイルログを一度にダウンロードする場合は、ストリーミングログのポップアップではなく、Webターミナルの使用を推奨します。


2. エントリーとナビゲーション

左メニュー: 操作管理 → クラスター管理.

入力後、 デプロイメント メニューはデフォルトで選択されています。 NAMESPACE は現在のクラスタの最初のものがデフォルトになっており、クラスタのカスタム選択と NAMESPACE はサポートされています。


3. ワークロード

3.1 デプロイメント

手順: 対象のデプロイメントを見つける → 右上の鉛筆アイコンをクリック → 編集ポップアップが表示される → 新しい値を入力 → 変更を確認する。

ポップアップで変更できるフィールド:

  • レプリカの数、最小値は0、整数でなければなりません
  • CPU コンテナごとのリクエスト/リミット、単位は「core」、入力可能 1 または 1000m
  • コンテナごとのメモリリクエスト/リミット、単位はMi、入力可能 512

送信後、ローリングリビルドがトリガーされます。リストにない項目(イメージ、環境変数、プローブ等)は変更されません。

3.1.1 デプロイメント再起動

手順: 対象のデプロイメントを見つける → 右上の円形矢印アイコンをクリック → ポップアップが表示されることを確認 → クラスター/ NAMESPACE / ロード名を確認 → 再起動を確認。

確認ポップアップには「再起動するとPodsが再構築され、サービスが一時的に中断される可能性があります」と明記されています。再起動により、全ノード上のPodsが同時に再構築されます。

3.2 ポッド

操作手順: 左側のメニューからポッドに移動 → 下部セクションには現在の下のすべてのポッドが一覧表示され、 NAMESPACENamespace、 POD_NAMEPod IP および NODE_IP。

これによる検索がサポートされています。 YAML これは閲覧専用です。

3.3 ジョブとクロンジョブ

ジョブ

手順: 左のメニューからジョブに移動 → テーブルには現在のすべてのジョブが一覧表示されます。 NAMESPACE.

名前空間および名前で検索できます。

クロンジョブ

手順: 左のメニューからクロンジョブに移動 → テーブルには現在のクロンジョブ下のすべてのクロンジョブが一覧表示されます。 NAMESPACE.

名前空間および名前で検索できます。 クリック **** **** この CronJob によってトリガーされたすべての Job に対応する Pods のサブテーブルを展開して表示します。

3.4 DaemonSets

操作手順: 左側のメニューから DaemonSets に入ります。

名前空間およびワークロード名で検索できます。 サポートされている操作:

  • 変更: CPU / メモリは変更可能、レプリカ数は変更できません。
  • 再起動: すべてのノードで Pods を同時に再構築します。
  • YAML: 閲覧のみ。

3.5 StatefulSets

操作手順: 左側のメニュー → テーブルビューから StatefulSets に移動します。

レプリカ数の変更, CPU/StatefulSetのメモリ、再起動、またはPodリストはサポートされていません。必要な変更はネイティブ kubectl を使用して行う必要があります(付録Bを参照)。


4. 設定

4.1 ConfigMap

手順: 左側のメニューからConfigMapを入力 → テーブルに現在のすべてのConfigMapが一覧表示されます NAMESPACE. [クラスタ管理]はキーと値の編集をサポートしていません。変更する場合は、設定センターに移動してください。

4.2 HPA

操作手順: 入力 HPA から → テーブルには現在のすべてのHPAが一覧表示されます NAMESPACE.

閲覧のみ。変更するには HPA 最小値と最大値については、ネイティブを使用してください kubectl.


5. ネットワーク

5.1 サービス

手順: 左のメニューを使用してサービス → 現在の表示下のすべてのサービスを一覧するテーブルに移動します。 NAMESPACE.

表示専用です。変更を行うには、mdp グローバル設定を通じて変更してください。

5.2 入口

手順: 左側のメニューから Ingress に移動 → 表には現在の NAMESPACE.

ビューのすべての Ingress が表示されます。変更するには、グローバル mdp 設定を通じて修正してください。


6. 一般的な操作

6.1 Pod の問題のトラブルシューティング

  1. 上部のドロップダウンを使用して、該当するクラスターに切り替えます NAMESPACE
  2. 左側メニューの「Pods」に移動
  3. フィルター条件 POD_NAME または IP
  4. カードの上部にある「Phase」フィールドに注意し、優先する Failed および Pending
  5. グレー表示のヘルス指標に対応する「Condition」が問題箇所
  6. 行の末尾にある「Events」アイコンをクリックして根本原因を探す
  7. 「Logs」でリアルタイム出力を見る / 「Crash Logs」で最後のコンテナ出力を見る

6.2 デプロイメントの再起動

  1. 左側メニューの「Deployments」に移動
  2. 対象のデプロイメントを探す
  3. 右上の円形矢印アイコンをクリック
  4. ポップアップでクラスター / NAMESPACE / ワークロード名を確認して再起動を確認
  5. カード下部のPodレプリカのステータス進行バーを観察して再構築の進行を判断

6.3 検証用のデプロイメントレプリカ数の削減

  1. 該当のデプロイメントに入る
  2. 鉛筆アイコン「Edit」をクリック
  3. レプリカ数の新しい値を入力(デバッグ用に0に設定可能)
  4. 調整 CPU 必要に応じて CPU / メモリを調整(オプション)
  5. 変更を確認してローリングアップデートを待つ

レプリカの数を減らす前に、対象値がオンライントラフィックに影響するかどうかを同僚と確認することをお勧めします。 SRE

6.4 ConfigMapの編集

プラットフォームは、クラスター管理 - 設定 - ConfigMapでのConfigMapのキーと値の編集をサポートしていません。設定センターに移動してください。


9. よくある質問

Q1: 上部の概要でアプリケーションの稼働率が100%ではありません。

これは、現在の NAMESPACE 下にReady状態でないPodが存在することを意味します(Pending、CrashLoopBackOff、Errorなどを含む)。左側のPodメニューに移動し、 POD_NAME またはIPでフィルタリングし、Readyでない各Podのイベントとログを確認してください。

Q2: 'デプロイメントの変更’をクリックした後、ポップアップが空白です。

主な原因は3つあります:ネットワークのジッター、リソースオブジェクト内の過剰な managedFields 、またはサーバーの API 例外。まずリトライを無効にしてください。まだ空白の場合は、 SRE に連絡し、トラブルシューティングのためにクラスター/ネームスペース/ワークロード名を提供してください。

Q3: YAML ポップアップの内容が非常に大きいです。

正常な現象です。 K8s リソースオブジェクトはデフォルトで多くのメタデータと条件を持っており、主要な内容は spec セクションに集中しています。

Q4: ログポップアップに出力がありません。

コンテナがstdout/stderrにログを出力していない可能性があります。アプリケーションのログ出力ポリシーを確認してください。コンテナがクラッシュした場合は、「クラッシュログ」アイコンを使用して前回のインスタンスの出力を取得してください。

Q5: レプリカ数やリソースの変更が反映されませんでした。

プラットフォームはストラテジックマージパッチを発行し、 K8s 数秒以内に再調整プロセスに入ります。30秒以内に変更がない場合は、ネイティブに戻ってください kubectl describe deployment イベントを確認するために。

Q6: StatefulSets、ConfigMaps、 HPAサービス、Ingressを変更できません。

プラットフォームではこれらのリソースの閲覧のみが許可されています。変更はmdpグローバル設定を通じて行う必要があり、サービスとIngressのみがサポートされています。



付録A: キー kubectl このプラットフォームで使用されるコマンド

以下のコマンドは、ホストまたはメンテナンス端末で直接実行するために使用され、モジュールの機能がカバーされていない場合の代替手段として利用されます。

# View
kubectl get  statefulset <name> -n <ns>
kubectl get deployment <name> -n <ns>

# Restart STS / deployment
kubectl rollout restart statefulset/<name> -n <ns>
kubectl rollout restart deployment/<name> -n <ns>

# View the complete Ingress rule chain
kubectl describe ingress <name> -n <ns>

kubectl describe deployment <name> -n <ns> は、変更後にプラットフォームによって発行されたリコンサイルの進行状況をトラブルシュートするために使用できます。

注意事項: によって管理されているリソース( MDP デプロイメント、ConfigMap、Ingress、STSなど)を kubectl 経由で変更することは避けるべきです。正しい操作方法は、 MDP バックエンドの設定を使用することです。

付録B:用語集

用語 説明
クラスタ 対象 K8s 起動時に設定され、発行されるクラスタ MDP 開始する時
ネームスペース K8s NAMESPACE、ビジネスや環境の分離に使用される
ワークロード 一般的に、デプロイメント、ステートフルセット、デーモンセット、ジョブ、クロンジョブを指す
ポッド での最小のスケジューリング単位 K8s、1~N個のコンテナを搭載
HPA HorizontalPodAutoscaler、メトリクスに基づく水平スケーリング
リクエスト / リミット コンテナのリソース予約 / 制限、プラットフォームは両方の変更をサポート
パッチ 部分更新、このプラットフォームはストラテジックマージパッチを使用
STS StatefulSet の略称
DS DaemonSet の略称