Kubernetes - ตัวควบคุมการจำลอง

Replication Controller เป็นหนึ่งในคุณสมบัติหลักของ Kubernetes ซึ่งมีหน้าที่จัดการวงจรชีวิตของพ็อด มีหน้าที่รับผิดชอบในการตรวจสอบให้แน่ใจว่าจำนวนการจำลองพ็อดที่ระบุกำลังทำงานอยู่ ณ เวลาใดก็ได้ ใช้ในช่วงเวลาที่ต้องการให้แน่ใจว่าจำนวนพ็อดที่ระบุหรืออย่างน้อยหนึ่งพ็อดกำลังทำงานอยู่ มีความสามารถในการนำขึ้นหรือลงไม่มีพ็อดที่ระบุ

เป็นแนวทางปฏิบัติที่ดีที่สุดในการใช้ตัวควบคุมการจำลองเพื่อจัดการวงจรชีวิตของพ็อดแทนที่จะสร้างพ็อดซ้ำแล้วซ้ำเล่า

apiVersion: v1
kind: ReplicationController --------------------------> 1
metadata:
   name: Tomcat-ReplicationController --------------------------> 2
spec:
   replicas: 3 ------------------------> 3
   template:
      metadata:
         name: Tomcat-ReplicationController
      labels:
         app: App
         component: neo4j
      spec:
         containers:
         - name: Tomcat- -----------------------> 4
         image: tomcat: 8.0
         ports:
            - containerPort: 7474 ------------------------> 5

รายละเอียดการตั้งค่า

  • Kind: ReplicationController →ในโค้ดด้านบนเราได้กำหนดชนิดเป็นตัวควบคุมการจำลองซึ่งบอก kubectl ว่า yaml จะถูกใช้ในการสร้างตัวควบคุมการจำลอง

  • name: Tomcat-ReplicationController→สิ่งนี้ช่วยในการระบุชื่อที่จะสร้างตัวควบคุมการจำลอง ถ้าเราเรียกใช้ kubctl รับrc < Tomcat-ReplicationController > มันจะแสดงรายละเอียดตัวควบคุมการจำลอง

  • replicas: 3 →สิ่งนี้ช่วยให้ตัวควบคุมการจำลองแบบเข้าใจว่าจำเป็นต้องรักษาแบบจำลองของพ็อดสามแบบ ณ เวลาใดก็ได้ในวงจรชีวิตของพ็อด

  • name: Tomcat →ในส่วนข้อมูลจำเพาะเราได้กำหนดชื่อเป็นแมวตัวผู้ซึ่งจะบอกตัวควบคุมการจำลองว่าคอนเทนเนอร์ที่อยู่ภายในพ็อดนั้นเป็นแมวตัวผู้

  • containerPort: 7474 →ช่วยในการตรวจสอบให้แน่ใจว่าโหนดทั้งหมดในคลัสเตอร์ที่พ็อดกำลังเรียกใช้คอนเทนเนอร์ภายในพ็อดจะถูกเปิดบนพอร์ต 7474 เดียวกัน

ที่นี่บริการ Kubernetes ทำงานเป็นตัวจัดสรรภาระงานสำหรับตัวจำลอง Tomcat สามตัว