DEV Community

Tossapol Ritcharoenwattu
Tossapol Ritcharoenwattu

Posted on

Kubernetes Workshop1 : Step4 : replicaset คืออะไร

ReplicaSet คือผู้คุมจำนวน Pod ใน Kubernetes ทำหน้าที่ให้แน่ใจว่าในระบบมี Pod เท่าที่เราต้องการอยู่เสมอ

ReplicaSet ทำงานยังไง?
กำหนดจำนวน replicas ที่ต้องการ เช่น 3 Pods
ถ้า Pod ใดล้ม → ReplicaSet จะสร้างใหม่ให้ทันที
ถ้ามี Pod เกิน → ReplicaSet จะลบออก
ใช้กับ Deployment เป็นหลัก → Deployment จะสร้างและจัดการ ReplicaSet ให้เราโดยอัตโนมัติ

ทำไมต้องมี ReplicaSet?
ทำให้ระบบ ทนทาน (High Availability)
ช่วยให้ Scaling จำนวน Pod ขึ้นหรือลงง่าย
ทำให้ Kubernetes จัดการโหลดได้ดีขึ้น

ตัวอย่างไฟล์ replicaset yaml แบบง่ายๆ โดยจะเป็นการ สร้าง replicaset มาควบคุมจำนวน pod ให้มี 3 pods ตลอดเวลา

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: my-replicaset
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: nginx
        image: nginx
Enter fullscreen mode Exit fullscreen mode

+--------------------------+
| ReplicaSet |
| (3 Pods) |
+--------------------------+
| +-----+ +-----+ +-----+
| | Pod | | Pod | | Pod |
| +-----+ +-----+ +-----+
+--------------------------+

Top comments (0)