導入
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 の内側で働きます。