‫จนถึงตอนนี้ เราได้พูดคุยกันว่า
‫YAML อาจมี... มีรูทออบเจ็กต์สี่รายการ และเราได้พูดถึงสามออบเจ็กต์สั้นๆ
‫นี่คือทั้งหมดที่เกี่ยวกับข้อมูลจำเพาะ
‫รายละเอียดของสิ่งที่คุณต้องการจะทำใช่ไหม
‫อันดับแรก เรามี API ดังนั้นเราจึงรู้ว่าเรากำลังพูดถึง
‫API เวอร์ชันใด เรารู้ว่าเราต้องการจะพูดคุยกับแหล่งข้อมูลใดและเราจะยุ่งด้วย
‫จากนั้น เรารู้ชื่อในข้อมูลเมตา
‫เรามีที่ หลังจากนั้น Spec
‫ก็เป็นโลกทั้งใบให้สำรวจ
‫คำสั่งแรกที่ฉันต้องการให้คุณเรียนรู้คือวิธีการแสดงรายการคีย์ต่างๆ
‫ทั้งหมดที่คุณสามารถใส่สำหรับทรัพยากรบางประเภทได้
‫คำสั่งแรกที่ฉันต้องการให้คุณเรียนรู้ kubectl
‫อธิบาย แล้วตามด้วยประเภทของทรัพยากร
‫นั่นคือประเภทใน YAML
‫จากนั้น --recursive
‫ซึ่งจะแสดงคีย์ต่างๆ ทั้งหมดที่รองรับในไฟล์
‫YAML
‫แค่บริการก็เห็นกลับมาเยอะมาก
‫มันค่อนข้างล้นหลาม
‫มีอะไรมากมายในนั้น
‫แน่นอนว่ามันไม่ได้บอกเราว่าสิ่งเหล่านั้นทำอะไร
‫แต่อย่างน้อยนี่เป็นรายการด่วนทั้งหมด
‫สิ่งนี้ดีสำหรับฉันคือเมื่อฉันสร้างอาคาร
‫YAML ถ้าฉันจำชื่อสิ่งนั้นไม่ได้อย่างแน่นอน เวลาประทับการสร้าง
‫มันเป็นการสร้างการประทับเวลาหรือไม่?
‫เป็นพหูพจน์? เป็นเอกพจน์หรือไม่?
‫คุณสามารถใช้สิ่งนี้เพื่อค้นหาอย่างรวดเร็ว
‫แต่สิ่งนี้ไม่ได้บอกคุณว่าสิ่งเหล่านี้ทำอะไร หรือสิ่งใดที่จำเป็นหรืออะไรทำนองนั้น
‫เราสามารถเจาะลึกโดยใช้คำสั่งที่แตกต่างกันเล็กน้อยและรับรายละเอียดเพิ่มเติม
‫มาทำ kubectl อธิบายบริการกันอีกครั้ง
‫แต่คราวนี้ เราจะใช้เครื่องหมายจุดเพื่อเจาะลึกใน
‫YAML
‫ฉันจะบอกว่าฉันสนใจเฉพาะสเป็คเท่านั้น
‫ฉันอยู่กับคุณ ข้อมูลจำเพาะ
‫คราวนี้ ฉันกลับมาแค่คีย์ย่อยของข้อมูลจำเพาะแล้วค่อยอธิบายเกี่ยวกับมัน
‫แล้วพวกเขาสนับสนุนคุณค่าประเภทใดใช่ไหม
‫ไม่ว่าจะเป็นบูลีน? มันเป็นแผนที่ของวัตถุหรือไม่?
‫ของแบบนั้นใช่เลย เป็นเพียงข้อมูลอ้างอิงเล็กๆ น้อยๆ ที่ดี
‫สิ่งนี้จะช่วยคุณจากการข้ามไปยังเอกสารประกอบ
‫คุณสามารถหลีกเลี่ยงสิ่งนั้นได้เล็กน้อยโดยดูที่นี่
‫สิ่งนี้ยังคงมีอยู่มาก โดยเฉพาะอย่างยิ่งเมื่อคุณต้องการค้นหาแอตทริบิวต์เดียว
‫คุณสามารถเจาะลึกเครื่องหมายจุดนั้นได้
‫ถ้าเราทำ spec. ซึ่งเป็นคีย์เฉพาะภายในบริการ
‫YAML ที่บอกเราถึงประเภทของตัวโหลดบาลานซ์
‫หากคุณจำสิ่งนี้จากการพูดคุยเกี่ยวกับบริการก่อนหน้านี้ในหลักสูตรนี้
‫นี่อาจเป็น IP ของคลัสเตอร์โดยค่าเริ่มต้น
‫หากคุณปล่อยทิ้งไว้ มันจะทำแค่ IP ของคลัสเตอร์ หรือพอร์ตโหนด
‫หรือตัวโหลดบาลานซ์
‫นั่นคือที่ที่คุณจะระบุว่า
‫คุณรู้ว่าจะต้องอยู่ใต้สเป็คแล้วตามด้วยคีย์ของประเภทในไฟล์
‫YAML ของคุณ
‫ในกรณีนี้ เราสามารถเริ่มเขียน YAML ของเราได้เลย
‫เรารู้ว่าชนิดนั้นกำลังจะให้บริการ
‫เวอร์ชัน API ที่ระบุว่านี่คือ v1 สำหรับประเภทนี้
‫คุณยังสามารถตรวจสอบได้ด้วยคำสั่ง
‫api-versions เหมือนที่เราทำก่อนหน้านี้
‫จากนั้นคุณสามารถใส่มูลค่าของคุณ
‫นี่แสดงรายการมูลค่าการทำงาน ดังนั้นคุณจึงรู้ว่าคลัสเตอร์ IP
‫มีตัวพิมพ์ใหญ่ C และ IP ตัวพิมพ์ใหญ่ อะไรทำนองนั้นใช่ไหม
‫ป้องกันไม่ให้คุณไปและอาจค้นหาได้ทั่วอินเทอร์เน็ต
‫คุณไม่มีทางรู้ได้เลยว่าใครบางคนจะล้าสมัยหรือถูกแก้ไขเลย
‫นี่คือสิ่งที่ฉันชอบทำ
‫เพียงเพื่อแสดงให้เห็นว่าเครื่องหมายจุดนี้สามารถไปได้ไกลแค่ไหน
‫ถ้าเราดูที่ข้อมูลจำเพาะการปรับใช้ เพราะมันมีรายละเอียดย่อย
‫ซึ่งเป็นสิ่งที่เราไม่เคยพูดถึง
‫คุณสามารถมีทรัพยากรเป็นวัตถุย่อยของทรัพยากรอื่นได้
‫ในกรณีนี้คือวอลุ่มสำหรับจัดเก็บข้อมูล
‫เราสามารถมีวอลุ่มได้มากเท่าที่เราต้องการในการปรับใช้
‫ซึ่งจะเชื่อมต่อกับคอนเทนเนอร์
‫สิ่งเหล่านี้เป็นประเภททรัพยากรของตัวเองอย่างแน่นอน
‫ปริมาณ
‫ในกรณีนี้ เราจะดูข้อมูลจำเพาะสองครั้ง
‫ถ้าฉันกด Enter คำสั่งนี้สำหรับการปรับใช้
‫spec
‫สิ่งหนึ่งที่อยู่ในนั้นก็คือ template
‫จากนั้นฉันก็พิมพ์ template ได้
‫จากนั้นจะแสดงรายการคีย์ต่างๆ ทั้งหมดที่ฉันใส่ได้
‫และหนึ่งในนั้นคือข้อมูลจำเพาะของเทมเพลต
‫ในทางเทคนิคแล้ว เราอยู่ในสเปกของสเป็ค
‫จากนั้นภายใต้ข้อมูลจำเพาะนั้นสำหรับเทมเพลตของพ็อด เนื่องจากการปรับใช้มีข้อมูลจำเพาะของตัวเอง
‫จากนั้นเทมเพลตสำหรับพ็อดจะอยู่ใต้ข้อมูลจำเพาะนั้น
‫จากนั้นก็มีสเปกสำหรับคอนเทนเนอร์
‫และฉันอาจมีวอลุ่มอยู่ที่นี่
‫โวลุ่มแล้วตามด้วย nfs เพราะเป็นโวลุ่มประเภทหนึ่งที่ฉันสามารถใช้ได้
‫จากนั้นเซิร์ฟเวอร์ที่ฉันจะใช้ใน NFS
‫ไปเลย. ฉันสามารถรับคำอธิบายและข้อมูลเกี่ยวกับเวอร์ชันต่างๆ
‫อย่างไรก็ตาม
‫นี่เป็นอีกแง่มุมหนึ่งของ Kubernetes ที่เอกสารเกี่ยวกับบรรทัดคำสั่งจะล้าสมัยเล็กน้อยเมื่อพูดถึงเวอร์ชันต่างๆ
‫ซึ่งเป็นสาเหตุที่ฉันมักใช้คำสั่งเวอร์ชัน API ร่วมกับทรัพยากร
‫API เสมอ เพราะเป็นวิธีการแบบเก่าที่เคยทำมาก่อน
‫ตอนนี้พวกเขามีแอพ/v1
‫ใหม่สำหรับการปรับใช้ ฉันเพิ่งรู้ว่าเพราะฉันกำลังสำรวจว่าทำไมถึงเป็นแบบนี้
‫และปรากฎว่าพวกเขากำลังเก็บมันเป็นแบบนี้ในเอกสารจนกว่าจะเลิกใช้โดยสมบูรณ์
‫อย่างไรก็ตาม คุณสามารถดูได้ว่าในที่สุดฉันจะทำงานอย่างไรโดยใช้เครื่องหมายจุด
‫ฉันจะเพียงแค่ปรับใช้ แล้วผมจะมองว่า
‫แล้วฉันจะ spec และอื่นๆ เป็นต้น
‫นั่นเป็นวิธีที่ในที่สุดฉันจะค้นหาคีย์และค่าที่ถูกต้องเพื่อใส่ใน
‫YAML ของฉัน
‫คุณสามารถใช้ตัวอย่างของคนอื่นได้เสมอ
‫สิ่งที่คุณอาจจะจบลงด้วยคือคุณจะเริ่มต้นด้วยตัวอย่างจากฉันหรือเอกสาร
‫จากนั้นคุณจะต้องการดูว่าคุณสามารถไปจากไฟล์วานิลลาบริสุทธิ์โดยใช้วิธีการของฉันที่นี่ได้หรือไม่
‫แล้วคุณจะจบลงด้วยทรัพยากรเพียงเล็กน้อยของคุณใช่ไหม
‫สำเนาเล็กๆ น้อยๆ ของทรัพยากร
‫YAML เหล่านี้ทั้งหมดของคุณ ที่เก็บความรู้ส่วนตัวของคุณ
‫นั่นคือสิ่งที่คุณใช้ในบริษัทของคุณ
‫คุณอาจมีมาตรฐานสำหรับวิธีสร้างการปรับใช้และมาตรฐานสำหรับวิธีสร้างบริการ
‫บางทีพวกเขาอาจมีป้ายกำกับพิเศษหรือหมายเหตุประกอบ ซึ่งเรายังไม่ได้พูดถึง
‫พวกเขาอาจมีฟีเจอร์เทมเพลตพิเศษ
‫อย่างไรก็ตาม. มีหลายอย่างที่คุณสามารถทำได้
‫แต่ทีมส่วนใหญ่จบลงด้วยค่าเริ่มต้นของตัวเองใน repo
‫ที่พวกเขาดึงออกมาแทนที่จะพิมพ์ทั้งหมดตั้งแต่เริ่มต้น
‫ถูกต้อง. เราไม่ทำอย่างนั้นด้วยการเขียน
‫และแน่นอนว่าเราจะไม่อยากทำอย่างนั้นกับ YAML
‫ที่นี่ใน Kubernetes เคล็ดลับสุดท้ายเล็กๆ น้อยๆ ที่ฉันจะบอกคุณที่นี่คือ
‫หากคุณเป็นนักพัฒนาซอฟต์แวร์มากขึ้น คุณจะประทับใจกับเอกสารประกอบ
‫API เสมอ ซึ่งคุณสามารถรับข้อมูลเดียวกันนี้ได้
‫ไม่จำเป็นต้องเป็นแบบที่บุคคลที่มุ่งเน้นการปฏิบัติงานมากขึ้นจะเข้าใจ
‫ฉันมาจากภูมิหลังทั้งสอง แต่ฉันสามารถเห็นได้อย่างชัดเจนว่าเอกสารประกอบ
‫API อาจทำให้คนที่ไม่คุ้นเคยกับการอ่านกร่างและเอกสารประเภทอื่นๆ ทั้งหมดสำหรับ
‫API เหล่านี้ดูน่ากลัวเพียงใด
‫ที่นี่ฉันจะเลือกตัวอย่างเช่นในการอ้างอิง
‫Kubernetes สำหรับ API ที่ต่ำกว่า 115 ดังนั้นจึงเป็นเวอร์ชัน
‫ทางด้านซ้ายมือ ฉันเห็นเมนูของ
‫API ภาระงานทั้งหมด
‫สิ่งเหล่านี้จะเป็นสิ่งที่คุณต้องเผชิญมากที่สุด
‫แล้วมีบริการ API
‫สิ่งเหล่านี้ทำงานมากกว่าภาระงานของคุณ เช่น บริการ
‫หรือขาเข้า จุดปลาย อะไรทำนองนั้น
‫จากนั้นคุณมีการกำหนดค่าและที่เก็บข้อมูลที่นี่
‫เมื่อคุณใช้งาน คุณจะได้พบกับ API เวอร์ชันเก่าที่เลิกใช้แล้วหรือเวอร์ชันเดิมมากขึ้น
‫คุณสามารถสำรวจว่า... คุณจะเห็นที่นี่เหมือนกับอัลฟ่าและเบต้าจำนวนมาก
‫คุณสามารถคิดออกว่ามีอะไรบ้าง
‫ถ้าฉันเพิ่งเริ่มใช้งานจริงอย่างรวดเร็วและมาที่นี่
‫ฉันจะได้รับตัวอย่าง kubectl ว่าหน้าตาเป็นอย่างไร
‫ฉันยังสามารถเลื่อนลงมาที่นี่และมองหาสเปก
‫ข้อมูลจำเพาะของบางอย่างเป็นที่ที่คุณจะได้รับรายละเอียดทั้งหมดที่เราดูก่อนหน้านี้
‫ใต้ข้อมูลจำเพาะ คุณจะเห็นตัวเลือกต่าง
‫ๆ เหล่านี้สำหรับวัตถุนั้น ๆ
‫ถ้าฉันดำดิ่งลงไปในเทมเพลตของข้อมูลจำเพาะการปรับใช้
‫ถ้าคุณจำเมื่อสักครู่นี้เมื่อฉันทำตามสัญลักษณ์จุด
‫สิ่งนั้นจะเข้าไปในเทมเพลตพ็อด
‫จากนั้นเราจะข้ามไปที่นั้นและคุณจะเห็นสิ่งเหล่านี้กระโดดเข้าสู่เทมเพลตนั้นและอื่น
‫ๆ เป็นต้น คุณต้องขุดไปรอบๆ เล็กน้อยเพื่อค้นหาและค้นหาวัตถุและกุญแจที่คุณกำลังมองหา
‫ฉันพบว่าการทำงานจากบรรทัดคำสั่งทำได้ง่ายกว่าเล็กน้อย
‫แต่บรรทัดคำสั่งไม่ได้เกี่ยวข้องกับเวอร์ชันต่างๆ
‫หากคุณมีไคลเอ็นต์เวอร์ชันอื่นที่ไม่ใช่เวอร์ชันเซิร์ฟเวอร์ของคุณ
‫คุณจะต้องดูเอกสาร API เนื่องจากไคลเอ็นต์ของคุณอาจใช้เวอร์ชันเก่าหรือใหม่กว่าที่เซิร์ฟเวอร์ของคุณสามารถรองรับได้
‫ไม่มีทางจริงๆ ที่บรรทัดคำสั่งที่ฉันทราบ
‫เพื่อรับข้อมูลเวอร์ชันต่างๆ
‫เป็นเพียงเวอร์ชันของลูกค้าของคุณเสมอ