Kubernetes (มักใช้ในสไตล์ 'K8s') ชนะการต่อสู้ของเครื่องมือปรับแต่งคอนเทนเนอร์ ปีที่แล้ว . อย่างไรก็ตามยังมีหลายวิธีในการนำ Kubernetes ไปใช้ในปัจจุบันและทำให้ทำงานร่วมกับโครงสร้างพื้นฐานต่างๆและเครื่องมือมากมายซึ่งบางส่วนได้รับการดูแลรักษาดีกว่าวิธีอื่น ๆ บางทีการพัฒนาที่น่าสนใจที่สุดในด้านหน้านั้นก็คือผู้ให้บริการคลาวด์ชั้นนำได้ตัดสินใจที่จะปล่อยเวอร์ชัน Kubernetes ที่มีการจัดการของตนเอง:
จากมุมมองของ DevOps แพลตฟอร์มเหล่านี้นำเสนออะไร พวกเขาทำตามสัญญาหรือไม่? เวลาในการสร้างและเกณฑ์มาตรฐานอื่น ๆ เปรียบเทียบกันอย่างไร พวกเขาทำงานร่วมกับแพลตฟอร์มของตนได้ดีเพียงใดโดยเฉพาะเครื่องมือ CLI การดูแลและทำงานร่วมกับพวกเขาเป็นอย่างไร ด้านล่างนี้เราจะเจาะลึกคำถามเหล่านี้และอื่น ๆ
หมายเหตุ: สำหรับผู้อ่านที่ต้องการอธิบายแนวคิดของคลัสเตอร์ Kubernetes ก่อนอ่านต่อ Dmitriy Kononov เสนอ การแนะนำที่ยอดเยี่ยม .
เราได้ตัดสินใจที่จะจัดกลุ่มคุณลักษณะต่างๆที่มีให้สำหรับการจัดการแต่ละรายการ ผู้ว่าการ เวอร์ชันลงในไซโล:
หมายเหตุ: รายละเอียดเหล่านี้อาจเปลี่ยนแปลงเมื่อเวลาผ่านไปเนื่องจากผู้ให้บริการระบบคลาวด์อัปเดตผลิตภัณฑ์ของตนเป็นประจำ
บริการมุมมอง | AKS | EX | GKE |
---|---|---|---|
ปีที่วางจำหน่าย | พ.ศ. 2560 | พ.ศ. 2561 | พ.ศ. 2557 |
รุ่นล่าสุด | 1.15.11 (ค่าเริ่มต้น) - 1.18.2 (ดูตัวอย่าง) | 1.16.8 (ค่าเริ่มต้น) | 1.14.10 (ค่าเริ่มต้น) - 1.16.9 |
ส่วนประกอบเฉพาะ | oms-agent, tunnelfront | aws-node | fluentd, fluentd-gcp-scaler, ผู้ส่งออกเหตุการณ์, l7-default-backend |
การอัปเกรดเครื่องบินควบคุม Kubernetes | คู่มือ | คู่มือ | อัตโนมัติ (ค่าเริ่มต้น) หรือด้วยตนเอง |
การอัพเกรดคนงาน | คู่มือ | ใช่ (ง่ายด้วยกลุ่มโหนดที่มีการจัดการ) | ใช่: สามารถปรับจูนอัตโนมัติและแบบแมนนวลได้ |
ผักกาดหอม | 99.95 เปอร์เซ็นต์พร้อมโซนว่าง 99.9 เปอร์เซ็นต์ไม่มี | 99.9 เปอร์เซ็นต์สำหรับ EKS (มาสเตอร์), 99.99 เปอร์เซ็นต์สำหรับ EC2 (โหนด) | 99.95 เปอร์เซ็นต์ภายในภูมิภาคหนึ่ง ๆ 99.5 เปอร์เซ็นต์ภายในหนึ่งโซน |
การสนับสนุน Native Knative | ไม่ | ไม่ | ไม่ (แต่ติดตั้ง Istio ดั้งเดิม) |
Kubernetes Control Plane Price | ฟรี | 0.10 USD / ชั่วโมง | 0.10 USD / ชั่วโมง |
Kubernetes เป็นโครงการของ Google ดังนั้นจึงเป็นเรื่องที่สมเหตุสมผลที่จะเสนอเวอร์ชันโฮสต์ในปี 2014 เป็นรายแรก
ในบรรดาสามคนที่ถูกเปรียบเทียบกันที่นี่ Azure เป็นรุ่นถัดไปของ AKS และมีเวลาในการปรับปรุง: หากคุณจำ acs-engine ซึ่งเคยใช้ในการจัดเตรียม Kubernetes บน Azure เมื่อไม่กี่ปีก่อนคุณจะประทับใจกับความพยายามของ Microsoft ในการเปลี่ยน aks- เครื่องยนต์.
AWS เป็นรุ่นสุดท้ายที่เปิดตัว EKS เวอร์ชันของตัวเองดังนั้นบางครั้งอาจดูเหมือนอยู่ข้างหลังฟีเจอร์ แต่ก็กำลังตามทัน
แน่นอนว่าในแง่ของราคานั้นสิ่งต่าง ๆ มักจะเคลื่อนไหวอยู่เสมอและ Google ตัดสินใจเข้าร่วม AWS ในราคา $ 0.10 / ชั่วโมงซึ่งมีผลในเดือนมิถุนายน 2020 Azure เป็นคนนอกที่นี่โดยให้บริการ AKS ฟรี แต่ยังไม่ชัดเจนว่าจะทำอย่างไร อาจจะนาน
ความแตกต่างหลักอีกประการหนึ่งอยู่ที่คุณสมบัติการอัปเกรดของคลัสเตอร์ การอัปเกรดอัตโนมัติส่วนใหญ่อยู่ใน GKE และจะเปิดใช้งานตามค่าเริ่มต้น อย่างไรก็ตาม AKS เทียบกับ EKS มีความคล้ายคลึงกันที่นี่ในแง่ที่ว่าทั้งสองต้องการการร้องขอด้วยตนเองเพื่อให้สามารถอัปเกรดโหนดหลักหรือโหนดของผู้ปฏิบัติงานได้
บริการมุมมอง | AKS | EX | GKE |
---|---|---|---|
นโยบายเครือข่าย | ใช่: Azure Network Policies หรือ Calico | ต้องติดตั้ง Calico | ใช่: Native ผ่าน Calico |
โหลดบาลานซ์ | ตัวจัดสรรภาระงาน SKU พื้นฐานหรือมาตรฐาน | ตัวจัดสรรภาระงานแบบคลาสสิกและเครือข่าย | ตัวจัดสรรภาระงานคอนเทนเนอร์เนทีฟ |
บริการตาข่าย | ไม่มีของนอกกรอบ | AWS App Mesh (ขึ้นอยู่กับ Envoy) | Istio (นอกกรอบ แต่เป็นเบต้า) |
การสนับสนุน DNS | การปรับแต่ง CoreDNS | CoreDNS + Route53 ภายใน VPC | CoreDNS + Google Cloud DNS |
ในด้านเครือข่ายของสิ่งต่างๆผู้ให้บริการคลาวด์ทั้งสามมีความใกล้ชิดกันมาก ทั้งหมดนี้ให้ลูกค้านำนโยบายเครือข่ายไปใช้กับ Calico เป็นต้น เกี่ยวกับการจัดสรรภาระงานพวกเขาทั้งหมดใช้การผสานรวมกับทรัพยากรตัวจัดสรรภาระงานของตนเองและให้วิศวกรเลือกว่าจะใช้อะไร
ความแตกต่างหลักที่พบที่นี่ขึ้นอยู่กับมูลค่าเพิ่มของตาข่ายบริการ AKS ไม่สนับสนุนโครงข่ายบริการใด ๆ นอกกรอบ (แม้ว่าวิศวกรจะสามารถติดตั้ง Istio ด้วยตนเองได้) AWS ได้พัฒนาโครงข่ายบริการของตนเองที่เรียกว่า App Mesh ในที่สุด Google ได้เปิดตัวการผสานรวมกับ Istio (แม้ว่าจะยังอยู่ในรุ่นเบต้า) ซึ่งลูกค้าสามารถเพิ่มได้โดยตรงเมื่อสร้างคลัสเตอร์
aws โซลูชั่น สถาปนิก ค่าสอบสมทบ
ทางออกที่ดีที่สุด: GKE
บริการมุมมอง | AKS | EX | GKE |
---|---|---|---|
โหนดโลหะเปลือย | ไม่ | ใช่ | ไม่ |
โหนดสูงสุดต่อคลัสเตอร์ | 1,000 | 1,000 | 5,000 |
คลัสเตอร์ความพร้อมใช้งานสูง | ไม่ | ใช่สำหรับแผนการควบคุมคู่มือสำหรับ AZ สำหรับคนงาน | ใช่ผ่านคลัสเตอร์ระดับภูมิภาคมาสเตอร์และผู้ปฏิบัติงานจะถูกจำลองแบบ |
การปรับขนาดอัตโนมัติ | ใช่ผ่านตัวปรับขนาดอัตโนมัติของคลัสเตอร์ | ใช่ผ่านตัวปรับขนาดอัตโนมัติของคลัสเตอร์ | ใช่ผ่านตัวปรับขนาดอัตโนมัติของคลัสเตอร์ |
Vertical Pod Autoscaler | ไม่ | ใช่ | ใช่ |
โหนดพูล | ใช่ | ใช่ | ใช่ |
โหนด GPU | ใช่ | ใช่ | ใช่ |
ในองค์กร | พร้อมใช้งานผ่าน Azure ARC (เบต้า) | ไม่ | GKE ในองค์กรผ่าน Anthos GKE |
เกี่ยวกับ GKE เทียบกับ AKS เทียบกับประสิทธิภาพและความสามารถในการปรับขนาดของ EKS ดูเหมือนว่า GKE จะนำหน้า อันที่จริงมันรองรับโหนดจำนวนมากที่สุด (5,000) และมีเอกสารมากมายเกี่ยวกับวิธีการปรับขนาดคลัสเตอร์อย่างเหมาะสม คุณสมบัติทั้งหมดสำหรับความพร้อมใช้งานสูงมีให้ใช้งานและง่ายต่อการปรับแต่ง ยิ่งไปกว่านั้น GKE เพิ่งเปิดตัว Anthos ซึ่งเป็นโครงการสร้างระบบนิเวศรอบ ๆ GKE และฟังก์ชันการทำงาน ด้วย Anthos คุณสามารถปรับใช้ GKE ในองค์กรได้
ข้อจำกัดในการออกแบบคืออะไร
AWS มีข้อได้เปรียบที่สำคัญ: เป็นเพียงโหนดเดียวที่อนุญาตให้โหนด bare-metal รันคลัสเตอร์ Kubernetes ของคุณ
ในเดือนมิถุนายน 2020 AKS ไม่มีความพร้อมใช้งานสูงสำหรับผู้เชี่ยวชาญซึ่งเป็นสิ่งสำคัญที่ต้องพิจารณา แต่เช่นเคยสิ่งนั้นอาจเปลี่ยนแปลงได้ในไม่ช้า
ทางออกที่ดีที่สุด: GKE
บริการมุมมอง | AKS | EX | GKE |
---|---|---|---|
การเข้ารหัสความลับของแอป | ไม่ | ใช่เป็นไปได้ผ่าน AWS KMS | ใช่เป็นไปได้ผ่าน Cloud KMS |
การปฏิบัติตาม | HIPAA, SOC, ISO, PCI DSS | HIPAA, SOC, ISO, PCI DSS | HIPAA, SOC, ISO, PCI DSS |
RBAC | ใช่ | ใช่และการผสานรวมกับ IAM อย่างแข็งแกร่ง | ใช่ |
การตรวจสอบ | คุณลักษณะความสมบูรณ์ของคอนเทนเนอร์ Azure Monitor | การตรวจสอบระนาบควบคุม Kubernetes ที่เชื่อมต่อกับ Cloudwatch, Container Insights Metrics สำหรับโหนด | Kubernetes Engine การตรวจสอบและการทำงานร่วมกับ Prometheus |
ในแง่ของการปฏิบัติตามผู้ให้บริการคลาวด์ทั้งสามมีความเท่าเทียมกัน อย่างไรก็ตามในด้านความปลอดภัย EKS และ GKE มอบความปลอดภัยอีกชั้นด้วยบริการจัดการคีย์แบบฝัง
สำหรับการตรวจสอบ Azure และ Google Cloud มีระบบนิเวศการตรวจสอบของตนเองรอบ ๆ Kubernetes เป็นที่น่าสังเกตว่าล่าสุดจาก Google ได้รับการอัปเดตให้ใช้ Kubernetes Engine Monitoring ซึ่งออกแบบมาโดยเฉพาะสำหรับ Kubernetes
Azure มีระบบตรวจสอบคอนเทนเนอร์ของตัวเองซึ่งเดิมสร้างขึ้นสำหรับระบบนิเวศคอนเทนเนอร์พื้นฐานที่ไม่ใช่ Kubernetes พวกเขาได้เพิ่มการตรวจสอบเมตริกและทรัพยากรเฉพาะ Kubernetes (ความสมบูรณ์ของคลัสเตอร์การทำให้ใช้งานได้) ในโหมดแสดงตัวอย่างเมื่อเดือนมิถุนายน 2020
AWS นำเสนอการตรวจสอบน้ำหนักเบาสำหรับระนาบควบคุมโดยตรงใน Cloudwatch ในการตรวจสอบคนงานคุณสามารถใช้ Kubernetes Container Insights Metrics ที่ให้มาผ่านตัวแทน CloudWatch ที่คุณติดตั้งในคลัสเตอร์ได้
ทางออกที่ดีที่สุด: GKE
บริการมุมมอง | AKS | EX | GKE |
---|---|---|---|
ตลาด | Azure Marketplace (แต่ไม่มีการรวม AKS ที่ชัดเจน) | AWS Marketplace (มากกว่า 250 แอป) | Google Marketplace (90+ แอป) |
รองรับ Infrastructure-as-Code (IaC) | โมดูล Terraform โมดูล Ansible | โมดูล Terraform โมดูล Ansible | โมดูล Terraform โมดูล Ansible |
เอกสารประกอบ | ชุมชนที่อ่อนแอ แต่สมบูรณ์และเข้มแข็ง (2,000+ Stack Overflow posts) | ชุมชนไม่ทั่วถึง แต่เข้มแข็ง (1,500+ โพสต์ Stack Overflow) | เอกสารอย่างเป็นทางการที่กว้างขวางและชุมชนที่แข็งแกร่งมาก (4,000+ โพสต์ Stack Overflow) |
การสนับสนุน CLI | เสร็จสมบูรณ์ | สมบูรณ์พร้อมเครื่องมือพิเศษแยกต่างหาก eksctl (ครอบคลุมด้านล่าง) | เสร็จสมบูรณ์ |
ในแง่ของระบบนิเวศผู้ให้บริการทั้งสามมีจุดแข็งและทรัพย์สินที่แตกต่างกัน ตอนนี้ AKS มีเอกสารประกอบที่สมบูรณ์มากสำหรับแพลตฟอร์มของตนและเป็นเอกสารที่สองในแง่ของโพสต์บน Stack Overflow EKS มีจำนวนโพสต์น้อยที่สุดใน Stack Overflow แต่ได้รับประโยชน์จากความแข็งแกร่งของ AWS Marketplace GKE เป็นแพลตฟอร์มที่เก่าแก่ที่สุดมีโพสต์มากที่สุดใน Stack Overflow และมีแอปจำนวนมากในตลาดกลาง แต่ยังมีเอกสารประกอบที่ครอบคลุมมากที่สุด
เดิมพันที่ดีที่สุด: GKE และ EKS
บริการมุมมอง | AKS | EX | GKE |
---|---|---|---|
การใช้งานฟรีสูงสุด | มูลค่า 170 เหรียญ | ไม่มีสิทธิ์ได้รับระดับฟรี | มูลค่า 300 เหรียญ |
Kubernetes ควบคุมต้นทุนเครื่องบิน | ฟรี | 0.10 USD / ชั่วโมง | 0.10 USD / ชั่วโมง (มิถุนายน 2020) |
ราคาที่ลดลง (Spot Instance / Preemptible Nodes) | ใช่ | ใช่ | ใช่ |
ตัวอย่างราคาหนึ่งเดือน | $ 342 3 โหนด D2 | 300 เหรียญ 3 t3 โหนดขนาดใหญ่ | 190 เหรียญ 3 n1-standard-2 โหนด |
เกี่ยวกับราคาโดยรวมแม้ว่า GKE จะย้ายไปใช้จุดราคา $ 0.10 / ชั่วโมงสำหรับคลัสเตอร์ใด ๆ แต่ก็ยังคงเป็นระบบคลาวด์ที่ถูกที่สุด ต้องขอบคุณบางสิ่งที่เฉพาะเจาะจงสำหรับ Google นั่นคือส่วนลดการใช้งานอย่างต่อเนื่องซึ่งจะมีผลเมื่อใดก็ตามที่การใช้งานทรัพยากรตามคำขอในแต่ละเดือนถึงขั้นต่ำที่กำหนด
สิ่งสำคัญคือต้องทราบว่าแถวราคาตัวอย่างไม่ได้คำนึงถึงการเข้าชมคลัสเตอร์ Kubernetes ที่ผู้ให้บริการระบบคลาวด์สามารถเรียกเก็บได้
เหตุผลที่ AWS ไม่อนุญาตให้ใช้ Free Tier เพื่อทดสอบคลัสเตอร์ EKS ก็คือ EKS ต้องการเครื่องจักรที่ใหญ่กว่าระดับ tX.micro และการกำหนดราคารายชั่วโมงของ EKS ไม่ได้อยู่ในระดับฟรี
อย่างไรก็ตามยังสามารถประหยัดได้ในการทดสอบตัวเลือก Kubernetes ที่มีการจัดการเหล่านี้ด้วยภาระที่เหมาะสมโดยใช้จุด / โหนดที่ยอมให้มีการขัดจังหวะชั่วคราวของผู้ให้บริการระบบคลาวด์แต่ละรายซึ่งกลยุทธ์ดังกล่าวจะช่วยประหยัดราคาสุดท้ายได้ 80 ถึง 90 เปอร์เซ็นต์ (แน่นอนว่าไม่แนะนำให้เรียกใช้โหลดการผลิตที่มีสถานะในเครื่องดังกล่าว!)
เมื่อดูคุณลักษณะต่างๆที่โฆษณาทางออนไลน์ดูเหมือนว่าจะมีความสัมพันธ์ระหว่างระยะเวลาที่เวอร์ชัน Kubernetes ที่มีการจัดการอยู่ในตลาดและจำนวนคุณลักษณะ ดังที่ได้กล่าวไปแล้วว่า Google เป็นผู้ริเริ่มโครงการ Kubernetes ดูเหมือนจะเป็นข้อได้เปรียบที่ไม่อาจปฏิเสธได้ซึ่งส่งผลให้เกิดการผสานรวมที่ดีขึ้นและแข็งแกร่งขึ้นกับแพลตฟอร์มคลาวด์ของตัวเอง
แต่ AKS และ EKS ไม่ควรมองข้ามเมื่อพวกเขาโตเต็มที่ ทั้งสองสามารถใช้ประโยชน์จากคุณลักษณะเฉพาะของตน ตัวอย่างเช่น AWS เป็น บริษัท เดียวที่มีการรวมโหนดแบบเปลือยเปล่าและยังมีแอปพลิเคชันจำนวนมากที่สุดในตลาด
ขณะนี้คุณลักษณะที่โฆษณาสำหรับข้อเสนอ Kubernetes แต่ละรายการมีความชัดเจนแล้วเรามาดูรายละเอียดเพิ่มเติมด้วยการทดสอบแบบลงมือปฏิบัติ
การโฆษณาเป็นสิ่งหนึ่ง แต่แพลตฟอร์มต่างๆจะเปรียบเทียบกันอย่างไรเมื่อต้องให้บริการโหลดการผลิต ในฐานะวิศวกรระบบคลาวด์ฉันทราบดีถึงความสำคัญของระยะเวลาในการวางไข่และการจัดการคลัสเตอร์เมื่อบังคับใช้โครงสร้างพื้นฐานเป็นรหัส แต่ฉันยังต้องการสำรวจความเป็นไปได้ของแต่ละ CLI และแสดงความคิดเห็นว่าผู้ให้บริการระบบคลาวด์แต่ละรายสามารถสร้างคลัสเตอร์ได้ง่ายเพียงใด (หรือไม่)
ใน AKS การวางไข่คลัสเตอร์คล้ายกับการสร้างอินสแตนซ์ใน AWS เพียงแค่ค้นหาเมนู AKS และผ่านเมนูต่างๆ เมื่อตรวจสอบการกำหนดค่าแล้วจะสามารถสร้างคลัสเตอร์ซึ่งเป็นกระบวนการสองขั้นตอน ตรงไปตรงมามากและวิศวกรสามารถเปิดใช้คลัสเตอร์ได้อย่างง่ายดายและรวดเร็วด้วยการตั้งค่าเริ่มต้น
การสร้างคลัสเตอร์นั้นซับซ้อนกว่าใน EKS เทียบกับ AKS ก่อนอื่นและโดยค่าเริ่มต้น AWS ต้องมีการเดินทางไปยัง IAM ก่อนเพื่อสร้างบทบาทใหม่สำหรับระนาบควบคุม Kubernetes และมอบหมายวิศวกรให้ สิ่งสำคัญคือต้องสังเกตด้วยว่าการสร้างคลัสเตอร์นี้ไม่รวมถึงการสร้างโหนดดังนั้นเมื่อฉันวัด 11 นาทีโดยเฉลี่ยนี่เป็นเพียงการสร้างต้นแบบเท่านั้น การสร้างกลุ่มโหนดเป็นอีกขั้นตอนหนึ่งสำหรับผู้ดูแลระบบอีกครั้งจำเป็นต้องมีบทบาทสำหรับผู้ปฏิบัติงานด้วยนโยบายที่จำเป็นสามประการที่ต้องทำผ่านแผงควบคุม IAM
สำหรับฉันประสบการณ์ในการสร้างคลัสเตอร์ด้วยตนเองน่าพอใจที่สุดใน GKE หลังจากพบ Kubernetes Engine ใน Google Cloud Console แล้วให้คลิกเพื่อสร้างคลัสเตอร์ การตั้งค่าประเภทต่างๆจะปรากฏในเมนูทางด้านซ้าย Google จะเติมคลัสเตอร์ใหม่ล่วงหน้าด้วย Node Pool เริ่มต้นที่แก้ไขได้ง่าย สุดท้าย แต่ไม่ท้ายสุด GKE มีเวลาวางไข่ของคลัสเตอร์ที่เร็วที่สุดซึ่งนำเราไปสู่ตารางถัดไป
บทบาทหัวหน้าเจ้าหน้าที่การเงิน
บริการมุมมอง | AKS | EX | GKE |
---|---|---|---|
ขนาด | 3 โหนด (Ds2-v2) แต่ละโหนดมี 2 vCPUs, RAM 7 GB | 3 โหนด t3.large | 3 โหนด n1-standard-2 |
เวลา (m: ss) | เฉลี่ย 5:45 สำหรับคลัสเตอร์แบบเต็ม | 11:06 สำหรับ master บวก 2:40 สำหรับกลุ่มโหนด (รวมเป็น 13:46 สำหรับคลัสเตอร์แบบเต็ม) | เฉลี่ย 2:42 สำหรับคลัสเตอร์แบบเต็ม |
ฉันทำการทดสอบเหล่านี้ในภูมิภาคเดียวกัน (แฟรงค์เฟิร์ตและยุโรปตะวันตกสำหรับ AKS) เพื่อลบผลกระทบที่เป็นไปได้ของความแตกต่างนี้ต่อเวลาวางไข่ ฉันยังพยายามเลือกขนาดโหนดเดียวกันสำหรับคลัสเตอร์: โหนดสามโหนดแต่ละโหนดมี vCPU สองตัวและหน่วยความจำเจ็ดหรือแปด GB ซึ่งเป็นขนาดมาตรฐานเพื่อเรียกใช้โหลดขนาดเล็กบน Kubernetes และเริ่มการทดลอง ฉันสร้างแต่ละคลัสเตอร์สามครั้งเพื่อคำนวณค่าเฉลี่ย
ในการทดสอบเหล่านี้ GKE ยังคงนำหน้าโดยใช้เวลาวางไข่ไม่เกินสามนาที
CLI ทั้งหมดไม่ได้ถูกสร้างขึ้นเท่ากัน แต่ในกรณีนี้ CLI ทั้งสามเป็นโมดูลของ CLI ที่ใหญ่กว่า การเริ่มต้นใช้งาน CLI toolchain ของผู้ให้บริการคลาวด์แต่ละรายเป็นอย่างไร
az
)หลังจากติดตั้ง az
การใช้เครื่องมือจากนั้นโมดูล AKS (ผ่าน az aks install-cli
) วิศวกรต้องอนุญาตให้ CLI สื่อสารกับบัญชี Azure ของโครงการ นี่เป็นเรื่องของการได้รับข้อมูลรับรองเพื่ออัปเดตไฟล์ kubeconfig ในเครื่องผ่านทาง az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
ในทำนองเดียวกันในการสร้างคลัสเตอร์: az aks create --resource-group myResourceGroup --name myAKSCluster
aws
หรือ eksctl
)บน AWS เราพบวิธีการที่แตกต่างกัน - มีเครื่องมือ CLI ที่เป็นทางการสองแบบในการจัดการคลัสเตอร์ EKS เช่นเคย aws
สามารถเชื่อมต่อกับทรัพยากร AWS โดยเฉพาะคลัสเตอร์ การขอข้อมูลรับรองเข้าสู่ kubeconfig ในเครื่องสามารถทำได้ผ่าน: aws eks update-kubeconfig --name cluster-test
bootstrap คืออะไรในการพัฒนาเว็บ
อย่างไรก็ตามวิศวกรยังสามารถใช้ eksctl
ซึ่งพัฒนาโดย Weaveworks และเขียนใน Go เพื่อสร้างและจัดการคลัสเตอร์ EKS ได้อย่างง่ายดาย ประโยชน์ที่สำคัญที่ EKS มอบให้สำหรับวิศวกรระบบคลาวด์คือพวกเขาสามารถรวมเข้ากับไฟล์การกำหนดค่า YAML เพื่อสร้างโครงสร้างพื้นฐานเป็นรหัส (IaC) เนื่องจากทำงานร่วมกับ CloudFormation เป็นสิ่งที่ต้องพิจารณาอย่างแน่นอนเมื่อรวมคลัสเตอร์ EKS เข้ากับโครงสร้างพื้นฐานขนาดใหญ่บน AWS
การสร้างคลัสเตอร์ผ่าน eksctl
ง่ายเหมือน eksctl create cluster
ไม่ต้องใช้พารามิเตอร์อื่น
gcloud
)สำหรับ GKE ขั้นตอนจะคล้ายกันมาก: ติดตั้ง gcloud
จากนั้นตรวจสอบสิทธิ์ผ่าน gcloud init
ความเป็นไปได้จากที่นั่น: วิศวกรสามารถสร้างลบอธิบายรับหนังสือรับรองสำหรับปรับขนาดอัปเดตหรืออัปเกรดคลัสเตอร์หรือแสดงรายการคลัสเตอร์
ไวยากรณ์ในการสร้างคลัสเตอร์ด้วย gcloud
ตรงไปตรงมา: gcloud container clusters create myGCloudCluster --num-nodes=1
ในทางปฏิบัติเราจะเห็นได้ว่า GKE นั้นเร็วที่สุดในการหมุนคลัสเตอร์พื้นฐานในแง่ของความเรียบง่ายของคอนโซลและเวลาวางไข่ของคลัสเตอร์ UX ฉลาดด้วยปุ่มเชื่อมต่อถัดจากคลัสเตอร์ทำให้ง่ายที่สุดในการเชื่อมต่อกับคลัสเตอร์ด้วย
ในแง่ของการใช้เครื่องมือ CLI ผู้ให้บริการคลาวด์ทั้งสามได้ใช้ฟังก์ชันที่คล้ายคลึงกัน อย่างไรก็ตามเราสามารถลดความเครียดให้กับเครื่องมือพิเศษที่ Weaveworks for EKS จัดหาให้ eksctl
เป็นเครื่องมือที่สมบูรณ์แบบสำหรับคุณในการติดตั้งโครงสร้างพื้นฐานเป็นรหัสบนโครงสร้างพื้นฐาน AWS ที่มีมาก่อนของคุณโดยรวมบริการอื่น ๆ เข้ากับ EKS
สำหรับผู้ที่เพิ่งเริ่มต้นในโลกของ Kubernetes การติดตั้ง go-to สำหรับฉันคือ GKE เนื่องจากตรงไปตรงมาที่สุด ติดตั้งง่ายมี UX ที่ง่ายและรวดเร็วสำหรับการวางไข่และรวมเข้ากับระบบนิเวศของ Google Cloud Platform ได้เป็นอย่างดี
แม้ว่า AWS จะเป็นคนสุดท้ายที่เข้าร่วมการแข่งขัน แต่ก็มีข้อดีบางประการที่ปฏิเสธไม่ได้เช่นโหนดโลหะเปลือยและความจริงง่ายๆที่รวมเข้ากับผู้ให้บริการที่มีการแบ่งปันความคิดที่ใหญ่ที่สุด
ในที่สุด AKS ก็มีความก้าวหน้าอย่างมากนับตั้งแต่มีการสร้าง ความเท่าเทียมกันของเครื่องมือและคุณลักษณะใช้เวลาไม่นานในขณะเดียวกันก็ออกจากที่ว่างในกระบวนการสร้างสรรค์สิ่งใหม่ ๆ และเช่นเดียวกับข้อเสนอ Kubernetes ที่มีการจัดการสำหรับผู้ที่อยู่บนแพลตฟอร์มหลักแล้วการผสานรวมจะเป็นจุดขาย
เมื่อทีมเลือกผู้ให้บริการระบบคลาวด์ Kubernetes แล้วการพิจารณาประสบการณ์ของทีมอื่น ๆ โดยเฉพาะความล้มเหลวอาจเป็นเรื่องที่น่าสนใจ ชันสูตรเหล่านี้ เป็นภาพสะท้อนของกรณีต่างๆในโลกแห่งความเป็นจริงซึ่งเป็นจุดเริ่มต้นที่ดีในการพัฒนาแนวทางปฏิบัติที่ดีที่สุดล้ำสมัยของตนเอง ฉันหวังว่าจะได้รับความคิดเห็นของคุณด้านล่าง!
การจัดระเบียบคอนเทนเนอร์คือการจัดการและนามธรรมของทรัพยากรทั้งหมดที่หมุนเวียนอยู่รอบ ๆ คอนเทนเนอร์ที่กำลังทำงานอยู่: การกำหนดค่าทรัพยากรการปรับขนาดการตรวจสอบการสร้างเครือข่ายและเครื่องมือ Kubernetes เป็นหนึ่งในเครื่องมือจัดเรียงตู้คอนเทนเนอร์ที่นำมาใช้กันอย่างแพร่หลายในอุตสาหกรรม
เราต้องการการจัดเตรียมตู้คอนเทนเนอร์เพื่อให้สามารถจัดการและจัดระเบียบกลุ่มคอนเทนเนอร์ที่ทำงานบนเซิร์ฟเวอร์ได้อย่างมีประสิทธิภาพ ด้วยการจัดระเบียบคอนเทนเนอร์เราสามารถสร้างระบบคอนเทนเนอร์ที่ปรับขนาดได้ยืดหยุ่นและมีประสิทธิภาพเพื่อปรับใช้แอปพลิเคชันใด ๆ
ประโยชน์ของการใช้การจัดระเบียบคอนเทนเนอร์กับ Kubernetes คือการจัดเตรียมเลเยอร์นามธรรมที่ด้านบนของเซิร์ฟเวอร์เพื่อเรียกใช้คอนเทนเนอร์ของคุณ ด้วย Kubernetes คุณสามารถจัดการการกำหนดค่าและทรัพยากรได้อย่างมีประสิทธิภาพและปรับขนาดโครงสร้างพื้นฐานของคุณได้อย่างง่ายดายตามต้องการ
Kubernetes เป็นเครื่องมือโอเพ่นซอร์สที่ได้รับการพัฒนาโดยใช้ Borg ซึ่งเป็นโครงการของ Google เป็นเครื่องมือจัดเตรียมคอนเทนเนอร์ระดับการผลิตที่สร้างชั้นของนามธรรมที่ด้านบนของเซิร์ฟเวอร์เพื่อให้สามารถจัดการการปรับขนาดคอนเทนเนอร์การตรวจสอบการใช้ทรัพยากรเครือข่ายและการกำหนดค่าได้อย่างง่ายดาย