รูปภาพรายการ Kubectl

Rupphaph Raykar Kubectl



บทความนี้เกี่ยวกับอิมเมจรายการ Kubectl ในที่นี้ เราจะมุ่งเน้นไปที่กระบวนการที่คำสั่ง “รูปภาพรายการ Kubectl” แสดงรายการรูปภาพที่ใช้โดยพ็อดหรือแสดงอยู่บนโหนดของคลัสเตอร์ Kubernetes เราต้องได้รับอนุญาตและข้อมูลประจำตัวที่จำเป็นเพื่อเข้าถึงรายการรูปภาพที่เก็บไว้ ใน Kubernetes คำสั่งทั้งหมดจะทำงานบนเครื่องมือบรรทัดคำสั่ง Kubectl เพื่อดำเนินการตามหน้าที่ เราจะเรียนรู้แต่ละคำสั่งและจุดประสงค์เพื่อให้ได้ 'ภาพรายการ Kubectl' ด้วยความช่วยเหลือของตัวอย่างและข้อมูลที่เกี่ยวข้อง เรามาเริ่มคู่มือที่เราแบ่งข้อมูลออกเป็นบางขั้นตอนเพื่อให้คุณเข้าใจได้ดีขึ้น

ขั้นตอนที่ 1: เริ่มเซิร์ฟเวอร์ Kubernetes

ในขั้นตอนนี้ เราเรียกใช้เซิร์ฟเวอร์ Kubernetes ซึ่งเป็น minikube ที่บรรจุพ็อดไว้ในคอนเทนเนอร์ เราสามารถรัน minikube clustere ได้ด้วยการรันคำสั่งต่อไปนี้:

~$ เริ่ม minikube

เมื่อดำเนินการคำสั่ง minikube local cluster จะทำงานในแอปพลิเคชันของเรา

Minikube ใช้ VirtualBox เพื่อสร้างเครื่องเสมือนที่เข้าถึงได้ในเครื่อง เราสามารถปรับใช้คำสั่งหรือบริการของเราในคลัสเตอร์ Kubernetes ได้อย่างรวดเร็ว หลังจากนั้น เราทดสอบภายในเครื่องโดยใช้คลัสเตอร์ minikube Kubernetes

ขั้นตอนที่ 2: ดูรายการพ็อดทั้งหมดพร้อมกับรูปภาพในคลัสเตอร์

หากต้องการเรียกใช้คำสั่งเหล่านี้ คุณต้องติดตั้ง Kubectl บนระบบโลคัลของคุณ ในขั้นตอนนี้ เราจะเรียนรู้วิธีดูรายการรูปภาพที่ใช้โดยพ็อดในคลัสเตอร์และจัดเก็บไว้ในคอนเทนเนอร์ของเรา เราสามารถเรียกใช้คำสั่งต่อไปนี้ในเครื่องมือบรรทัดคำสั่ง Kubectl เพื่อรับรายการรูปภาพที่เก็บไว้

~$ kubectl รับพ็อด --เนมสเปซทั้งหมด -O jsonpath = '{range .items[]}{'\n'}{.metadata.name}{':\t'}{range .spec.containers[]}{.image}{', '}{end}{end }' | \

> เรียงลำดับ

เมื่อดำเนินการคำสั่ง ผลลัพธ์จะปรากฏตามภาพหน้าจอต่อไปนี้:

  หน้าจอคอมพิวเตอร์ที่มีคำอธิบายข้อความสีขาวสร้างขึ้นโดยอัตโนมัติด้วยความมั่นใจต่ำ

คำสั่งนี้ดึงรายการพ็อดที่มีอยู่ในคลัสเตอร์ จากนั้นดึงข้อมูลรูปภาพทั้งหมดที่พบในเส้นทางนี้ หลังจากพบรูปภาพแล้ว คำสั่งยังจัดเรียงรูปภาพเหล่านี้ตามลำดับตัวอักษร สุดท้าย จะนับจำนวนรูปภาพที่มีอยู่ในคลัสเตอร์ของเรา คำสั่งนี้ส่งคืนเอาต์พุตในรูปแบบพาธ JSON เรามาพูดถึงส่วนต่างๆ ของคำสั่งทีละส่วน:

