DEV Community

Tossapol Ritcharoenwattu
Tossapol Ritcharoenwattu

Posted on

Kubernetes Workshop1 : Step3 : จัดการ Pod ด้วย Kube control command

การจัดการ POD เราจะเริ่มต้นทำ lab ใน minikube กัน
1. การสร้าง Pod
สามารถทำได้ 2 วิธีคือการสั่งให้ kubernetes สร้าง pod ขึ้นมาเลย หรือจะสร้างจาก ไฟล์ yaml ก็ได้ เรามาดูการสร้าง pod ง่ายๆ โดยสั่งให้ kubernetes สร้างขึ้นมาโดยไม่ใช้ yaml
- สั่งสร้าง pod ตรงๆ โดยไม่ได้ใช้ yml file

kubectl run my-nginx --image=nginx
Enter fullscreen mode Exit fullscreen mode


คำส้่งนี้จะดึง image nginx มาใช้จาก dockerhub มาสร้าง pod ชื่อ my-nginx
เราสามารถตรวจสอบได้ว่า มี pod ถูกสร้างขึ้นมาจริงๆหรือไม่ด้วยคำสั่ง

kubectl get pods
Enter fullscreen mode Exit fullscreen mode

- สั่งสร้าง 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
Enter fullscreen mode Exit fullscreen mode

เมื่อได้ไฟล์นี้แล้ว เราสามารถสั่งให้ kubernetes ทำงานได้ 2 คำสั่งคือ

kubectl create -f pod.yaml
หรือ 
kubectl apply -f pod.yaml
Enter fullscreen mode Exit fullscreen mode

ความแตกต่างคือ create คือการสร้างใหม่เท่านั้น ถ้ามีการสั่งซ้ำ จะ error แต่ apply จะเป็นการเช็คว่า ถ้าไม่มีให้สร้าง แต่ถ้ามีแล้วให้ update

2. การดูรายละเอียดของ pod

  • คำสั่งสำหรับดูว่ามี pod อะไรบ้าง
kubectl get pods
Enter fullscreen mode Exit fullscreen mode


คำสั่งสำหรับดูรายละเอียดของ pod ที่ระบุ

kubectl describe pod nginx
Enter fullscreen mode Exit fullscreen mode

คำสั่งสำหรับ list pod ทั้งหมด โดยแสดง ip ของ pod และ ดูว่า pod อยู่ที่ node ไหน

kubectl get pods -o wide
Enter fullscreen mode Exit fullscreen mode

3. การลบ pod ที่ไม่ต้องการ
คำสั่งสำหรับลบ pod

kubectl delete pod nginx
Enter fullscreen mode Exit fullscreen mode

4. การสร้างไฟล์ yaml โดยการ generate script
การสร้างไฟล์ yaml นั้น เราสามารถสั่งให้ kubernetes generate ค่าเริ่มต้นให้ได้ เพื่อจะได้ไม่ต้องเริ่มทุกอย่างจาก 0 ทำให้เราสามารถเอาไป แก้ไขเพิ่มเติมได้ง่ายขึ้น

  • คำสั่งสำหรับจำลองการสร้าง yaml ไฟล์ โดยแสดงผลทางหน้าจอ
kubectl run my-redis --image=redis --dry-run=client -o yaml
Enter fullscreen mode Exit fullscreen mode

—dry-run=client หมายถึงไม่ต้องสร้างจริงๆ แค่จำลอง
-o yaml หมายถึงแสดงคำสั่งสร้างในรูปแบบ yaml

ถ้าต้องการ save file ไว้ด้วย เพียงแค่เพิ่ม > filename.yaml ต่อท้าย

kubectl run my-redis --image=redis --dry-run=client -o yaml > redis.yml
Enter fullscreen mode Exit fullscreen mode

Top comments (0)