การเปิดตัว Kubernetes 1.18 ซึ่งเป็นระบบสำหรับจัดการคลัสเตอร์ของคอนเทนเนอร์ที่แยกเดี่ยว

ที่ตีพิมพ์ การเปิดตัวแพลตฟอร์มการจัดการตู้คอนเทนเนอร์ คูเบอร์เนเตส 1.18ซึ่งช่วยให้คุณจัดการคลัสเตอร์ของคอนเทนเนอร์ที่แยกได้โดยรวม และจัดเตรียมกลไกสำหรับการปรับใช้ การบำรุงรักษา และปรับขนาดแอปพลิเคชันที่ทำงานในคอนเทนเนอร์ เดิมโปรเจ็กต์นี้สร้างขึ้นโดย Google แต่จากนั้นก็โอนไปยังไซต์อิสระที่ดูแลโดย Linux Foundation แพลตฟอร์มดังกล่าวอยู่ในตำแหน่งที่เป็นโซลูชันสากลที่พัฒนาโดยชุมชน โดยไม่เชื่อมโยงกับแต่ละระบบ และสามารถทำงานกับแอปพลิเคชันใดๆ ในสภาพแวดล้อมคลาวด์ใดก็ได้ รหัส Kubernetes เขียนด้วยภาษา Go และ จัดจำหน่ายโดย ได้รับอนุญาตภายใต้ Apache 2.0

มีฟังก์ชันสำหรับการปรับใช้และการจัดการโครงสร้างพื้นฐาน เช่น การบำรุงรักษาฐานข้อมูล DNS, การทำโหลดบาลานซ์
การกระจายคอนเทนเนอร์ระหว่างโหนดคลัสเตอร์ (การย้ายคอนเทนเนอร์ขึ้นอยู่กับการเปลี่ยนแปลงโหลดและความต้องการบริการ) การตรวจสอบสภาพในระดับแอปพลิเคชัน การจัดการบัญชี การอัปเดตและการปรับขนาดแบบไดนามิกของคลัสเตอร์ที่ทำงานอยู่ โดยไม่หยุดการทำงาน เป็นไปได้ที่จะปรับใช้กลุ่มของคอนเทนเนอร์ด้วยการอัพเดตและยกเลิกการดำเนินการสำหรับทั้งกลุ่มในคราวเดียว เช่นเดียวกับการแบ่งตรรกะของคลัสเตอร์ออกเป็นส่วน ๆ ด้วยการแบ่งทรัพยากร มีการรองรับการย้ายแอปพลิเคชันแบบไดนามิก สำหรับการจัดเก็บข้อมูลที่สามารถใช้ทั้งที่เก็บข้อมูลในตัวเครื่องและระบบจัดเก็บข้อมูลเครือข่าย