– -เนมสเปซทั้งหมด: เราสามารถดึงรายการพ็อดในเนมสเปซทั้งหมดในคลัสเตอร์ Kubernetes ของเราได้อย่างง่ายดาย ที่นี่มีการประกาศรูปภาพทั้งหมดของพ็อด

o jsonpath=’: พารามิเตอร์นี้กำหนดรูปแบบของเอาต์พุต รูปแบบพาธ JSON เป็นไปตามคำสั่งที่กำหนด และแสดงชื่อพ็อดและอิมเมจคอนเทนเนอร์ รวมถึงรูปแบบเอาต์พุต รายการจะคั่นด้วยแท็บ และแต่ละพ็อดจะคั่นด้วยการแทรกบรรทัดใหม่

|: อย่างที่คุณเห็น คำสั่งใช้ '|' อักขระ. ใช้เพื่อถ่ายโอนเอาต์พุตไปยังคำสั่งผ่าน

เรียงลำดับ: พารามิเตอร์นี้จัดเรียงรูปภาพตามลำดับเฉพาะ

นี่คือคำอธิบายที่สมบูรณ์ของคำสั่ง หวังว่าคุณจะเข้าใจจุดประสงค์ของคำสั่งนี้ ดังที่เราเห็นในภาพหน้าจอ รายการพ็อดและรูปภาพจะแสดงและคั่นด้วยเครื่องหมายจุลภาค

ขั้นตอนที่ 3: รับรายการรูปภาพสำหรับพ็อดเฉพาะ

ในขั้นตอนนี้ เราจะเรียนรู้เกี่ยวกับการดึงอิมเมจของพ็อดที่ต้องการเท่านั้น เพื่อจุดประสงค์นี้ เราเรียกใช้คำสั่งอีกครั้งโดยระบุชื่อของพ็อดในเส้นทาง JSON เรียกใช้คำสั่งต่อไปนี้เพื่อดึงอิมเมจของพ็อดเฉพาะ

~$ kubectl รับพ็อด --เนมสเปซทั้งหมด -O jsonpath = '{.items[].spec.containers[].image}' -l แอป =nginx

ในคำสั่งนี้ เราใช้พ็อดชื่อ “app=ngnix”

เมื่อดำเนินการคำสั่ง รูปแบบเอาต์พุตพาธ JSON จะแสดงรายการอิมเมจคอนเทนเนอร์ทั้งหมดที่ใช้โดยพ็อดซึ่งมีชื่อว่า 'app-ngnix'

ด้วยวิธีนี้ เราสามารถรับรายการรูปภาพที่ใช้โดยพ็อดเฉพาะในเนมสเปซทั้งหมดในแอปพลิเคชัน Kubernetes ของเรา

ขั้นตอนที่ 4: รับรายการรูปภาพในเนมสเปซเฉพาะในคลัสเตอร์

นี่คือขั้นตอนที่สี่ของบทความที่เราเรียนรู้เกี่ยวกับวิธีรับรายชื่อรูปภาพเทียบกับเนมสเปซเฉพาะในคลัสเตอร์ Kubernetes เราเรียกใช้คำสั่งต่อไปนี้ในเครื่องมือบรรทัดคำสั่ง Kubectl ของเรา:

~$ kubectl รับพ็อด --เนมสเปซ ให้เป็นระบบ -O jsonpath = '{.items[].spec.containers[].image}'

ในคำสั่งนี้ เราต้องการเรียกอิมเมจของเนมสเปซที่มีชื่อเป็น “ระบบ kube” ซึ่งใช้โดยพ็อดในคลัสเตอร์ Kubernetes ของเรา

รายการรูปภาพจะแสดงในเอาต์พุตที่สร้างขึ้นเมื่อดำเนินการคำสั่ง นี่คือภาพหน้าจอ:

  รูปภาพที่มีข้อความ ภาพหน้าจอ แบบอักษร คำอธิบายข้อมูลที่สร้างขึ้นโดยอัตโนมัติ

