本文へスキップ
BecomeCoder

Kubernetesコース · 第3章 ワークロード ― 複製と無停止デプロイ · レッスン13

ReplicaSet ― 指定数のPodを保つ

ローカル実施

導入

Pod を単独で作ると、それが落ちたきり誰も立て直してくれません。「常に3個動いている状態」を保ち続けたい――この願いを叶えるのが ReplicaSet(レプリカセット) です。第1章で学んだ自己修復を、Pod の個数について実現する部品です。

説明

ReplicaSet(レプリカセット) は、「指定した数(replicas)の同じ Pod を、常に維持する」役目を持ちます。レプリカ(replica) とは「複製」のことで、同じ Pod のコピーを指定数そろえます。

ReplicaSet は絶えず「あるべき数」と「現実の数」を突き合わせ(リコンサイル)、足りなければ Pod を追加し、多ければ減らします。

graph TB
    RS["ReplicaSet<br/>replicas: 3(3個を維持)"]
    RS --> P1[Pod]
    RS --> P2[Pod]
    RS --> P3["Pod(落ちた)"]
    RS -. 1個減ったと検知 .-> P4["Pod(自動で補充)"]

たとえば3個のうち1個が落ちると、ReplicaSet は「現実が2個、あるべきは3個」と気づき、自動で1個を新しく起動して3個に戻します。逆に手動で4個目を混ぜると、余分な1個を止めて3個に戻します。どちらの向きにも「宣言した数」へ収束させるのが仕事です。

ReplicaSet はどの Pod を自分の管理対象とみなすかを、レッスン10の**セレクタ(ラベル条件)**で判断します。「app=web の付箋が貼られた Pod が3個あるべき」という形です。

ただし実務では、ReplicaSet を直接は書きません。次のレッスンの Deployment を使うと、その裏で ReplicaSet が自動的に作られ、さらに「無停止での更新」までできるようになるからです。ReplicaSet は「数を保つ土台の部品」として、Deployment の内側で働きます。