‫ไม่เป็นไร. การบรรยายสองสามครั้งสุดท้ายนี้
‫คุณได้เริ่มเห็นส่วนต่างๆ ของ Kubernetes ที่กำลังขยายตัวใช่ไหม
‫ถ้าคุณคิดว่ามันเหมือนกับลูกโลกเล็กๆ
‫ที่เป็นศูนย์รวมของไบนารีและโครงสร้างพื้นฐานพื้นฐานของ Kubernetes วงแหวนก็ใหญ่ขึ้นเรื่อยๆ ใช่ไหม
‫ด้วยรูปแบบ
‫Ingress และ Operator และการกำหนดทรัพยากรที่กำหนดเอง
‫มันใหญ่ขึ้นเรื่อยๆ
‫ตอนนี้ ฉันอยากจะคุยกับคุณว่ามันจะใหญ่ขึ้นขนาดไหน
‫อันที่จริง
‫นี่อาจเป็นพื้นที่เดียวที่มันบ้าไปหน่อย
‫นั่นอยู่ในพื้นที่ของความคิดเห็นเกี่ยวกับวิธีการปรับใช้
‫YAML สำหรับทรัพยากรเหล่านี้ใช่ไหม
‫จนถึงตอนนี้ คุณเคยเห็น kubectl ใช้แล้ว
‫นั่นจะช่วยให้คุณเริ่มต้นได้ และนั่นอาจช่วยให้คุณผ่านการปรับใช้คอนเทนเนอร์ออร์เคสตราเป็นครั้งแรกใช่ไหม
‫คุณจะ... ไม่ว่าคุณจะใช้
‫Swarm หรือ Kubernetes คุณก็จะได้ YAML นั้น และคุณจะมี
‫repo และคุณจะเก็บไว้ในนั้น และนั่นก็สมเหตุสมผล
‫เมื่อคุณเริ่มขยายขอบเขตนี้ และคุณมีทีม และคุณมีสิทธิ์
‫และการอนุญาตประเภทต่างๆ
‫และบุคคลที่ต้องควบคุมหรืออนุมัติสิ่งต่างๆ
‫ทุกอย่างจะซับซ้อนขึ้น
‫เกิดอะไรขึ้นในโลกนี้ของการปรับใช้แอปของคุณบน
‫Kubernetes และนั่นคือสาเหตุโดยพื้นฐาน
‫เราจะพูดถึงข้อเท็จจริงที่ว่าขณะนี้มีมากกว่า
‫60 รายการ จริงๆ แล้วมีประมาณ 80 รายการ แต่ส่วนใหญ่ไม่ใช่โครงการจริงอีกต่อไป
‫หรือตายแล้วหรือถูกเก็บถาวร
‫แต่มีอย่างน้อย 60 วิธีในการเพิ่มเครื่องมือบน
‫Kubernetes สำหรับการปรับใช้แอปพลิเคชันของคุณบน
‫Kubernetes
‫มีหลายความเห็นใช่มะ
‫นี่คือจุดเริ่มต้นของความคิดเห็นเกี่ยวกับวิธีที่คุณควรจะทำสิ่งนี้
‫ทุกอย่างตั้งแต่
‫Jenkins X ไปจนถึง Helm และอื่นๆ Kubernetes ไม่ใช่โครงสร้างพื้นฐานที่มีความคิดเห็น
‫เราจึงต้องการความคิดเห็นเพื่อแนะนำผู้คนตลอดกระบวนการปรับใช้และอัปเดตแอปของพวกเขา
‫ดังนั้นทุกคนมีหนึ่ง หากคุณเคยอ่านวิธีทำสิ่งนี้ใน
‫Kubernetes คุณคงเคยได้ยินชื่อ
‫Helm Helm to Kubernetes คือ Kubernetes
‫สำหรับคอนเทนเนอร์เป็นหลัก Helm เป็นวิธีการโดยพฤตินัยที่ทุกคนมองหาเพื่อสร้างเทมเพลตและใช้มาตรฐานเทมเพลตสำหรับการปรับใช้แอพของบุคคลที่สามหรือสร้างแผนภูมิ
‫Helm ที่กำหนดเอง
‫นั่นคือสิ่งที่เรียกว่าแผนภูมิ
‫โดยพื้นฐานแล้วมันคือ YAML ที่มีเทมเพลต แต่อนุญาตให้
‫Helm สร้างหรือแยก YAML ออกซึ่งจะไปที่คลัสเตอร์
‫Kubernetes ให้คุณ
‫แต่มันไม่ใช่ความเห็นเดียวใช่ไหม
‫ฉันบอกว่ามีมากกว่า 60 อย่างน้อยครั้งสุดท้ายที่ฉันดู
‫มี Google ชีตที่ฉันใส่ในลิงก์อ้างอิง
‫ถึงจะเก่าไปหน่อย
‫แต่ก็เป็นรายการสุดท้ายที่ทราบของสถานที่ทั้งหมดที่คุณสามารถหาวิธีการต่างๆ
‫เหล่านี้ในการปรับใช้ Docker เองก็มีความคิดเห็นของตัวเองที่น่าสนใจมาก
‫โดยเฉพาะอย่างยิ่งหากคุณต้องการที่จะใกล้ชิดกับระบบนิเวศของ
‫Docker นั่นคือ Compose
‫บน Kubernetes
‫หากคุณมี Docker Desktop คุณสามารถเปิดใช้งาน
‫Kubernetes ได้แล้ววันนี้ ซึ่งคุณอาจได้ทำไปแล้วในส่วนนี้ของหลักสูตร
‫คุณสามารถใช้
‫Docker stack Deploy และแทนที่จะไปที่ Swarm คุณสามารถส่งไปยัง
‫Kubernetes ได้
‫หากคุณไปดูคำสั่งปรับใช้ docker stack และดูความช่วยเหลือสำหรับสิ่งนั้น
‫คุณจะเห็นว่ามีตัวเลือกให้ระบุ orchestrator ที่คุณต้องการใช้
‫อันที่จริงแล้ว
‫ในการตั้งค่าของ Docker Desktop คุณสามารถบอกให้มันเลือกหรือตั้งค่าเริ่มต้นเป็น Kubernetes
‫สำหรับคำสั่งการปรับใช้สแต็ก
‫ค่อนข้างน่าสนใจเพราะฉันคิดว่า Compose YAML แตกต่างจาก
‫Kubernetes YAML
‫นั่นคือสิ่งที่ Compose on Kubernetes ทำในตอนนี้
‫เป็นเครื่องมือของบุคคลที่สามโดยพื้นฐานแล้ว
‫เป็นวิธีการแสดงความคิดเห็น ตั้งแต่ Docker วิธีการปรับใช้
‫หรือตีความ หรือแปลทางเทคนิค YAML ของ Compose
‫รูปแบบ Compose เป็นรูปแบบ YAML ของ Kubernetes
‫ฉันได้ใส่ลิงก์ไว้ที่นี่เพื่อให้คุณได้ลองดูว่าคุณคือคนที่จะพิจารณา
‫Docker Enterprise เป็นเครื่องมือสำหรับองค์กรของคุณสำหรับ
‫Kubernetes และ Swarm และ Docker โดยทั่วไปหรือไม่
‫จากนั้นคุณควรตรวจสอบสิ่งนี้อย่างแน่นอนเพราะมันออกมาจากกล่อง
‫ข้อดีอย่างหนึ่งของฟีเจอร์นั้นก็คือเวิร์กโฟลว์นั้นเรียบง่ายสุดๆ
‫โดยทั่วไป
‫คุณกำลังใช้ Compose YAML ของคุณตลอดไปป์ไลน์ทั้งหมด และคุณสามารถใช้ใน
‫Ops และ Dev ไม่ได้บังคับให้คุณต้องพูดว่า
‫โอเค สำหรับนักพัฒนา คุณต้องมี YAML สำหรับเขียน และสำหรับใช้งานจริงและเซิร์ฟเวอร์
‫คุณต้องมี Kubernetes YAML นี้ และใช้งานร่วมกันไม่ได้ใช่ไหม
‫แนวคิดของ Docker คือพวกเขาคิดว่ามันซับซ้อนเกินไป
‫มาทำให้มันง่ายขึ้น
‫ลองใช้มาตรฐาน YAML หนึ่งมาตรฐานสำหรับไปป์ไลน์การควบคุมทั้งหมด
‫และฉันชอบมัน. ปัญหาคือมันไม่รองรับทุกสิ่งภายใต้ดวงอาทิตย์ที่
‫Kubernetes สามารถทำได้ใช่ไหม
‫ฉันหมายถึงชัดเจนว่า
‫เรามีหน้าเดียวใน Docker Docs เพื่อแสดงรายการคุณสมบัติทั้งหมดของไฟล์เขียน
‫แต่
‫Kubernetes YAML นั้นซับซ้อนมากจนเราต้องเจาะลึกหลายคำสั่งและการอ้างอิง
‫API และทั้งหมดนั้น
‫เห็นได้ชัดว่าไม่สามารถทำทุกอย่างได้
‫สิ่งที่ดีอยู่ในเว็บไซต์ Compose for Kubernetes
‫พวกเขาพูดถึงคุณสมบัติต่างๆ ที่รองรับใน GitHub
‫ใน GitHub
‫มันคือกฎ 80/20 นั่นเอง
‫กล่าวอีกนัยหนึ่งคือสนับสนุนคุณลักษณะ Kubernetes
‫20 เปอร์เซ็นต์ที่เราอาจต้องการ 80 เปอร์เซ็นต์
‫ดังนั้น คุณสามารถเริ่มต้นกับสิ่งนั้นและดูว่าเวิร์กโฟลว์นั้นเหมาะกับคุณหรือไม่
‫อีกสิ่งที่ดีคือในช่วงปลายปี
‫2018 พวกเขาเปิดแหล่งที่มาที่เขียนบน Kubernetes เพื่อให้คุณสามารถปรับใช้บนโครงสร้างพื้นฐานของ Kubernetes ที่คุณมี และมันใช้งานได้เหมือนล่าม
‫โดยจะแปลทุกครั้งที่คุณใช้ไฟล์เขียนจาก
‫Docker และใช้คำสั่ง Docker โดยจะเชื่อมต่อคลัสเตอร์ Kubernetes ให้คุณ แปลเป็น
‫Kubernetes YAML โดยอัตโนมัติและไม่ต้องใช้งาน
‫ณ
‫จุดนั้น คุณสามารถละเว้น Kubernetes YAML จำนวนมากสำหรับแอปพลิเคชันของคุณได้
‫คุณรู้ไหม
‫บางทีคุณอาจใช้ Kubernetes YAML สำหรับโครงสร้างพื้นฐานที่คุณไม่ได้ปรับใช้ทุกวัน
‫แต่บางทีสำหรับนักพัฒนาของคุณในการทำให้พวกเขาเขียน
‫Compose YAML ได้ง่ายขึ้น และเพื่อให้ทำงานจริงได้เร็วขึ้น คุณเลือกใช้ Compose บน Kubernetes เป็นเวิร์กโฟลว์
‫จากนั้น คุณอาจใช้แผนภูมิ Helm ซึ่งเป็นมาตรฐานที่แข่งขันกันสำหรับโครงสร้างพื้นฐานหลักของคุณ
‫เพราะสิ่งที่เกี่ยวกับ
‫Helm คือมันมาพร้อมกับเทมเพลตแผนภูมิจำนวนมากที่พร้อมใช้งานทันที
‫คุณจึงปรับใช้การบันทึก Prometheus หรือ Elasticsearch
‫ด้วย ELK หรืออะไรทำนองนั้นได้
‫มันจะมาพร้อมกับเทมเพลตเหล่านั้นทันทีที่แกะกล่อง
‫ซึ่งช่วยให้คุณเริ่มต้นได้เร็วยิ่งขึ้น
‫นอกจากนี้ โปรดจำไว้ว่าทั้งหมดนี้เป็นทางเลือก ถูกต้อง
‫คุณสามารถทำ Kubernetes ด้วย YAML มาตรฐานที่คุณเคยเล่นด้วย
‫และนั่นก็ใช้ได้
‫ไม่ต้องการสิ่งอื่นเหล่านี้
‫เป็นเพียงเครื่องมือเสริมของบุคคลที่สาม
‫ตามเนื้อผ้า เมื่อทีมเติบโตขึ้น เมื่อคุณได้รับคลัสเตอร์
‫Kubernetes ที่ใช้งานจริงหลายคลัสเตอร์และมีหลายทีมที่เกี่ยวข้อง
‫ทุกอย่างจะยากขึ้น และคุณอาจจะจบลงด้วยโซลูชันมากกว่าหนึ่งวิธี
‫คุณอาจลงเอยด้วย Helm ในบางกลุ่ม
‫คุณอาจลงเอยด้วย Compose on Kubernetes สำหรับนักพัฒนาของคุณ
‫หรืออะไรทำนองนั้น
‫หรือเครื่องมืออื่นๆ อีกกว่า 60 รายการในระบบนิเวศ
‫ประเด็นสุดท้ายคือ เนื่องจาก Helm เป็นผู้นำในพื้นที่นี้จริงๆ ในขณะนี้
‫ซึ่งเกือบทุกการกระจายใช้หรือสนับสนุน
‫หรือแม้กระทั่งมาพร้อมกับมันตั้งแต่แกะกล่อง
‫เพียงพิจารณาว่าเมื่อคุณดูเครื่องมือเหล่านี้
‫คุณอาจไม่สามารถหลีกเลี่ยง Helm ในสภาพแวดล้อมขนาดใหญ่ได้
‫คุณจะต้องใช้มัน
‫สิ่งที่ดีคือวันนี้คือวันที่ 3 0 และมีตัวเลือกการปรับใช้ที่ง่ายกว่ามากใน
‫3 0 กับ 1 0 และ
‫2 0. ดังนั้นสิ่งต่าง ๆ เริ่มดีขึ้นและง่ายขึ้นตลอดเวลา
‫เครื่องมือการปรับใช้เหล่านี้จำนวนมากช่วยให้คุณสร้างเทมเพลต
‫YAML ได้หลายวิธี
‫Kubernetes
‫เองไม่ได้มีอะไรมาเป็นเวลานานที่สุด
‫ในรีลีสล่าสุด ตอนนี้ได้ออกมาพร้อมกับสิ่งที่เรียกว่า
‫Kustomize with a K.
‫เมื่อคุณเริ่มเห็นคำนั้นด้วยตัว K คุณจะรู้ว่ามันเป็นคุณสมบัติพิเศษ
‫ช่วยให้คุณสามารถทำสิ่งต่าง ๆ ที่คล้ายกับ Helm
‫และโซลูชันการปรับใช้อื่น ๆ เหล่านี้ได้ แต่ก็ไม่ได้มีประสิทธิภาพเท่ากับ
‫Helm ใช่ไหม
‫Helm ยังคงเป็นหัวหน้า
‫Kustomize เป็นเด็กใหม่ในบล็อก แต่มันออกมาจากกล่องพร้อมทุกสิ่งที่คุณทำใน
‫Kubernetes
‫คำสั่ง kubectl รองรับ
‫แท้จริงแล้วมันเป็นเพียงแค่การใช้ แทนที่จะเป็นเทมเพลต
‫YAML มันแค่ใช้ YAML ที่คุณมีอยู่แล้วซึ่งเป็น Kubernetes
‫YAML มาตรฐาน จากนั้นคุณสามารถนำไฟล์นั้นแล้วเรียกใช้อย่างอื่นที่ด้านบนและเปลี่ยนด้วยการแทนที่
‫ของแปลก ๆ
‫คล้ายกับที่เราทำใน Swarm
‫ที่จริงแล้วเรามีใน Swarm and Compose เรามีไฟล์แทนที่และอะไรทำนองนั้น
‫ตอนนี้พวกเขามีสิ่งนี้สร้างขึ้นจากกล่อง
‫มันมีคุณสมบัติมากมาย
‫ฉันคิดว่าไม่มากก็น้อยในแง่ของชุดคุณลักษณะของสิ่งที่
‫Helm มี แต่อย่างน้อยก็ออกมานอกกรอบ
‫จำไว้ว่าถ้าคุณมี Docker ซึ่งเป็นรีลีสล่าสุด
‫19 03 หรือใหม่กว่าของ Docker ตอนนี้มีคำสั่งย่อยของแอพนักเทียบท่า
‫ซึ่งสร้างเทมเพลตของ Compose YAML ของตัวเอง และเทียบได้กับตัวเลือกที่กำหนดเองนี้สำหรับ Kubernetes
‫อย่างมาก
‫อีกครั้ง
‫หากคุณกำลังจะยึดติดกับแทร็ก Docker และคุณกำลังพิจารณา
‫Docker Enterprise หรือคุณชอบที่ Docker เน้นที่เวิร์กโฟลว์ของนักพัฒนาจริงๆ ให้ดูที่คำสั่งย่อยของแอพ
‫docker และ repo ของแอพ docker ซึ่ง ฉันจะใส่ทรัพยากรที่นี่
‫เนื่องจากพวกเขามีเอกสารเกี่ยวกับวิธีการเขียน
‫YAML ให้แยกข้อมูลต่างๆ เช่น ตัวแปรสภาพแวดล้อมและสิ่งอื่น
‫ๆ รวมเป็นภาพเดียวแล้วจัดส่ง
‫YAML ของคุณเป็นรูปภาพ
‫ซึ่งหมายความว่าตอนนี้คุณสามารถกำหนดเวอร์ชัน
‫YAML ของคุณและปรับใช้ด้วยบรรทัดเดียวโดยไม่ต้องทำเหมือนดึง
‫YAML ลงแล้วพิมพ์คำสั่งยาวๆ
‫เป็นวิธีที่น่าสนใจทีเดียว
‫มันใช้สิ่งใหม่ที่เรียกว่ามาตรฐาน CNAB
‫ซึ่งเราจะไม่พูดถึงที่นี่ แต่นั่นคือ
‫C N A B
‫เป็นการประกาศที่ Docker และ Microsoft
‫ทำในปี 2018
‫คุณสามารถตรวจสอบทั้งหมดได้จากเว็บไซต์แอพ
‫Docker ในแหล่งข้อมูล อีกครั้ง เนื้อหาทั้งหมดนี้เป็นเรื่องเกี่ยวกับทางเลือกของบุคคลที่สามในการปรับแต่งและขยาย
‫YAML เริ่มต้นเพื่อให้ทีมของคุณเติบโตขึ้นได้ง่ายขึ้น