จะสร้าง Pod แต่จำ Pod templates ไม่ได้ ไม่ต้องจำได้ไหม
อะไรกันจะสร้าง Pod ก็แค่ YAML ไม่กี่บรรทัดจะจำไม่ได้เลยเหรอ
]# cat pod1.yml
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: nginx
มันก็ใช่แหละครับ ถ้าสร้าง Pod แบบไม่มีลูกเล่นพิสดารอะไร แต่ถ้าเราจะใส่ tolerations ให้ Pod ล่ะ หรือจะทำ Node Affinity ด้วย ในอีกประเด็น ถ้าอยากเห็นความสามารถทั้งหมดว่าเราทำอะไรกับ Pod ได้บ้าง ก็ต้องไปนั่งไล่อ่านใน Kubernetest API Reference Doc
วันนี้เจออีกแนวทางหนึ่งที่เราจะมีข้อมูลเหล่านี้ได้ และเป็นแนวทางที่ถูกใจเลย command line ด้วยคำสั่ง kubectl ก็ได้ข้อมูลที่อยากได้ ไม่ต้องไปจำในรายละเอียดมากมาย
- ใน Kubernetes Cluster ของเรามี object อะไรให้เราใช้ได้บ้าง
kubectl api-resources
บอกเราได้ และยังบอกตัวย่อให้ด้วยเวลาที่ไม่อยากพิมพ์ชื่อ object เต็ม ๆ
2. อยากรู้ว่า object แต่ละตัวคืออะไร ก็ kubectl explain <ojbect name>
ก็จะมีคำอธิบายแสดงออกมา เช่นถ้าต้องการทราบว่า Pod คืออะไร ก็ใช้คำสั่ง kubectl explain pod
3. อยากได้ข้อมูลใน Field เพิ่ม ก็ kubectl explain <object name>.<field>
เช่นถ้าต้องการแสดงข้อมูลใน field spec ทั้งหมดของ Pod ก็ใช้คำสั่ง kubectl explain pod.spec
4. อยากเห็น field ทั้งหมดของ object นั้น ก็ kubectl explain <object name> --recursive
อ่านมาถึงบรรทัดก็น่าจะพอช่วยให้ไม่ต้องจำอะไรได้อีกเยอะเลย หรือถ้าอยากทราบในรายละเอียดในแต่ละ object ก็มีเครื่องมือที่สามารถเรียกใช้ได้ทันที ในขณะที่กำลังทำงานอยู่กับ Kubernetes โดยไม่ต้องหันไปเปิด browser
#มูลค่าความสุข