รูปแบบพาธ JSON ของเอาต์พุตสามารถหาได้โดยการรันคำสั่ง แต่ละบรรทัดในเอาต์พุตเข้าใกล้อิมเมจคอนเทนเนอร์ซึ่งใช้โดยพ็อดในเนมสเปซ 'ระบบ kube' รูปแบบของเอาต์พุตแสดงโดยเทมเพลตพาธ JSON ที่ใช้ในคำสั่ง ในตัวอย่างนี้ เทมเพลต “.items[].spec.containers [].image” ส่งคืนอิมเมจคอนเทนเนอร์ที่ใช้โดยแต่ละพ็อดในเนมสเปซ

ขั้นตอนที่ 5: รับรายการรูปภาพของเนมสเปซทั้งหมดของเทมเพลต Go

ในขั้นตอนนี้ เราจะเรียนรู้กระบวนการดึงรายการรูปภาพของเนมสเปซทั้งหมดซึ่งใช้โดยพ็อดที่ใช้รูปแบบเอาต์พุต 'go template' ในคลัสเตอร์ Kubernetes สำหรับสิ่งนี้ เราใช้คำสั่งต่อไปนี้:

~$ kubectl รับพ็อด --เนมสเปซทั้งหมด -O ไปแม่แบบ --แม่แบบ = '{{range .ite ms}}{{range .spec.containers}}{{.image}} {{end}}{{end}}'

ก่อนที่จะไปที่ผลลัพธ์ เรามาพูดถึงพารามิเตอร์ของคำสั่งกันก่อน เพื่อให้คุณมีความคิดว่าเราจะใช้พารามิเตอร์ต่างๆ ในคำสั่งของเราได้อย่างไร เราสามารถเริ่มต้นด้วยพารามิเตอร์ใหม่ที่ยังไม่ได้กล่าวถึงมาก่อน:

-o ไปแม่แบบ: นี่แสดงว่ารูปแบบเอาต์พุตต้องเป็นไปตามสัญกรณ์ 'go-template'

– - template=”{{ช่วง. รายการ}} {{ช่วง spec.containers}}{{.image}} {{end}}{{end}}”: สิ่งนี้จัดเตรียมเทมเพลตที่จะใช้สำหรับเอาต์พุต เทมเพลตนี้วนซ้ำตามรายการพ็อดที่ดึงอิมเมจคอนเทนเนอร์สำหรับแต่ละรายการ ผลลัพธ์คือรายการอิมเมจคอนเทนเนอร์ที่คั่นด้วยช่องว่างซึ่งใช้โดยพ็อดทั้งหมดในเนมสเปซทั้งหมดในคลัสเตอร์

เมื่อดำเนินการตามคำสั่งก่อนหน้า คุณจะได้รับผลลัพธ์ต่อไปนี้:

  ภาพหน้าจอของโปรแกรมคอมพิวเตอร์ คำอธิบาย สร้างขึ้นโดยอัตโนมัติด้วยความมั่นใจต่ำ

นี่คือขั้นตอนทั้งหมดที่เราสามารถดึงรายการรูปภาพที่พ็อดใช้ในคอนเทนเนอร์ Kubernetes ของเรา

บทสรุป

เราสรุปได้ว่าเราสามารถดึงรายการรูปภาพที่จัดเก็บไว้ในคอนเทนเนอร์ในแอปพลิเคชัน Kubernetes ได้อย่างง่ายดายด้วยความช่วยเหลือของเครื่องมือบรรทัดคำสั่ง kubectl ใน Kubernetes เราสามารถรับรายการรูปภาพด้วยวิธีการต่างๆ ทุกวิธีอธิบายไว้ชัดเจนเป็นขั้นเป็นตอน ตัวเลือก “–all เนมสเปซ” รับอิมเมจของเนมสเปซทั้งหมดที่ใช้โดยพ็อดซึ่งจัดเก็บไว้ในคอนเทนเนอร์และดึงข้อมูลได้ง่ายโดยการเรียกใช้คำสั่ง คุณสามารถทำตามขั้นตอนทั้งหมดสำหรับแอปพลิเคชันของคุณเพื่อรับรายการรูปภาพได้โดยการเรียกใช้คำสั่งในเครื่องมือบรรทัดคำสั่ง kubectl