Istio เป็นบริการแบบโอเพ่นซอร์สที่แบ่งชั้นโปร่งใสไปยังแอปพลิเคชันแบบกระจายที่มีอยู่ ฟีเจอร์อันทรงพลังของ Istio มอบวิธีการรักษาความปลอดภัย เชื่อมต่อ และตรวจสอบบริการที่สม่ำเสมอและมีประสิทธิภาพยิ่งขึ้น Istio คือเส้นทางสู่การปรับสมดุลโหลด การตรวจสอบสิทธิ์แบบบริการต่อบริการ และการตรวจสอบ โดยมีการเปลี่ยนแปลงรหัสบริการเพียงเล็กน้อยหรือไม่มีเลย
หากต้องการข้อมูลเชิงลึกเกี่ยวกับวิธีใช้ Istio โปรดไปที่ istio.io
หากต้องการถามคำถามและรับความช่วยเหลือจากชุมชนของเรา โปรดไปที่การสนทนา Github
หากต้องการเรียนรู้วิธีมีส่วนร่วมในชุมชนโดยรวมของเรา โปรดไปที่หน้าชุมชนของเรา
ใน README นี้:
การแนะนำ
ที่เก็บ
การจัดการปัญหา
นอกจากนี้ นี่คือเอกสารอื่นๆ ที่คุณอาจต้องการอ่าน:
ชุมชน Istio - อธิบายวิธีมีส่วนร่วมและสนับสนุนโครงการ Istio
คู่มือนักพัฒนา Istio - อธิบายวิธีตั้งค่าและใช้สภาพแวดล้อมการพัฒนา Istio
แบบแผนโครงการ - อธิบายแบบแผนที่เราใช้ภายในฐานโค้ด
การสร้างโค้ดที่รวดเร็วและง่ายดาย - คำแนะนำและแนวปฏิบัติที่เน้นประสิทธิภาพสำหรับฐานโค้ด
คุณจะพบเอกสารที่เป็นประโยชน์อื่นๆ อีกมากมายใน Wiki ของเรา
Istio เป็นแพลตฟอร์มแบบเปิดสำหรับการมอบวิธีการแบบเดียวกันในการผสานรวมไมโครเซอร์วิส จัดการการรับส่งข้อมูลผ่านไมโครเซอร์วิส บังคับใช้นโยบาย และข้อมูลการวัดและส่งข้อมูลทางไกลแบบรวม ส่วนควบคุมของ Istio มอบเลเยอร์นามธรรมบนแพลตฟอร์มการจัดการคลัสเตอร์พื้นฐาน เช่น Kubernetes
Istio ประกอบด้วยองค์ประกอบเหล่านี้:
Envoy - พร็อกซี Sidecar ต่อไมโครเซอร์วิสเพื่อจัดการการรับส่งข้อมูลขาเข้า/ขาออกระหว่างบริการในคลัสเตอร์และจากบริการไปยังบริการภายนอก พร็อกซีสร้าง ไมโครเซอร์วิสเมชที่ปลอดภัย ซึ่งมอบชุดฟังก์ชันที่หลากหลาย เช่น การค้นหา การกำหนดเส้นทางเลเยอร์ 7 ที่หลากหลาย เบรกเกอร์วงจร การบังคับใช้นโยบาย และฟังก์ชันการบันทึก/การรายงานทางไกล
หมายเหตุ: เซอร์วิสเมชไม่ใช่เครือข่ายโอเวอร์เลย์ มันช่วยลดความซับซ้อนและปรับปรุงวิธีที่ไมโครเซอร์วิสในแอปพลิเคชันพูดคุยกันผ่านเครือข่ายที่จัดทำโดยแพลตฟอร์มพื้นฐาน
Istiod - เครื่องบินควบคุม Istio โดยให้การค้นหาบริการ การกำหนดค่า และการจัดการใบรับรอง ประกอบด้วยองค์ประกอบย่อยดังต่อไปนี้:
นักบิน - รับผิดชอบในการกำหนดค่าพรอกซีในขณะรันไทม์
Citadel - รับผิดชอบในการออกใบรับรองและหมุนเวียน
Galley - รับผิดชอบในการตรวจสอบ การนำเข้า การรวม การแปลง และการกระจายการกำหนดค่าภายใน Istio
ผู้ปฏิบัติงาน - ส่วนประกอบมอบตัวเลือกที่เป็นมิตรกับผู้ใช้เพื่อใช้งานบริการ Istio
โครงการ Istio แบ่งออกเป็นที่เก็บ GitHub บางแห่ง:
istio/api. พื้นที่เก็บข้อมูลนี้จะกำหนด API ระดับคอมโพเนนต์และรูปแบบการกำหนดค่าทั่วไปสำหรับแพลตฟอร์ม Istio
istio/ชุมชน พื้นที่เก็บข้อมูลนี้มีข้อมูลเกี่ยวกับชุมชน Istio รวมถึงเอกสารต่างๆ ที่ควบคุมโครงการโอเพนซอร์สของ Istio
อิสติโอ/อิสติโอ นี่คือที่เก็บรหัสหลัก โดยโฮสต์ส่วนประกอบหลักของ Istio ติดตั้งอาร์ติแฟกต์ และโปรแกรมตัวอย่าง ประกอบด้วย:
istioctl. ไดเร็กทอรีนี้มีโค้ดสำหรับยูทิลิตีบรรทัดคำสั่ง istioctl
นักบิน. ไดเร็กทอรีนี้มีโค้ดเฉพาะแพลตฟอร์มเพื่อเติมโมเดลบริการเชิงนามธรรม กำหนดค่าพร็อกซีใหม่แบบไดนามิกเมื่อโทโพโลยีของแอปพลิเคชันเปลี่ยนแปลง ตลอดจนแปลกฎการกำหนดเส้นทางเป็นการกำหนดค่าเฉพาะพร็อกซี
ความปลอดภัย. ไดเร็กทอรีนี้มีโค้ดที่เกี่ยวข้องกับความปลอดภัย รวมถึง Citadel (ทำหน้าที่เป็นผู้ออกใบรับรอง) ตัวแทนของ Citadel ฯลฯ
istio/พร็อกซี พร็อกซี Istio มีส่วนขยายของพร็อกซี Envoy (ในรูปแบบของตัวกรอง Envoy) ที่รองรับการตรวจสอบสิทธิ์ การอนุญาต และการรวบรวมการวัดและส่งข้อมูลทางไกล
istio/ztunnel. พื้นที่เก็บข้อมูลประกอบด้วยการใช้งาน Rust ของส่วนประกอบ ztunnel ของ Ambient mesh
istio/ลูกค้าไป ที่เก็บนี้กำหนดไคลเอ็นต์ Kubernetes ที่สร้างขึ้นอัตโนมัติสำหรับการโต้ตอบกับทรัพยากร Istio โดยทางโปรแกรม
บันทึก
เฉพาะที่เก็บ istio/api
และ istio/client-go
เท่านั้นที่เปิดเผยอินเทอร์เฟซที่เสถียรซึ่งมีไว้สำหรับการใช้งานโดยตรงเป็นไลบรารี
เราใช้ GitHub เพื่อติดตามข้อบกพร่องและคำขอคุณสมบัติทั้งหมดของเรา แต่ละปัญหาที่เราติดตามมีข้อมูลเมตาที่หลากหลาย:
มหากาพย์ . มหากาพย์แสดงถึงส่วนสำคัญของ Istio โดยรวม Epics มีขอบเขตค่อนข้างกว้างและโดยพื้นฐานแล้วเป็นเนื้อหาระดับผลิตภัณฑ์ แต่ละประเด็นเป็นส่วนหนึ่งของมหากาพย์ในท้ายที่สุด
เหตุการณ์สำคัญ แต่ละประเด็นได้รับการกำหนดเหตุการณ์สำคัญ นี่คือ 0.1, 0.2, ... หรือ 'อนาคตที่คลุมเครือ' เหตุการณ์สำคัญบ่งบอกเมื่อเราคิดว่าปัญหาควรได้รับการแก้ไข
ลำดับความสำคัญ . แต่ละประเด็นมีลำดับความสำคัญซึ่งแสดงโดยคอลัมน์ในโครงการจัดลำดับความสำคัญ ลำดับความสำคัญสามารถเป็นหนึ่งใน P0, P1, P2 หรือ >P2 ลำดับความสำคัญบ่งชี้ถึงความสำคัญในการแก้ไขปัญหาภายในเหตุการณ์สำคัญ P0 กล่าวว่าไม่สามารถพิจารณาความสำเร็จครั้งสำคัญได้หากปัญหาไม่ได้รับการแก้ไข
Istio เป็นโครงการ Cloud Native Computing Foundation