การจัดการ POD เราจะเริ่มต้นทำ lab ใน minikube กัน
1. การสร้าง Pod
สามารถทำได้ 2 วิธีคือการสั่งให้ kubernetes สร้าง pod ขึ้นมาเลย หรือจะสร้างจาก ไฟล์ yaml ก็ได้ เรามาดูการสร้าง pod ง่ายๆ โดยสั่งให้ kubernetes สร้างขึ้นมาโดยไม่ใช้ yaml
- สั่งสร้าง pod ตรงๆ โดยไม่ได้ใช้ yml file
kubectl run my-nginx --image=nginx
คำส้่งนี้จะดึง image nginx มาใช้จาก dockerhub มาสร้าง pod ชื่อ my-nginx
เราสามารถตรวจสอบได้ว่า มี pod ถูกสร้างขึ้นมาจริงๆหรือไม่ด้วยคำสั่ง
kubectl get pods
- สั่งสร้าง pod ตรงๆ โดยใช้ yml file
เราจะต้องสร้าง yml ขึ้นมาก่อน ด้วย vi หรือ vscode ก็ได้
ตัวอย่างไฟล์ pods.yaml เพื่อสร้าง pod ที่มี 1 container เพื่อทำ web server ด้วย nginx
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
app: nginx
tier: frontend
spec:
containers:
- name: nginx
image: nginx
เมื่อได้ไฟล์นี้แล้ว เราสามารถสั่งให้ kubernetes ทำงานได้ 2 คำสั่งคือ
kubectl create -f pod.yaml
หรือ
kubectl apply -f pod.yaml
ความแตกต่างคือ create คือการสร้างใหม่เท่านั้น ถ้ามีการสั่งซ้ำ จะ error แต่ apply จะเป็นการเช็คว่า ถ้าไม่มีให้สร้าง แต่ถ้ามีแล้วให้ update
2. การดูรายละเอียดของ pod
- คำสั่งสำหรับดูว่ามี pod อะไรบ้าง
kubectl get pods
คำสั่งสำหรับดูรายละเอียดของ pod ที่ระบุ
kubectl describe pod nginx
คำสั่งสำหรับ list pod ทั้งหมด โดยแสดง ip ของ pod และ ดูว่า pod อยู่ที่ node ไหน
kubectl get pods -o wide
3. การลบ pod ที่ไม่ต้องการ
คำสั่งสำหรับลบ pod
kubectl delete pod nginx
4. การสร้างไฟล์ yaml โดยการ generate script
การสร้างไฟล์ yaml นั้น เราสามารถสั่งให้ kubernetes generate ค่าเริ่มต้นให้ได้ เพื่อจะได้ไม่ต้องเริ่มทุกอย่างจาก 0 ทำให้เราสามารถเอาไป แก้ไขเพิ่มเติมได้ง่ายขึ้น
- คำสั่งสำหรับจำลองการสร้าง yaml ไฟล์ โดยแสดงผลทางหน้าจอ
kubectl run my-redis --image=redis --dry-run=client -o yaml
—dry-run=client หมายถึงไม่ต้องสร้างจริงๆ แค่จำลอง
-o yaml หมายถึงแสดงคำสั่งสร้างในรูปแบบ yaml
ถ้าต้องการ save file ไว้ด้วย เพียงแค่เพิ่ม > filename.yaml ต่อท้าย
kubectl run my-redis --image=redis --dry-run=client -o yaml > redis.yml
Top comments (0)