สภาพแวดล้อมที่หลากหลาย (การจัดเตรียมการควบคุมคุณภาพการผลิต ฯลฯ ) ด้วย Kubernetes
อะไรคือแนวทางปฏิบัติที่ดีสำหรับ K8S ในการจัดการสภาพแวดล้อมที่หลากหลาย (QA, Staging, Production, Dev ฯลฯ ) ตัวอย่างเช่นสมมติว่าทีมกำลังทำงานกับผลิตภัณฑ์ที่ต้องใช้ API สองสามตัวพร้อมกับแอปพลิเคชันส่วนหน้า โดยปกติสิ่งนี้จะต้องมีอย่างน้อย 2 สภาพแวดล้อม: การจัดเตรียม: สำหรับการทำซ้ำ / การทดสอบและการตรวจสอบความถูกต้องก่อนปล่อยไปยังไคลเอนต์ การผลิต: นี่คือสภาพแวดล้อมที่ไคลเอนต์เข้าถึงได้ ควรมีคุณสมบัติที่เสถียรและผ่านการทดสอบอย่างดี ดังนั้นสมมติว่าทีมกำลังใช้ Kubernetes แนวทางปฏิบัติที่ดีในการจัดสภาพแวดล้อมเหล่านี้คืออะไร จนถึงตอนนี้เราได้พิจารณาสองทางเลือก: ใช้คลัสเตอร์ K8s สำหรับแต่ละสภาพแวดล้อม ใช้คลัสเตอร์ K8 เพียงคลัสเตอร์เดียวและเก็บไว้ในเนมสเปซที่ต่างกัน (1) ดูเหมือนเป็นตัวเลือกที่ปลอดภัยที่สุดเนื่องจากช่วยลดความเสี่ยงของความผิดพลาดของมนุษย์ที่อาจเกิดขึ้นและความล้มเหลวของเครื่องจักรซึ่งอาจทำให้สภาพแวดล้อมการผลิตตกอยู่ในอันตราย อย่างไรก็ตามสิ่งนี้มาพร้อมกับต้นทุนของเครื่องจักรหลักที่มากขึ้นและต้นทุนในการจัดการโครงสร้างพื้นฐานที่มากขึ้น (2) ดูเหมือนว่าจะทำให้โครงสร้างพื้นฐานและการจัดการการปรับใช้ง่ายขึ้นเนื่องจากมีคลัสเตอร์เดียว แต่ทำให้เกิดคำถามสองสามข้อเช่น: เราจะแน่ใจได้อย่างไรว่าความผิดพลาดของมนุษย์อาจส่งผลกระทบต่อสภาพแวดล้อมการผลิต จะแน่ใจได้อย่างไรว่าโหลดสูงในสภาพแวดล้อมการจัดเตรียมจะไม่ทำให้ประสิทธิภาพการทำงานสูญเสียไปในสภาพแวดล้อมการผลิต อาจมีข้อกังวลอื่น ๆ ดังนั้นฉันจึงติดต่อชุมชน K8s บน StackOverflow เพื่อทำความเข้าใจให้ดีขึ้นว่าผู้คนรับมือกับความท้าทายประเภทนี้อย่างไร