Kubernetes 1.18 มีการเปลี่ยนแปลงและการปรับปรุง 38 รายการ โดย 15 รายการได้ย้ายไปอยู่ในสถานะเสถียร และ 11 รายการเป็นสถานะเบต้า มีการเสนอการเปลี่ยนแปลงใหม่ 12 รายการในสถานะอัลฟ่า เมื่อเตรียมเวอร์ชันใหม่ ความพยายามที่เท่าเทียมกันมุ่งเป้าไปที่ทั้งการปรับปรุงฟังก์ชันการทำงานต่างๆ และการรักษาเสถียรภาพของความสามารถในการทดลอง รวมถึงการเพิ่มการพัฒนาใหม่ๆ การเปลี่ยนแปลงหลัก:

  • kubectl
    • เพิ่ม คำสั่ง "kubectl debug" เวอร์ชันอัลฟ่า ซึ่งช่วยให้คุณแก้ไขข้อบกพร่องในพ็อดได้ง่ายขึ้นโดยการเรียกใช้คอนเทนเนอร์ชั่วคราวด้วยเครื่องมือแก้ไขข้อบกพร่อง
    • ประกาศมั่นคงแล้ว คำสั่ง “kubectl diff” ซึ่งช่วยให้คุณเห็นว่าจะมีการเปลี่ยนแปลงอะไรในคลัสเตอร์หากคุณใช้รายการ
    • ลบออก ตัวสร้างทั้งหมดของคำสั่ง "kubectl run" ยกเว้นตัวสร้างสำหรับการรันพ็อดเดียว
    • เปลี่ยน การตั้งค่าสถานะ “--dry-run” ขึ้นอยู่กับค่าของมัน (ไคลเอนต์ เซิร์ฟเวอร์ และไม่มี) การดำเนินการทดลองของคำสั่งจะดำเนินการบนฝั่งไคลเอ็นต์หรือฝั่งเซิร์ฟเวอร์
    • รหัส kubectl เน้น ไปยังที่เก็บแยกต่างหาก ซึ่งช่วยให้สามารถแยก kubectl จากการพึ่งพา kubernetes ภายใน และทำให้นำเข้าโค้ดไปยังโปรเจ็กต์ของบุคคลที่สามได้ง่ายขึ้น
  • สิทธิในการเข้า
    • เริ่ม การเปลี่ยนกลุ่ม API สำหรับ Ingress เป็น networking.v1beta1
    • เพิ่ม ฟิลด์ใหม่:
      • pathType ซึ่งช่วยให้คุณระบุวิธีเปรียบเทียบเส้นทางในคำขอได้
      • IngressClassName เป็นการแทนที่คำอธิบายประกอบ kubernetes.io/ingress.class ซึ่งได้รับการประกาศว่าเลิกใช้แล้ว ฟิลด์นี้ระบุชื่อของวัตถุพิเศษ InressClass
    • เพิ่ม ออบเจ็กต์ IngressClass ซึ่งระบุชื่อของตัวควบคุมทางเข้า พารามิเตอร์เพิ่มเติม และสัญลักษณ์ของการใช้งานตามค่าเริ่มต้น
  • Service
    • เพิ่มโดย ฟิลด์ AppProtocol ซึ่งคุณสามารถระบุโปรโตคอลที่แอปพลิเคชันใช้
    • แปลแล้ว อยู่ในสถานะเบต้าและเปิดใช้งานโดยค่าเริ่มต้น EndpointSlicesAPI ซึ่งเป็นการแทนที่ที่ใช้งานได้ดีกว่าสำหรับปลายทางปกติ
  • เครือข่าย
  • ดิสก์ถาวร ฟังก์ชันต่อไปนี้ได้รับการประกาศว่ามีเสถียรภาพ:
  • การกำหนดค่าแอปพลิเคชัน
    • ไปยัง ConfigMap และอ็อบเจ็กต์ลับ เพิ่ม ฟิลด์ใหม่ "ไม่เปลี่ยนรูป" การตั้งค่าฟิลด์เป็นจริงจะป้องกันการแก้ไขออบเจ็กต์
  • กำหนดการ
    • เพิ่ม ความสามารถในการสร้างโปรไฟล์เพิ่มเติมสำหรับ kube-scheduler หากก่อนหน้านี้จำเป็นต้องเรียกใช้ตัวกำหนดเวลาแยกต่างหากเพิ่มเติมเพื่อใช้อัลกอริธึมการกระจายพ็อดที่ไม่ได้มาตรฐาน ตอนนี้ก็สามารถสร้างชุดการตั้งค่าเพิ่มเติมสำหรับตัวกำหนดเวลามาตรฐานและระบุชื่อของมันในช่องพ็อดเดียวกัน “.spec.schedulerName” ได้ สถานะ - อัลฟ่า
    • การขับไล่ตามมลทิน ประกาศมั่นคงแล้ว
  • มาตราส่วน
    • เพิ่ม ความสามารถในการระบุระดับความก้าวร้าวใน HPA อย่างชัดเจนเมื่อเปลี่ยนจำนวนพ็อดที่ทำงานอยู่นั่นคือเมื่อโหลดเพิ่มขึ้น ให้เรียกใช้อินสแตนซ์ N ครั้งมากขึ้นในคราวเดียว
  • คูเบเลต
    • ผู้จัดการโทโพโลยี ได้รับสถานะเบต้า คุณลักษณะนี้เปิดใช้งานการจัดสรร NUMA ซึ่งหลีกเลี่ยงการลดประสิทธิภาพบนระบบหลายซ็อกเก็ต
    • สถานะเบต้า ที่ได้รับ ฟังก์ชัน PodOverhead ซึ่งช่วยให้คุณระบุจำนวนทรัพยากรเพิ่มเติมที่จำเป็นในการเรียกใช้พ็อดใน RuntimeClass
    • ขยายแล้ว การสนับสนุน HugePages ในสถานะอัลฟ่าเพิ่มการแยกระดับคอนเทนเนอร์และการสนับสนุนสำหรับขนาดใหญ่หลายขนาด
    • ลบแล้ว จุดสิ้นสุดสำหรับเมตริก /metrics/resource/v1alpha1 จะใช้ /metrics/resource แทน
  • API
    • ในที่สุด ลบความสามารถในการใช้แอปกลุ่ม API ที่ล้าสมัย/v1beta1 และส่วนขยาย/v1beta1
    • สมัครฝั่งเซิร์ฟเวอร์ อัปเกรดเป็นสถานะ beta2 การปรับปรุงนี้จะย้ายการจัดการวัตถุจาก kubectl ไปยังเซิร์ฟเวอร์ API ผู้เขียนการปรับปรุงอ้างว่าสิ่งนี้จะแก้ไขข้อผิดพลาดที่มีอยู่มากมายที่ไม่สามารถแก้ไขได้ในสถานการณ์ปัจจุบัน พวกเขายังเพิ่มส่วน “.metadata.managedFields” ซึ่งเสนอให้จัดเก็บประวัติการเปลี่ยนแปลงออบเจ็กต์ โดยระบุว่าใคร เมื่อใด และอะไรเปลี่ยนแปลงอย่างชัดเจน
    • ประกาศ CertificateSigningRequest API ที่เสถียร
  • รองรับแพลตฟอร์ม Windows

ที่มา: opennet.ru

เพิ่มความคิดเห็น