website/content/ja/docs/concepts/architecture/self-healing.md

3.6 KiB
Raw Permalink Blame History

title content_type weight feature
Kubernetesの自己修復機能 concept 50
title anchor description
自己修復 障害からの自動回復 Kubernetesは、クラッシュしたコンテナを再起動し、必要に応じてPod全体を置き換え、広範な障害に対してストレージを再アタッチし、ードレベルでも自己修復を行うためにードオートスケーラーと統合することができます。

Kubernetesは、ワークロードの健全性と可用性を維持するための自己修復機能を備えています。 ノードが使用不能になった際にはワークロードを再スケジュールし、障害の発生したコンテナを自動的に置き換え、システムの望ましい状態が維持されるようにします。

自己修復機能

  • コンテナレベルの再起動: Pod内のコンテナが失敗した場合、KubernetesはrestartPolicyに基づいてコンテナを再起動します。

  • レプリカの置換: DeploymentStatefulSetに属するPodが失敗した場合、Kubernetesは指定されたレプリカ数を維持するために代替のPodを作成します。DaemonSetに属するPodが失敗した場合、コントロールプレーンが同じード上で実行するための代替Podを作成します。

  • 永続ストレージの復旧: PersistentVolume(PV)をアタッチしたPodが実行されているードが障害を起こした場合、Kubernetesはそのボリュームを別のード上の新しいPodに再アタッチできます。

  • Serviceにおける負荷分散: Serviceの背後にあるPodが失敗した場合、KubernetesはそのPodをServiceのエンドポイントから自動的に除外し、正常なPodのみにトラフィックをルーティングします。

Kubernetesの自己修復を実現する主なコンポーネントには、次のようなものがあります:

  • kubelet: コンテナが実行されていることを確認し、失敗したコンテナを再起動します。

  • ReplicaSet、StatefulSet、DaemonSetコントローラー: Podの望ましいレプリカ数を維持します。

  • PersistentVolumeコントローラー: ステートフルなワークロードに対してボリュームのアタッチおよびデタッチを管理します。

考慮事項

  • ストレージの障害: 永続ボリュームが利用不能になった場合、復旧のための手順が必要になることがあります。

  • アプリケーションのエラー: Kubernetesはコンテナを再起動できますが、アプリケーション内部の問題は別途対処する必要があります。

{{% heading "whatsnext" %}}