บันไดเลื่อนเป็นแบทช์หรืองานที่ปรับให้เหมาะสมกับเครื่องปรับอากาศแนวนอนสำหรับ Kubernetes
มันถูกออกแบบมาสำหรับแบทช์ขนาดใหญ่หรือภาระงานตามงานที่ไม่สามารถใช้แรงและเคลื่อนย้ายได้เมื่อคลัสเตอร์จำเป็นต้องปรับขนาดลง - บันไดเลื่อนจะทำให้แน่ใจว่าพ็อดเสร็จสิ้นบนโหนดก่อนที่จะยกเลิก นอกจากนี้ยังได้รับการปรับให้เหมาะสมสำหรับการปรับขนาดคลัสเตอร์ให้เร็วที่สุดเท่าที่จะเป็นไปได้เพื่อให้แน่ใจว่าฝักจะไม่ถูกทิ้งไว้ในสถานะที่รอดำเนินการ
คำนวณคำขอและความสามารถในการพิจารณาว่าจะขยายขนาดลงหรืออยู่ในระดับปัจจุบัน
รอจนกว่าฝักที่ไม่ใช่อุณหภูมิบนโหนดจะเสร็จสมบูรณ์ก่อนที่จะยกเลิกโหนด
ออกแบบมาเพื่อทำงานกับกลุ่มการปรับขนาดอัตโนมัติที่เลือกเพื่อให้ AutoScaler Kubernetes เริ่มต้นสามารถปรับขนาดเวิร์กโหลดตามบริการต่อไปได้
ยุติโหนดที่เก่าแก่ที่สุดโดยอัตโนมัติก่อน
รองรับพื้นที่หย่อนเพื่อให้แน่ใจว่ามีพื้นที่เพิ่มเติมในกรณีที่มีพ็อดสไปค์
ไม่สิ้นสุดหรือมีการกำหนดโหนดที่มีการปิดล้อมในการคำนวณ - อนุญาตให้โหนดที่ถูกล้อมรอบจะคงอยู่สำหรับการดีบัก
สนับสนุนผู้ให้บริการคลาวด์ที่แตกต่างกัน - AWS เท่านั้นในขณะนี้
การวัดขนาดและการใช้ประโยชน์
การเลือกตั้งผู้นำเพื่อให้คุณสามารถใช้การปรับใช้ HA ภายในคลัสเตอร์
การสนับสนุนพื้นฐานสำหรับอินสแตนซ์หลายประเภทในกลุ่มโหนด
ความต้องการสำหรับเครื่องอัตโนมัตินี้นั้นมาจากประสบการณ์ของเราเองด้วยเวิร์กโหลดแบทช์ที่มีขนาดใหญ่มากถูกกำหนดเวลาและเครื่องอัตโนมัติเริ่มต้นไม่ปรับขนาดคลัสเตอร์ให้เร็วพอ เวิร์กโหลดเหล่านี้ไม่สามารถใช้งานได้โดย Autoscaler เริ่มต้นและต้องทำให้เสร็จก่อนที่โหนดจะถูกยกเลิก
ดูเอกสาร
Kubernetes เวอร์ชัน 1.24+ บันไดเลื่อนได้รับการทดสอบและนำไปใช้กับ 1.24+ และใหม่กว่า Kubernetes รุ่นเก่าอาจมีข้อบกพร่องหรือปัญหาที่จะป้องกันไม่ให้ทำงานได้อย่างถูกต้อง
ไปเวอร์ชัน 1.20+
การพึ่งพาและเวอร์ชันล็อคของพวกเขาสามารถพบได้ใน go.mod
และ go.sum
# ดึงข้อมูลขึ้นมาและสร้างบันไดเลื่อนสร้าง
ไปเรียกใช้ cmd/main.go -kubeconfig = ~/.kube/config -nodegroups = nodegroups_config.yaml
ดูการปรับใช้สำหรับเอกสารการปรับใช้เต็มรูปแบบ
# สร้าง Docker imagedocker build -t atlassian/escalator# สร้าง rbac configurationkubectl สร้าง -f docs/การปรับใช้/escalator -rbac.yaml# สร้างแผนที่กำหนดค่า -แก้ไขให้เหมาะกับความต้องการของคุณ # สร้าง deploymentkubectl create -f docs/deployment/escalator -deployment.yaml
ดูการกำหนดค่า
ทำการทดสอบ
ตัวอย่างเช่นในการทดสอบแพ็คเกจคอนโทรลเลอร์:
ไปทดสอบ./pkg/controller
ดึงคำขอปัญหาและความคิดเห็นยินดีต้อนรับ สำหรับคำขอดึง:
เพิ่มการทดสอบสำหรับคุณสมบัติใหม่และการแก้ไขข้อบกพร่อง
ทำตามสไตล์ที่มีอยู่ (เรากำลังใช้ Goreturns เพื่อจัดรูปแบบและบันไดเลื่อนผ้าสำลี)
แยกการเปลี่ยนแปลงที่ไม่เกี่ยวข้องกันในคำขอดึงหลายครั้ง
ดูปัญหาที่มีอยู่สำหรับสิ่งต่าง ๆ ที่จะเริ่มมีส่วนร่วม
สำหรับการเปลี่ยนแปลงที่ใหญ่กว่าให้แน่ใจว่าคุณเริ่มการสนทนาก่อนโดยการสร้างปัญหาและอธิบายการเปลี่ยนแปลงที่ตั้งใจไว้
Atlassian กำหนดให้ผู้มีส่วนร่วมในการลงนามในข้อตกลงใบอนุญาตผู้มีส่วนร่วมหรือที่รู้จักกันในชื่อ CLA สิ่งนี้ทำหน้าที่เป็นบันทึกที่ระบุว่าผู้มีส่วนร่วมมีสิทธิ์มีส่วนร่วมในรหัส/เอกสาร/การแปลไปยังโครงการและยินดีที่จะใช้ในการแจกแจงและงานอนุพันธ์ (หรือยินดีที่จะถ่ายโอนความเป็นเจ้าของ)
ก่อนที่จะยอมรับการมีส่วนร่วมของคุณเราขอให้คุณโปรดไปที่ลิงค์ที่เหมาะสมด้านล่างเพื่อลงนามใน Digitally CLA CLA ของ บริษัท มีไว้สำหรับผู้ที่มีส่วนร่วมในฐานะสมาชิกขององค์กรและ CLA แต่ละตัวมีไว้สำหรับผู้ที่มีส่วนร่วมในฐานะบุคคล
CLA สำหรับผู้มีส่วนร่วมขององค์กร
CLA สำหรับบุคคล
ลิขสิทธิ์ (C) 2018 Atlassian และอื่น ๆ Apache 2.0 ได้รับใบอนุญาตดูไฟล์ใบอนุญาต