‫มาคุยกันว่าทำไมคุณถึงต้องการ Kubernetes
‫ตอนนี้เป็นการทบทวน โปรดกลับมาตรวจสอบในส่วนก่อนหน้านี้
‫ส่วนแรกของ
‫Swarm มีการบรรยายเรื่อง Swarm Mode Built-in Orchestration
‫ซึ่งจะให้ข้อมูลพื้นฐานเกี่ยวกับปัญหาต่างๆ ที่การประสานกันแก้ไขได้
‫และสาเหตุที่คุณอาจต้องใช้
‫ฉันจะเน้นว่าในตอนแรก
‫สิ่งสำคัญอย่างยิ่งคือคุณต้องเข้าใจว่าการประสานกันมีประโยชน์อย่างไรในการปรับใช้แอปพลิเคชันของคุณ
‫และไม่ว่าคุณจะต้องการการประสานกันหรือไม่ก็ตาม
‫การประสานกำลังได้รับความนิยมเพิ่มขึ้นอย่างแน่นอน แต่ไม่ใช่วิธีเดียวที่จะเรียกใช้คอนเทนเนอร์
‫เราได้พูดคุยเกี่ยวกับการใช้ Docker ทำงานที่นี่
‫เราได้พูดคุยเกี่ยวกับ Docker Compose
‫เราได้พูดคุยเกี่ยวกับข้อเสนอและบริการอื่นๆ ของแพลตฟอร์ม
‫ฉันมีลูกค้าที่ยังคงใช้งานคอนเทนเนอร์บนโหนดเดียวใน
‫AWS โดยไม่มีการจัดการ
‫พวกเขาใช้คุณสมบัติของแพลตฟอร์มนั้นเพื่อสร้างสิ่งที่คล้ายคลึงกันเป็นนามธรรม
‫ซึ่งพวกเขาอาจใช้กลุ่มการปรับขนาดอัตโนมัติ Elastic
‫Load Balancing และอีกมากมายที่เราใช้มานานกว่าทศวรรษเพื่อจัดการการปรับใช้แอปพลิเคชันของเรา
‫พวกเขามีระบบที่ได้รับการขัดเกลาจนพวกเขาไม่เห็นประโยชน์มากมายจากการเปลี่ยนทั้งหมดนี้เป็นการประสานกัน
‫ตอนนี้ พวกเราส่วนใหญ่จะใช้รูปแบบของคอนเทนเนอร์ออร์เคสตรา
‫เพราะนั่นเป็นวิธีที่ฉันคิดว่าอุตสาหกรรมกำลังดำเนินไปจริงๆ
‫และสิ่งเหล่านี้จะเป็นเลเยอร์พิเศษเหล่านี้ที่ทำงานบน
‫Docker หรือรันไทม์อื่นๆ ซึ่งเป็นสิ่งที่คุณ ได้เรียนรู้ตลอดหลักสูตรนี้
‫หนึ่งในสูตรง่ายๆ ที่ฉันใช้ไม่ว่าจะใช้การประสานกันหรือไม่
‫คือการนับจำนวนเซิร์ฟเวอร์ที่ฉันต้องการสำหรับสภาพแวดล้อมเฉพาะ จากนั้นอัตราการเปลี่ยนแปลงของแอปพลิเคชันของฉัน
‫หรือสภาพแวดล้อมเอง และการคูณของ ทั้งสองมีค่าเท่ากับประโยชน์ของการประสานกันจริงๆ
‫สิ่งที่ฉันหมายถึงก็คือการประสานกันนั้นได้รับการออกแบบมาเพื่อให้การเปลี่ยนแปลงอัตโนมัติและติดตามสถานะของสิ่งต่าง
‫ๆ และทำให้แน่ใจว่าทุกอย่างเป็นสถานะที่คุณคาดหวังให้เป็น
‫ตัวอย่างเช่น แอปที่ทำงานอยู่ในสถานะปกติ
‫เมื่อคุณเริ่มต้นใช้งาน คุณอาจต้องการเซิร์ฟเวอร์เพียงเครื่องเดียวหรือเพียงไม่กี่เซิร์ฟเวอร์ และหากคุณไม่ได้เปลี่ยนแอปพลิเคชันบ่อยนัก
‫สมมติว่าคุณเปลี่ยนเพียงเดือนละครั้งหรือน้อยกว่านั้น จากนั้นจึงดำเนินการประสานกัน
‫และความพยายามที่เกี่ยวข้องในการปรับใช้ การจัดการ การรักษาความปลอดภัย อาจไม่จำเป็นในรัฐของคุณ
‫โดยเฉพาะอย่างยิ่งถ้าคุณเป็นนักพัฒนาเดี่ยวหรือแค่ทีมเล็กๆ
‫นั่นคือสิ่งที่ต่างๆ เช่น Elastic Beanstalk หรือ Heroku
‫ซึ่งเป็นแพลตฟอร์มการปรับใช้แอปพลิเคชัน ที่ซึ่งสิ่งต่างๆ
‫มากมายเริ่มโดดเด่นเป็นทางเลือกแทนการประสานเสียงของคุณเอง
‫แน่นอน คำถามทั่วไปที่ฉันได้รับจากผู้คนเมื่อพวกเขาพบว่าพวกเขาต้องการการประสานกัน
‫คือการตัดสินใจว่าพวกเขาต้องการคำถามใด
‫ณ จุดนี้ในปี 2019 มีอย่างน้อยสองหรือสามแพลตฟอร์มหลัก
‫หากคุณรวมโซลูชัน Cloud ไว้ อาจมีสี่หรือห้าแพลตฟอร์มหลักอยู่ที่นั่น
‫สิ่งที่ฉันพูดถึงในหลักสูตรนี้คือ 2 อันดับแรกที่ทำงานได้ทุกที่
‫นั่นคือ Swarm และ Kubernetes
‫จากนั้น คุณมีแพลตฟอร์มอื่นๆ ที่เฉพาะเจาะจงสำหรับแพลตฟอร์ม
‫Cloud เช่น ECS ซึ่งอยู่บน AWS
‫เท่านั้น และข้อเสนอแบบดั้งเดิมอื่นๆ ที่ใช้เวลานานกว่าเล็กน้อย เช่น Cloud Foundry หรือ
‫Mesos และ Marathon
‫แต่ฉันคิดว่าถ้าคุณเป็นคนที่กังวลเกี่ยวกับการรันคอนเทนเนอร์ภายในองค์กร
‫และในระบบคลาวด์ หรือมัลติคลาวด์ คุณอาจไม่ต้องการใช้ข้อเสนอเฉพาะบนคลาวด์เช่น ECS
‫เพราะสิ่งเหล่านี้มีมาก่อน Kubernetes
‫นั่นเป็นโซลูชันดั้งเดิมที่ Amazon ยังคงรองรับและยังคงเป็นตัวเลือกที่ดี
‫แต่ถ้าคุณใช้เฉพาะกับ AWS และนั่นเป็นที่เดียวที่คุณวางแผนจะปรับใช้คอนเทนเนอร์
‫สำหรับลูกค้าจำนวนมากของฉัน และสำหรับนักเรียนจำนวนมาก
‫ทางเลือกมักจะเป็น ฉันต้องการสิ่งที่เป็นไฮบริด
‫หมายความว่าฉันสามารถเรียกใช้ในศูนย์ข้อมูลของฉันหรือในระบบมัลติคลาวด์
‫ไม่สามารถทำงานในสถานที่เดียวเท่านั้น
‫ที่มักจะลงมาที่ Swarm หรือ Kubernetes
‫ว่าเป็นตัวเลือกที่สำคัญของพวกเขา เนื่องจากเป็นโซลูชันสองวิธีซึ่งเป็นผู้จัดเตรียมคอนเทนเนอร์ที่ได้รับความนิยมมากที่สุด
‫พวกเขาทำงานบนทุกระบบคลาวด์ และในศูนย์ข้อมูล และแม้แต่สภาพแวดล้อมขนาดเล็กที่อาจเหมือนกับ
‫IoT
‫หากคุณตัดสินใจให้ Kubernetes เป็นออร์เคสตราของคุณ
‫การตัดสินใจครั้งสำคัญต่อไปคือที่คุณจะใช้การจัดจำหน่ายแบบใด
‫ส่วนแรกคือการค้นหาว่าคุณต้องการโซลูชันที่มีการจัดการบนคลาวด์หรือไม่
‫หรือคุณต้องการรวมโซลูชันของคุณเองกับผลิตภัณฑ์ของผู้ขาย
‫ซึ่งคุณจะต้องติดตั้งบนเซิร์ฟเวอร์ด้วยตัวเอง
‫การกระจายทั่วไปที่ได้รับการสนับสนุนจากผู้ขายที่คุณเคยได้ยินฉันพูดถึง
‫รวมถึง Docker Enterprise และยังมีอื่นๆ เช่น Rancher
‫OpenShift จาก Red Hat
‫Canonical
‫ซึ่งเป็นบริษัท Ubuntu มีเวอร์ชันของตัวเอง
‫VMware มีเวอร์ชันของตัวเอง
‫พีเคเอสด้วย
‫ในความเป็นจริง มีโครงสร้างพื้นฐานและโซลูชันผู้จำหน่ายซอฟต์แวร์ของบริษัทมากมายสำหรับ
‫Kubernetes ในขณะนี้ ซึ่งถือว่าล้นหลามเล็กน้อย
‫ฉันจะให้ลิงก์ในแหล่งข้อมูลไปยังรายการการกระจายที่ผ่านการรับรองของ
‫Kubernetes
‫คุณต้องการใช้อย่างใดอย่างหนึ่งเหล่านี้เนื่องจากรับประกันว่ามีการใช้
‫API จาก Kubernetes โดยตรงและได้รับการสนับสนุนอย่างเต็มที่
‫ดังนั้น กรณีที่เหมาะสมที่สุดก็คือ คุณสามารถนำปริมาณงานและไฟล์
‫YAML ของคุณที่ออกแบบโครงสร้างพื้นฐานของคุณ และคุณสามารถย้ายสิ่งเหล่านี้จากผู้จำหน่าย
‫Kubernetes รายหนึ่งไปยังอีกรายหนึ่งได้ และพวกเขาควรจะใช้งานได้ทันทีสำหรับสิ่งต่างๆ ส่วนใหญ่
‫ตอนนี้มีอีกตัวเลือกหนึ่งที่ฉันเพิ่งจะพูดถึงคือการใช้
‫Kubernetes เวอร์ชันต้นทางของ GitHub
‫นั่นคือสิ่งที่การแจกแจงทั้งหมดขึ้นอยู่กับ
‫ตัวอย่างเช่น หากคุณดูต้นน้ำและเห็น
‫Kubernetes 1 14 ปล่อย.
‫จากนั้น เมื่อคุณดูผลิตภัณฑ์ของผู้ขาย
‫คุณจะสนใจว่า Kubernetes เวอร์ชันใดที่รองรับ
‫โดยปกติแล้ว ผลิตภัณฑ์ของผู้จำหน่ายจะมีบางเวอร์ชันที่ล้าหลัง
‫แต่ทุกวันนี้ การแข่งขันคือพวกเขาทั้งหมดอัปเดตอยู่เสมอ
‫ดังนั้น ฉันมักจะเห็นพวกเขาเพียงเวอร์ชันเดียวที่ล้าสมัยในบางครั้ง
‫ตอนนี้ สิ่งที่คุณได้จากโซลูชันของผู้ขาย
‫นอกเหนือจากตัวเลือกการสนับสนุนของผู้ขายรายนั้น
‫ยังรวมเครื่องมืออื่นๆ ไว้ด้วย
‫สิ่งหนึ่งที่เกี่ยวกับ Kubernetes แตกต่างไปจาก
‫Swarm เล็กน้อยคือมันต้องการหลายสิ่งเพิ่มเข้าไปเพื่อให้ใช้งานได้ง่ายเมื่อแกะกล่อง
‫ดังนั้น
‫เมื่อคุณได้รับโซลูชันจากผู้ขาย คุณจะได้เห็นสิ่งต่างๆ
‫เช่น โซลูชันการตรวจสอบสิทธิ์แบบกำหนดเอง การจัดการเว็บแบบกำหนดเอง
‫และเครือข่ายแบบกำหนดเอง เป็นต้น
‫โดยทั่วไปฉันจะแนะนำให้คุณโดยไม่ทราบความต้องการของคุณว่าคุณอาจไม่ต้องการ
‫Kubernetes ของ GitHub เวอร์ชันต้นน้ำบริสุทธิ์
‫คุณไม่จำเป็นต้องโคลน repo ของ Kubernetes และเรียกใช้เพียงแค่นั้น
‫ตอนนี้มันดีมากสำหรับการเรียนรู้
‫อันที่จริง ฉันขอแนะนำให้เริ่มต้นด้วยสิ่งนั้นเพื่อเรียนรู้
‫Kubernetes แต่เมื่อคุณเข้าสู่โซลูชันของผู้จำหน่าย
‫สิ่งเหล่านี้จะแตกต่างออกไปเล็กน้อยในเรื่องความปลอดภัย
‫เครือข่าย และอื่นๆ
‫ดังนั้น มันจะยากสำหรับคุณที่จะเรียนรู้สิ่งหนึ่ง แล้วแค่สมมติว่าอีกสิ่งหนึ่งทำในลักษณะเดียวกัน
‫อย่างไรก็ตาม เมื่อคุณเริ่มพูดถึงการผลิต ฉันคาดหวังว่าคุณจะลองใช้หนึ่งในโซลูชันของผู้ขายเหล่านั้นก่อน
‫เพราะจะจัดการได้ง่ายขึ้น
‫คุณจะมีตัวเลือกการสนับสนุนที่ดีกว่า
‫โดยทั่วไป สิ่งต่างๆ จะทำงานได้ดีขึ้นและเร็วขึ้นเมื่อแกะกล่อง