การจัดการองค์ประกอบต่างๆ ทั้งหมดของแอปพลิเคชันของคุณอาจเป็นเรื่องที่ท้าทายหากคุณใช้งานอยู่ Kubernetesอย่างที่คุณคงทราบกันดี นั่นคือสิ่งที่ Helm เข้ามา; เป็นโซลูชันที่ช่วยให้คุณจัดการแอป Kubernetes ได้ง่ายขึ้น
คุณจะต้องกำหนดและติดตั้งแอปพลิเคชันของคุณและส่วนประกอบแต่ละชิ้นโดยใช้คุณลักษณะ "แผนภูมิ" ของ Helm
ในบทความนี้ ฉันจะแนะนำคุณเกี่ยวกับการใช้แผนภูมิ Helm คุณจะสามารถนำไปใช้ได้เอง แม้ว่าคุณจะยังใหม่กับ Kubernetes แต่ฉันเชื่อว่าคุณจะได้รับประโยชน์จากบทช่วยสอนนี้ในการปรับปรุงประสิทธิภาพและความสามารถในการจัดการการปรับใช้ Kubernetes ของคุณ
ภาพรวมของ Helm
หางเสือ เป็นผู้จัดการแพ็คเกจ Kubernetes ที่ทำให้การจัดการและการปรับใช้แอพง่ายขึ้น การใช้ "แผนภูมิ" ทำให้ผู้ใช้สามารถสร้าง ติดตั้ง และอัปเกรดแอปพลิเคชัน Kubernetes ที่ซับซ้อนได้ การรวบรวมทรัพยากรและการกำหนดค่าของ Kubernetes อาจแชร์ได้อย่างง่ายดาย
ทรัพยากรเหล่านี้สามารถใช้ซ้ำได้ในหลายแอปพลิเคชัน และกำหนดโดยแผนภูมิซึ่งทำหน้าที่เป็นเทมเพลต Helm เป็นเครื่องมือสำคัญสำหรับการปรับใช้ Kubernetes นอกจากนี้ยังมีฟังก์ชันอื่นๆ อีกหลายอย่าง เช่น การย้อนกลับ การกำหนดเวอร์ชัน และการจัดการการขึ้นต่อกัน
แผนภูมิหางเสือ
แผนภูมิหางเสือเป็นแพ็คเกจทรัพยากร Kubernetes ที่กำหนดค่าไว้ล่วงหน้า สามารถติดตั้งและเปลี่ยนได้ง่ายๆ ด้วย Helm แผนภูมิประกอบด้วยองค์ประกอบหลายอย่าง รวมถึงแม่แบบ ไฟล์ค่า และไฟล์ข้อมูลเมตาที่ระบุทรัพยากรต่างๆ ที่ประกอบเป็นแผนภูมิ
แผนภูมิหางเสือสามารถบันทึกในที่เก็บแผนภูมิ ซึ่งเป็นชุดของแผนภูมิที่สามารถแบ่งปันและแจกจ่ายในสภาพแวดล้อมต่างๆ Helm ยังรองรับการกำหนดเวอร์ชัน ทำให้ผู้ใช้สามารถติดตามแผนภูมิหลายเวอร์ชันได้
ดังนั้นจึงสามารถย้อนกลับเป็นเวอร์ชันก่อนหน้าได้หากจำเป็น
แผนภูมิหางเสือและส่วนประกอบ
แผนภูมิหางเสือประกอบด้วยชุดของไฟล์ที่ระบุทรัพยากร Kubernetes ที่ประกอบด้วยแอปพลิเคชัน ไฟล์เหล่านี้มีเทมเพลตที่ระบุทรัพยากร Kubernetes จำนวนมากที่ประกอบเป็นแผนภูมิ เช่น การปรับใช้ บริการ และพ็อด
ผู้ใช้สามารถแก้ไขเทมเพลตเหล่านี้และระบุพารามิเตอร์เฉพาะสำหรับสถานการณ์ต่างๆ โดยใช้ไฟล์ค่า ไฟล์ข้อมูลเมตา เช่น แผนภูมิ. แยมรวมข้อมูลเกี่ยวกับแผนภูมิ เช่น ชื่อ รุ่น และการขึ้นต่อกัน
ที่เก็บแผนภูมิและการกำหนดเวอร์ชัน
ที่เก็บแผนภูมิสามารถโฮสต์บนไซต์ต่างๆ รวมถึง GitHub, GitLabและ Amazon S3และสามารถเพิ่มไปยัง Helm โดยใช้คำสั่ง helm repo add
นอกจากนี้ Helm ยังรองรับการกำหนดเวอร์ชัน ทำให้ผู้ใช้สามารถติดตามแผนภูมิหลายเวอร์ชันและย้อนกลับไปยังเวอร์ชันก่อนหน้าได้หากจำเป็น
ซึ่งช่วยลดความยุ่งยากในการจัดการและการปรับใช้แอปพลิเคชันหลายเวอร์ชันในการตั้งค่าต่างๆ เช่น การพัฒนา การจัดเตรียม และการผลิต
ประโยชน์ของการใช้แผนภูมิหางเสือ
แผนภูมิหางเสือมีข้อดีหลายประการในการควบคุมแอปพลิเคชัน Kubernetes สำหรับผู้เริ่มต้น แผนภูมิช่วยให้ผู้ใช้สามารถแลกเปลี่ยนและใช้การตั้งค่าซ้ำอย่างรวดเร็วในหลายๆ แอพ ช่วยประหยัดเวลาและแรงเมื่อจัดการการติดตั้งที่ซับซ้อน
แผนภูมิอาจได้รับการกำหนดเวอร์ชันและบันทึกในที่เก็บแผนภูมิ ทำให้สามารถแจกจ่ายและบำรุงรักษาแอปพลิเคชันหลายเวอร์ชันได้อย่างง่ายดาย
อาจใช้ไฟล์ค่าเพื่อปรับแผนภูมิ ทำให้ง่ายต่อการปรับใช้แอปพลิเคชันเดียวกันในการตั้งค่าจำนวนมากด้วยการกำหนดค่าที่แตกต่างกัน โดยรวมแล้ว แผนภูมิ Helm ช่วยลดความซับซ้อนและปรับขนาดการจัดการการตั้งค่า Kubernetes ที่ซับซ้อน
การสร้างแผนภูมิหางเสือ
แผนภูมิหางเสืออาจทำได้ในไม่กี่ขั้นตอนง่ายๆ ในการเริ่มต้น คุณต้องติดตั้ง Helm CLI บนเครื่องคอมพิวเตอร์ของคุณ หลังจากนั้น คุณอาจเริ่มพัฒนาแผนภูมิของคุณ
คำแนะนำทีละขั้นตอนในการสร้างแผนภูมิ Helm
เรียกใช้คำสั่ง helm create เพื่อสร้างแผนภูมิใหม่ การดำเนินการนี้จะสร้างไดเร็กทอรีใหม่พร้อมชื่อแผนภูมิที่เลือก ซึ่งจะรวมไฟล์ที่จำเป็นสำหรับแผนภูมิของคุณ
คุณสามารถใส่ข้อมูลเมตาเกี่ยวกับแผนภูมิของคุณในไฟล์ Chart.yaml เช่น ชื่อ เวอร์ชัน และคำอธิบาย
การตั้งค่าเริ่มต้นสำหรับแผนภูมิของคุณกำหนดไว้ในไฟล์values.yaml เมื่อติดตั้งแผนภูมิแล้ว การตั้งค่าเหล่านี้อาจได้รับการแก้ไข เพื่อให้สามารถปรับแต่งได้
เทมเพลต/ ไดเร็กทอรีมีไฟล์ YAML ที่ระบุทรัพยากร Kubernetes ที่จะสร้างขึ้นเมื่อคุณติดตั้งแผนภูมิ ไฟล์เหล่านี้สามารถปรับแต่งให้ตรงกับความต้องการเฉพาะของแอปพลิเคชันของคุณ
หลังจากที่คุณสร้างแผนภูมิเสร็จแล้ว ให้ใช้คำสั่ง helm package เพื่อจัดแพคเกจ สิ่งนี้จะสร้างไฟล์ a.tgz ซึ่งสามารถบันทึกลงในที่เก็บแผนภูมิและติดตั้งโดยใช้คำสั่ง helm install
ส่วนประกอบต่างๆ ของแผนภูมิหางเสือ เช่น แม่แบบและไฟล์ค่าต่างๆ
เมื่อสร้างแผนภูมิ Helm คุณจะต้องคุ้นเคยกับส่วนประกอบที่แตกต่างกันสองสามอย่าง
คุณสามารถป้อนข้อมูลเมตาเกี่ยวกับแผนภูมิของคุณในไฟล์ Chart.yaml เช่น ชื่อ เวอร์ชัน และคำอธิบาย ไฟล์นี้จำเป็นสำหรับแผนภูมิทั้งหมด
การตั้งค่าเริ่มต้นสำหรับแผนภูมิของคุณกำหนดไว้ในไฟล์values.yaml เมื่อติดตั้งแผนภูมิแล้ว การตั้งค่าเหล่านี้อาจได้รับการแก้ไข เพื่อให้สามารถปรับแต่งได้ แผนภูมิทั้งหมดต้องการไฟล์นี้เช่นกัน
เทมเพลต/ ไดเร็กทอรีมีไฟล์ YAML ที่ระบุทรัพยากร Kubernetes ที่จะสร้างขึ้นเมื่อคุณติดตั้งแผนภูมิ ไฟล์เหล่านี้สามารถปรับแต่งให้ตรงกับความต้องการเฉพาะของแอปพลิเคชันของคุณ
ตัวอย่างที่ใช้ได้จริงเพื่อช่วยผู้ใช้สร้างแผนภูมิ Helm
มีตัวอย่างแผนภูมิ Helm จำนวนมากที่เข้าถึงได้ทางออนไลน์ซึ่งอาจใช้เป็นจุดเริ่มต้นในการพัฒนาแผนภูมิของคุณ เอกสาร Helm และที่เก็บแผนภูมิ Helm อย่างเป็นทางการให้ตัวอย่างหลายอย่าง
การสร้างแผนภูมิ Helm สำหรับแอปพลิเคชัน Node.js พื้นฐานเป็นตัวอย่างหนึ่งที่ใช้ได้จริง ไดอะแกรมจำเป็นต้องรวมทรัพยากร Kubernetes เช่น การทำให้ใช้งานได้ บริการ และ ConfigMap หากต้องการกำหนดอิมเมจของแอปพลิเคชัน พอร์ต และตัวแปรสภาพแวดล้อมใดๆ ให้ใช้ไฟล์values.yaml
ผู้ใช้สามารถพัฒนาแผนภูมิ Helm ของตนเองสำหรับแอปพลิเคชัน Kubernetes ได้ง่ายๆ โดยทำตามวิธีการที่ระบุไว้ด้านบนและใช้ตัวอย่างที่ใช้ได้จริงเป็นข้อมูลอ้างอิง
การติดตั้งและการอัพเกรดด้วย Helm
คุณสามารถใช้แผนภูมิ Helm เพื่อติดตั้งและจัดการแอป Kubernetes หลังจากที่คุณพัฒนาแล้ว หากต้องการติดตั้งแผนภูมิ ให้ใช้ helm install
คำสั่ง ตามด้วยชื่อแผนภูมิและการตั้งค่าอื่นๆ
หากต้องการอัปเกรดแผนภูมิที่มีอยู่ ให้ใช้ helm upgrade
คำสั่งให้แทนที่รุ่นเก่าด้วยรุ่นใหม่ หางเสือยังมี helm rollback
คำสั่งที่อาจใช้เพื่อเลิกทำการอัพเกรด
คุณสมบัติขั้นสูงของหางเสือ
นอกจากนี้ Helm ยังมีความสามารถเพิ่มเติมหลายอย่างที่อาจช่วยคุณในการจัดการแอปพลิเคชัน Kubernetes ข้อดีประการหนึ่งคือความสามารถในการใช้ตัวแปรสภาพแวดล้อมเพื่อปรับเปลี่ยนแผนภูมิ Helm ของคุณ
ตัวแปรสภาพแวดล้อมสามารถใช้เพื่อเก็บข้อมูลสำคัญที่คุณไม่ต้องการรวมไว้ในรหัสของคุณ เช่น รหัสผ่านหรือข้อมูลรับรอง API
อีกแง่มุมที่ซับซ้อนของ Helm คือความเข้ากันได้กับเวิร์กโฟลว์ CI/CD สิ่งนี้อาจช่วยคุณในการปรับใช้แอปพลิเคชันของคุณโดยอัตโนมัติและรับประกันความสอดคล้องกันในทุกสภาพแวดล้อม
หากต้องการใช้ Helm กับไปป์ไลน์ CI/CD ให้เขียนสคริปต์ที่ติดตั้งหรืออัปเกรดแผนภูมิของคุณโดยใช้ helm
คำสั่ง
การปรับแต่งแผนภูมิ Helm ด้วยตัวแปรสภาพแวดล้อม
คุณสามารถกำหนดตัวแปรในไฟล์ value.yaml ที่รวมอยู่ในแผนภูมิเพื่อเพิ่มตัวแปรสภาพแวดล้อมให้กับแผนภูมิ Helm ของคุณ จากนั้น ตัวแปรในเทมเพลตของแผนภูมิของคุณอาจถูกอ้างถึงโดยใช้ไวยากรณ์ {{ .Values.variableName }}
การใช้ Helm กับไปป์ไลน์ CI/CD
ก่อนอื่นคุณต้องเขียนสคริปต์ที่ใช้ helm
คำสั่งเพื่อติดตั้งหรืออัปเกรดแผนภูมิของคุณ หากคุณต้องการใช้ Helm กับเวิร์กโฟลว์ CI/CD
เมื่อคุณต้องการปรับใช้แอปพลิเคชันเวอร์ชันใหม่ คุณสามารถรวมสคริปต์นี้ไว้ในไปป์ไลน์และเรียกสคริปต์นั้น
สรุป
แผนภูมิ Helm นำเสนอวิธีที่ปฏิบัติได้จริงในการจัดทำแพ็กเกจและแจกจ่ายทรัพยากร Kubernetes และ Helm เป็นเครื่องมือที่แข็งแกร่งสำหรับการจัดการแอปพลิเคชัน Kubernetes
ตอนนี้คุณควรมีความเข้าใจที่ชัดเจนเกี่ยวกับวิธีพัฒนา ติดตั้ง และจัดการแผนภูมิ Helm หลังจากทำตามคำแนะนำที่ให้ไว้ในบทความนี้
Helm สามารถทำให้การปรับใช้ Kubernetes ของคุณง่ายขึ้น และแอปพลิเคชันของคุณจัดการได้ง่ายขึ้น ไม่ว่าคุณจะเป็นนักพัฒนาหรือ ผู้ดูแลระบบ.
เขียนความเห็น