‫เนื่องจาก Kubernetes มีความยืดหยุ่นสูง
‫คุณจึงทำงานในระบบคลัสเตอร์ Kubernetes
‫ได้หลายรูปแบบ
‫คุณเคยได้ยินฉันพูดถึงเรื่องนี้มาก่อนใช่ไหม
‫ฉันได้บอกคุณไปแล้วว่ามีหลายวิธีเพื่อให้เข้ากับเวิร์กโฟลว์ของคุณ
‫และคุณสามารถใช้คำสั่งต่างๆ ได้หลายวิธี
‫ดังนั้น
‫นั่นอาจเป็นเรื่องที่ท้าทายเมื่อคุณพยายามสอน เพราะผู้คนต้องการทราบจริงๆ ว่าพวกเขาควรจะใช้มันอย่างไร
‫เช่นวิธีที่ดีที่สุดคืออะไร?
‫แนวปฏิบัติที่ดีที่สุดคืออะไร? มันยากเพราะมันขึ้นอยู่กับว่าคุณต้องการอะไรจากมันจริงๆ
‫มันเป็นระบบวันที่ไม่สวย
‫มีหลายวิธีในการทำสิ่งต่างๆ
‫นี่คือที่ที่ฉันพยายามที่จะทำลายมันลง
‫ดังนั้นอันนี้เป็นกุญแจสำคัญอย่างหนึ่ง
‫แต่ทั้งหมดนี้เป็นเพียงการเรียนรู้แบบสไลด์
‫ฉันจะพูดกับคุณสักสองสามนาทีเพื่อพยายามทำลายแนวคิดเหล่านี้และนำความหมายเหล่านั้นไปใช้กับ
‫Kubernetes โดยเฉพาะ
‫ก่อนที่เราจะไปถึงแนวทางที่แนะนำ และโดยพื้นฐานแล้วจะมีสามกลยุทธ์ที่แนะนำสำหรับวิธีใช้
‫Kubernetes
‫นี่คือจุดที่ฉันต้องแยกย่อยคำศัพท์เหล่านี้เพื่อให้คุณรู้ว่าการบรรยายครั้งต่อไปคืออะไร
‫คุณจะเห็นสิ่งนี้ในโพสต์บล็อกจำนวนมากและในเอกสารประกอบ
‫ความจำเป็นกับการประกาศ
‫วิธีที่ดีที่สุดที่อธิบายเกี่ยวกับ Kubernetes
‫คือการสำรองข้อมูลและพูดความหมายของซอฟต์แวร์ในแง่ของซอฟต์แวร์
‫เมื่อเราเขียนซอฟต์แวร์โดยไม่จำเป็น เราจะเน้นที่วิธีการทำงานของโปรแกรมนั้น
‫ในแต่ละขั้นตอน ตามลำดับ ทีละส่วน
‫เมื่อเราพูดถึงแนวทางเปิดเผยของซอฟต์แวร์ เรากำลังอธิบายเพิ่มเติมเกี่ยวกับสิ่งที่ควรทำให้สำเร็จ
‫เป้าหมายสุดท้ายของมันคืออะไร?
‫เราไม่สนใจว่ามันจะไปถึงที่นั่นได้อย่างไร
‫ลองเปรียบเทียบกันดู
‫ลองนึกภาพว่าคุณต้องการกาแฟสักถ้วย
‫เมื่อฉันตื่นนอนทุกเช้า ฉันมองหาถ้วยแรกนั้น
‫ถ้าฉันจะสร้างมันขึ้นมาเอง
‫ฉันจะต้องทำมันตามความจำเป็น
‫ฉันจะต้องคิดเกี่ยวกับการต้มน้ำ
‫ขั้นตอนต่อไปคืออะไร? ฉันต้องการเมล็ดกาแฟ
‫แล้วฉันต้องบดถั่วเหล่านั้น ฉันต้องการมากแค่ไหน?
‫ฉันเทน้ำใส่เมล็ดกาแฟมากแค่ไหนเพื่อให้ได้กาแฟที่สมบูรณ์แบบ
‫ฯลฯ ใช่ไหม
‫ฉันกำลังดำเนินการแต่ละขั้นตอน และกำลังคิดเกี่ยวกับวิธีการทำ
‫ทีละขั้นตอน
‫นั่นเป็นสิ่งจำเป็น เมื่อคุณดูที่ Kubernetes เราจะพูดถึงเรื่องนี้ในอีกสักครู่
‫โหมดการประกาศ คิดซะว่าบางทีฉันอยู่ที่ร้านกาแฟและกำลังคุยกับบาริสต้าอยู่
‫ฉันแค่ถามพวกเขา
‫ฉันต้องการกาแฟหนึ่งถ้วย
‫งานเดียวของฉันคือขอกาแฟสักแก้ว
‫และมันขึ้นอยู่กับพวกเขาที่จะคิดออก เฮ้
‫ฉันจำเป็นต้องสร้างมันขึ้นมาใหม่หรือไม่? มีในหม้ออยู่แล้ว?
‫หรือหม้อเก่าเกินไป?
‫พวกเขาทำได้... พวกเขาสามารถ... อาจต้องลองอีกครั้งสามครั้งเพื่อชงกาแฟสักถ้วยเพราะมันเลอะเทอะ
‫ไม่เป็นไร.
‫ฉันไม่ได้ถามว่าพวกเขาทำมันได้อย่างไร
‫ฉันขอให้พวกเขาชงกาแฟให้ฉัน
‫ลองใช้สิ่งนี้กับคำสั่งที่คุณจะใช้ใน
‫Kubernetes มาโฟกัสกันที่ความจำเป็น ซึ่งเป็นสิ่งที่คุณได้เรียนรู้มามากจนถึงตอนนี้
‫เพราะมันคือวิธีการเริ่มเรียนรู้เครื่องมือใดๆ ก็ตามที่จำเป็น
‫คุณจะทำสิ่งเหล่านี้ตามลำดับที่ต้องทำ
‫และคุณกำลังให้คำแนะนำที่ชัดเจนเกี่ยวกับวิธีการทำ
‫คำสั่งเหล่านี้ เช่น เรียกใช้ kubectl และสร้างการปรับใช้
‫และอัปเดต ซึ่งเรายังไม่ได้กล่าวถึงหรือแก้ไข
‫นี่คือคำสั่งประเภทต่างๆ ที่จะทำให้คุณเริ่มต้นในสถานะที่คุณรู้จัก
‫เมื่อคุณใช้คำสั่งสร้างการปรับใช้ คุณจะรู้ว่ายังไม่ได้สร้างการปรับใช้
‫ดังนั้นคุณกำลังใช้การสร้างใช่ไหม
‫หากคุณต้องการอัปเดตหรือแก้ไขบางอย่าง แสดงว่าคุณกำลังใช้คำสั่งนั้นเพื่อดำเนินการนั้นอย่างชัดเจน
‫สิ่งที่ดีสำหรับบรรทัดคำสั่งและการพิมพ์ลงใน CLI ก็คือคำสั่งต่างๆ
‫จะใช้สำหรับการดำเนินการประเภทต่างๆ ไม่ว่าจะเป็นการสร้าง
‫อัปเดต หรือลบ
‫สมองของเราจะจดจำได้ง่ายขึ้นเพราะเรารู้ว่าเรากำลังทำอะไรอยู่
‫เพียงจำไว้ว่าความจำเป็นนั้นง่ายกว่าเมื่อคุณทราบสถานะของวัตถุหรือทรัพยากรแล้ว
‫และคุณเพิ่งเริ่มต้นใช้เครื่องมือ
‫ดังนั้น คุณต้องคิดให้ชัด ตกลง ฉันต้องสร้างบริการ
‫และบริการนั้นต้องเป็นโหลดบาลานเซอร์
‫คุณรู้เรื่องแบบนั้น จากนั้น ในใจมนุษย์ของเราจะพิมพ์สิ่งเหล่านี้ที่
‫CLI ได้ง่ายขึ้น
‫น่าเสียดายที่ไม่ใช่เรื่องง่ายที่จะทำให้เป็นอัตโนมัติ
‫นั่นเป็นข้อเสียที่ใหญ่ที่สุดประการหนึ่งของงานประเภทนี้คือมันยากมากที่จะรับสคริปต์อัตโนมัติหรือเครื่องมือเพื่อจัดการโดยอัตโนมัติ
‫โอ้ นี่คือการอัปเดตที่คุณต้องการใช่หรือไม่
‫หรือนี่คือการสร้าง?
‫หรือนี่คือการลบ? อย่างที่คุณรู้ ฉันมาทำอะไรที่นี่?
‫เป็นการยากสำหรับเราที่จะทำให้งานประเภทนั้นเป็นแบบอัตโนมัติ
‫มันง่ายในหัวของเรา
‫ง่ายสำหรับเราที่จะพิมพ์ที่ CLI ยากสำหรับเราที่จะทำแบบอัตโนมัติ
‫จำไว้ว่าการประกาศหมายความว่าเราไม่รู้รัฐจริงๆ
‫จำกาแฟ. ฉันไม่รู้ว่าพวกเขามีกาแฟหรือไม่
‫พวกเขาอาจจะทำมาแล้วบ้าง พวกเขาอาจต้องทำบางอย่างตั้งแต่เริ่มต้น
‫ฉันไม่รู้รัฐ
‫ฉันเพิ่งรู้ผลลัพธ์สุดท้ายที่ฉันต้องการ
‫เหมาะมากสำหรับรูปแบบการประกาศ
‫ประโยชน์บางประการสำหรับเราและสำหรับระบบอัตโนมัติคือคำสั่งเดียวกัน
‫โดยปกติคุณจะต้องใช้คำสั่ง Apply kubectl apply
‫คุณสามารถใช้คำสั่งเดียวกันนี้ได้ไม่ว่าเราจะสร้าง
‫อัปเดต หรือแม้แต่ลบทรัพยากร
‫หากคุณเริ่มดู
‫YAML ซึ่งเราจะพูดถึงในนาทีนี้
‫YAML นั้นสามารถอยู่ในไฟล์เดียวได้
‫คุณสามารถรวมทรัพยากรประเภทต่างๆ มากมายไว้ใน
‫YAML เดียวได้ หรือคุณสามารถแยกออกเป็นวัตถุเดียวในไฟล์
‫YAML แต่ละไฟล์ในไดเรกทอรีเดียว และคุณสามารถใช้คำสั่งเดียวเพื่อใช้ทั้งไดเรกทอรี
‫มีตัวเลือกมากมายที่นั่น
‫เหตุผลที่เราไม่เริ่มใช้วิธีนี้คือเหตุผลนั้น
‫ไม่จำเป็นเสมอไป
‫มันเพิ่มความซับซ้อนขึ้นเล็กน้อยเพราะคุณต้องสร้างไฟล์นี้และทุกสิ่งที่อยู่ในนั้นก่อนที่คุณจะสามารถทำได้
‫คุณอาจไม่มีสิ่งเหล่านั้นตั้งแต่เริ่มต้น และคุณไม่จำเป็นต้องสร้างมันขึ้นมาเพื่อสร้างพ็อดหรืออะไรทำนองนั้นใช่ไหม
‫ดังนั้น ในการเริ่มต้น CLI ก็สมเหตุสมผล
‫การใช้คำสั่งที่จำเป็นมาตรฐานนั้นสมเหตุสมผล
‫แต่เมื่อคุณเริ่มคิดเกี่ยวกับการผลิต
‫และระบบอัตโนมัติ และทำกระบวนการอัปเดตซ้ำๆ
‫ซากๆ เหมือนกับที่คุณกำลังจะทำ แล้วคุณจะเริ่มคิดว่า
‫โอเค ฉันต้องการแนวทางที่เปิดเผยมากกว่านี้
‫ความท้าทายคือคุณต้องรู้คีย์และการตั้งค่า YAML
‫เหล่านั้นทั้งหมด และคุณต้องเริ่มต้นจากศูนย์และสร้างความเชี่ยวชาญของคุณเมื่อเวลาผ่านไปในวิธีการและสิ่งต่างๆ
‫ทั้งหมดที่คุณต้องใส่ใน YAML นี้
‫สิ่งที่ยอดเยี่ยมคือการลงทุนของคุณไม่สูญเปล่า
‫ในขณะที่คุณกำลังทำสิ่งพื้นฐานบางอย่างใน
‫Kubernetes ให้เสร็จสิ้นโดยการพิมพ์ CLI เช่น kubectl run หรือ create
‫ในช่วงเวลานั้น คุณกำลังดู YAML ด้วยคำสั่ง
‫output ให้จำ -o yaml
‫คุณสามารถดูผลลัพธ์ของ YAML
‫มีวิธีอื่นที่เราสามารถดู YAML ได้
‫เราเริ่มสร้างความรู้ของเราว่า YAML ควรมีหน้าตาเป็นอย่างไร
‫เพื่อที่ว่าเมื่อคุณเข้าสู่โลกของการผลิต ซึ่งโดยพื้นฐานแล้วคุณทำ YAML ทั้งวัน คุณจะคุ้นเคยกับวิธีที่มันเป็น แตกออก
‫วิธี
‫YAML นี้เป็นวิธีที่ง่ายที่สุดในการทำให้การประสานของคุณเป็นแบบอัตโนมัติ
‫นี่เป็นวิธีที่ง่ายที่สุดในการรับความสุข
‫เราจะไม่พูดมากเกี่ยวกับการดำเนินการในหลักสูตรนี้
‫ฉันแนะนำให้คุณไปที่
‫Google เพราะเป็นงาน DevOps ประเภทหนึ่งที่ใช้เครื่องมือรับเป็นแหล่งความจริงของคุณ
‫โดยพื้นฐานแล้ว ทุกครั้งที่คุณต้องการเปลี่ยนแปลงสภาพแวดล้อม
‫คุณจะต้องแก้ไข YAML บางส่วน
‫คุณทำคำสั่งใช้
‫คุณทำข้อตกลง ตอนนี้คุณมีบันทึกของทุกสิ่งที่คุณทำไปแล้ว
‫นั่นเป็นหนึ่งในคุณลักษณะของโมเดลการดำเนินการของ
‫get-ops และการทำเช่นนี้ด้วยการประกาศเป็นวิธีที่คุณไปถึงที่นั่น
‫มาดูสามวิธีที่ทีม Kubernetes คิดว่าเราควรใช้บรรทัดคำสั่ง
‫Kubernetes