Kubernetes Deployment

Peeradis Sanguantrakul
Arcadia Software Development
1 min readDec 17, 2018

Kubernetes Deployment เป้น Object ของ Kubernetes เพื่อทำให้เรา Deploy Application ได้ง่ายขึ้น ซึ่งหลัก ๆ แล้วมันจะสร้าง Replica Set ให้เราเพื่อที่จะทำการ Scale ในอนาคตได้โดยง่าย แถมถ้า Pod พังเมื่อลบ Pod จะสร้าง Pod ใหม่ให้เราอีกต่างหาก ซึ่งลองนึกภาพว่าต้องการ Container สัก 1000 ตัว ให้ไปสร้างที่ละ Pod ก็คงไม่สะดวกเท่าไรนัก ถ้าใช้ Deployment เราสามารถกำหนดขนาดแล้วมันจะสร้างให้เราตามที่เราตั้งค่าไว้เลย สะดวกโคตร ๆ ไปลองใช้กันได้เลยครับ

ก่อนอื่นก็ไปที่ Dashboard และกดปุ่ม Create จากนั้นก็ใช้ Script นี้

apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
spec:
containers:
- name: nginx
image: nginx:1.15.4
ports:
- containerPort: 80

ซึ่งที่ต่างกันจากการ Deploy Pod เมื่อ บทที่แล้วให้สังเกตุตรง kind : Deployment อันนีเป็นการบอก Kubernetes ว่าเรากำลังสร้าง Deployment แล้วที่เพิ่มมาอีกก็คือ replicas : (จำนวนที่อยากให้สร้าง Pod) เป็นการบอกว่า เราจะเอาจำนวน Pod ทั้งหมดกี่ Pod ซึ่งไม่ว่า Pod จะถูกทำลายหรือเสีย Deployment จะการันตีว่าจะมี Pod ตามที่ระบุไว้ใน Deployment เสมอ ๆ ซึ่ง Best Practice ของการใช้ Kubernetes ส่วนมาก เราก็จะใช้ Deployment เป็นหลักนี้เอง

กด Upload เราจะเห็นแบบนี้

ซึ่งต่อไปเราจะเปิดให้ผู้ใช้เข้าถึง Application ที่เรา Deploy ละ โดยจะพูดในเรื่องถัดไปนั้นคือ Service ครับ

--

--