CLOUD PAAS / CONTAINERS

ประเภทคอนเทนเนอร์

คู่มือนี้เรียบเรียงและปรับรูปแบบสำหรับ Ruk-Com Cloud PaaS ภาพหน้าจออาจแตกต่างเล็กน้อยตามเวอร์ชันของระบบ

คลิกหรือแตะภาพหน้าจอเพื่อดูรายละเอียดขนาดจริง

วัตถุประสงค์

บทความนี้อธิบายการใช้งาน ประเภทคอนเทนเนอร์ บน Ruk-Com Cloud PaaS โดยจัดลำดับขั้นตอนและจุดตรวจสอบสำหรับการนำไปใช้งานจริง

ก่อนเริ่มดำเนินการ

  • เข้าสู่ระบบด้วยบัญชีที่มีสิทธิ์จัดการ Environment ที่เกี่ยวข้อง
  • ตรวจสอบชื่อ Environment, Region และทรัพยากรเป้าหมายก่อนบันทึกการเปลี่ยนแปลง
  • สำรองข้อมูลหรือกำหนดแผนย้อนกลับก่อนแก้ไขระบบ Production

Ruk-Com Cloud PaaS รวมคอนเทนเนอร์ 2 ประเภทไว้ในแพลตฟอร์มเดียวกัน โดยใช้เทคโนโลยีการรวมแอปพลิเคชัน Containerization เพื่อแก้ปัญหาที่แตกต่างกัน โดย Ruk-Com Cloud Orchestration จะได้รับประโยชน์จากการปฏิบัติการทั้งสอง

  • ระบบคอนเทนเนอร์(คอนเทนเนอร์ระบบ) - เป็นระบบปฏิบัติการที่เก่าแก่ที่สุดที่คล้ายกับ virtual machines แบบ Stateful เป็นศูนย์กลางของระบบปฏิบัติการที่สามารถประมวลผลได้หลายกระบวนการ ระบบคอนเทนเนอร์เหมาะสำหรับแอปพลิเคชันแบบดั้งเดิมเนื่องจากระบบอนุญาตให้สถาปัตยกรรม เครื่องมือ และการกำหนดค่าสำหรับ Virtual Machines (VMs) การปฏิบัติการของระบบคอนเทนเนอร์มีหลายรูปแบบที่แตกต่างกัน เช่น LXC/LXD, OpenVZ/Virtuozzo, BSD jails, Linux vServer และอื่นๆ โดย Ruk-Com Cloud PaaS ใช้วิธี Virtuozzo

  • แอปพลิเคชันคอนเทนเนอร์(คอนเทนเนอร์แอปพลิเคชัน) - เป็นคอนเทนเนอร์ที่ค่อนข้างใหม่ โดยทั่วไปจะรันภายในกระบวนการเดียวด้วยโครงสร้างแบบ Stateless และให้บริการแบบ Microservice ที่ง่ายต่อการปรับขนาดในรูปแบบ horizontal แอปพลิเคชันคอนเทนเนอร์เหมาะสำหรับโครงสร้างพื้นฐานที่ไม่เปลี่ยนรูปและถาวร ในตลาดมีการใช้งานแอปพลิเคชันคอนเทนเนอร์เป็นอย่างมาก เช่น Docker, Containerd, CRI-O และอื่นๆ Ruk-Com Cloud PaaS ใช้ Docker ซึ่งเป็นเทคโนโลยีที่ใช้กันอย่างกว้างขวางที่สุดสำหรับแอปพลิเคชันคอนเทนเนอร์

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

เมื่อพูดถึงคอนเทนเนอร์ในปัจจุบัน คนส่วนมากจะนึกถึงเทคโนโลยีของ Docker เนื่องจากมีการโปรโมทและใช้งานอย่างสูงเมื่อปีที่ผ่านมา ผู้จำหน่าย cloud ส่วนมากเสนอให้ใช้ Docker แอปพลิเคชันคอนเทนเนอร์ภายใน Virtual Machines โดยในแต่ละ VMs จะประกอบด้วย Guest OS ในหน่วยความจำของตนเอง, CPU และ disk footprint ที่เพิ่มจำนวนทรัพยากรที่จำเป็นในการรันแอปพลิเคชันจะทำให้โฮสติ้งมีราคาสูงขึ้น ในกรณี Ruk-Com Cloud ใช้เทคโนโลยี Docker ในการรันภายในระบบคอนเทนเนอร์ ภายใน kernel เดียวกัน ดังนั้นจึงแบ่งปันทรัพยากร OS จากระบบปฏิบัติการโฮสต์เพื่อลดการใช้งาน และในขณะที่ lightweight มากกว่า VMs จะต้องใช้คอนเทนเนอร์ที่ซับซ้อนกัน แต่สิ่งเหล่านี้ยังคงสามารถแยกได้ดีและปลอดภัย

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

ภายในแพลตฟอร์ม Ruk-Com Cloud สามารถใช้งานได้หลายรูปแบบในกรณีต่างๆ ดังนี้:

ในส่วนของด้านล่างนี้จะอธิบายการใช้งานในแต่ละกรณีอย่างละเอียด รวมถึงให้คำแนะนำบางประการเกี่ยวกับตัวเลือกที่เหมาะสมกับงานของคุณมากขึ้น

คอนเทนเนอร์ที่ได้รับการจัดการที่ผ่านการรับรอง

Ruk-Com Cloud ได้จัดเตรียมคอนเทนเนอร์ที่ได้รับการรองรับไว้หลายรูปแบบ ซึ่งเหมาะกับการใช้งานของลูกค้าเป็นส่วนมาก โดยแพลตฟอร์มนี้จะนำเสนอกลุ่มของซอฟต์แวร์ที่มีการจัดการและกำหนดค่าไว้ล่วงหน้าและอนุญาตให้สร้าง topology ที่มีความยืดหยุ่นกับแอปพลิเคชันที่ต้องการใช้เซิร์ฟเวอร์(Java, PHP, Node.js, Ruby, Python, หรือ Go), โหลดบาลานเซอร์, ฐานข้อมูลและอื่นๆ

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

คอนเทนเนอร์ทั้งหมดนี้ผ่านการรับรอง ทดสอบอย่างละเอียด และนำมาปรับให้เหมาะสมสำหรับการใช้งานที่พบบ่อยที่สุดภายในแพลตฟอร์ม ทีม Ruk-Com Cloud จะอัปเดตซอฟต์แวร์เวอร์ชั่นล่าสุดเป็นประจำ หรือติดตั้ง security สำหรับคอนเทนเนอร์ที่เผยแพร่แล้ว

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

คอนเทนเนอร์เหล่านี้ยังได้รับประโยชน์เพิ่มเติม เช่น การกำหนดค่าอัตโนมัติตามขีดจำกัดของทรัพยากรและการปรับขนาดอัตโนอัติ (คลาวด์เล็ต), การติดตั้งใบรับรอง SSL อัตโนมัติ, การ deploy แอปพลิเคชันอัตโนมัติ, การทำคลัสเตอร์อัตโนมัติ และการจัดการอัปเดตความปลอดภัย

เซิร์ฟเวอร์ส่วนตัวเสมือน (Elastic VPS)

Ruk-Com Cloud คอนเทนเนอร์นำเสนอVPS แบบยืดหยุ่น เซิร์ฟเวอร์ส่วนตัวแบบเสมือนจริงพร้อมระบบปฏิบัติการที่ติดตั้งไว้ล่วงหน้า เช่น CentOS, Ubuntu และ Debian ซึ่งเป็น pure OS-based คอนเทนเนอร์ที่ไม่ต้องติดตั้งซอร์ฟแวร์หรือปรับแต่งเพิ่มเติม ถือว่าเป็นตัวเลือกที่เหมาะสมที่สุดสำหรับการจัดแอปพลิเคชันคอนเทนเนอร์เดิม เนื่องจากมีการเปลี่ยนแปลงน้อยที่สุดหรือไม่เปลี่ยนแปลงเลยในขณะที่ย้ายข้อมูลจาก Virtual Machines

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

ดังนั้นเนื่องจากเทมเพลทนี้แทบจะว่างเปล่า หลังการติดตั้งผู้ใช้งานควรกำหนดค่าเพื่อเข้าถึง root ที่ถูกจัดเตรียมไว้ให้เข้ากับคอนเทนเนอร์ Elastic VPS เซิร์ฟเวอร์ส่วนตัวแบบเสมือนจริงที่มี lightweight มากกว่าและมีข้อดีของการปรับขนาดอัตโนมัติแบบ vertical และ horizontal scaling

คอนเทนเนอร์Dockerแบบกำหนดเอง

คอนเทนเนอร์Dockerแบบกำหนดเองเป็น Image ของ Docker (ขึ้นอยู่กับ OS ที่รองรับ) และ deploy ภายใน Ruk-Com Cloud ซึ่งทำงานได้ดีกับคุณสมบัติที่แตกต่างของแพลตฟอร์มส่วนใหญ่ (แต่ไม่ทั้งหมด) เช่นการปรับขนาดภายในแบบ vertical และ horizontal scaling กล่าวอีกนัยหนึ่งคือระบบไฟล์ของ Docker image ที่กำหนดเอง ถูกจัดไว้ภายในระบบคอนเทนเนอร์ในเวลาที่โปรแกรมทำงาน

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

เมื่อเปรียบเทียบกับคอนเทนเนอร์ที่มีการจัดการและได้รับการรับรอง ตัวเลือกนี้ช่วยในการเข้าถึงกองซอร์ฟแวร์ที่หลากหลาย ผู้ใช้งานสามารถเลือก Docker images จากบุคคลที่สาม (3rd party) ได้อย่างกว้างขวางที่ Docker Hub หรือ public/private คอนเทนเนอร์อื่นๆที่ทำงานร่วมกันได้ อย่างไรก็ตามการจัดการ image โดยบุคคลที่สาม จะไม่สามารถรับประกันได้ว่าแพลตฟอร์มสามารถทำงานร่วมกันได้

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

Dockerเครื่องยนต์ CE (Dockerพื้นเมือง)

Ruk-Com Cloud PaaS รองรับรุ่นชุมชนเครื่องยนต์Dockerที่ทำงานภายในระบบคอนเทนเนอร์ แต่ในขณะเดียวกันสามารถทำงานร่วมกันได้อย่างสมบูรณ์กับระบบ Docker แบบดั้งเดิม

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

การรวมกลุ่มดังกล่าวทำให้สามารถทำงานร่วมกับเครื่องมือหลักของเทคโนโลยี Docker คอนเทนเนอร์ได้แก่ :

  • Docker Engine - ประมวลผล Dockerfile แสดงหรือเรียกใช้ image คอนเทนเนอร์ที่สร้างไว้ล่วงหน้า
  • Docker Registry - จัดเก็บและจัดเตรียมการเข้าถึง images แบบ public/private ที่หลากหลายสำหรับการ deploy ภายใน Docker Engine
  • Docker Compose - ช่วยในการรวบรวมแอปพลิเคชันที่มีส่วนประกอบหลายอย่าง ซึ่งการกำหนดค่าจะถูกประกาศไว้ภายในไฟล์เดียว
  • Docker Swarm - แสดงถึงnodes Docker อย่างอิสระหลาย nodes ที่เชื่อมต่อกันเป็นคลัสเตอร์

Ruk-Com Cloud นำเสนอ Docker Engine CE เวอร์ชั่นสำเร็จรูป และ Docker Swarm Cluster พร้อมทั้งการทำคลัสเตอร์อัตโนมัติ

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

รายละเอียดเพิ่มเติม:

คลัสเตอร์ Kubernetes

แอปพลิเคชันคอนเทนเนอร์สามารถประมวลผลและจัดการโดย Kubernetes orchestration tool ซึ่งเป็นแพลตฟอร์ม open-source ที่ออกแบบมาสำหรับการ deploy และการจัดการความผิดพลาดของแอปพลิเคชันคอนเทนเนอร์ สามารถจัดการงานที่ซับซ้อนของคอนเทนเนอร์ อย่างเช่นการ deploy, การค้นหาบริการ, การอัปเกรดแบบ rolling, การรักษา และการจัดการความปลอดภัย

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

การใช้งาน Ruk-Com Cloud PaaS Kubernetes จะทำให้การติดตั้งคลัสเตอร์ การกำหนดค่า การอัปเดต และการจัดหาบริการ ถูกรวมไว้ล่วงหน้าหลายรายการโดยอัตโนมัติ (เช่น Weave CNI, CoreDNS, Traefik เป็นต้น)

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

กล่าวอีกนัยหนึ่งการใช้งาน Kubernetes โดย Ruk-Com Cloud Orchestration มีความสามารถในการทำงานร่วมกันสูงสำหรับโปรเจกต์ที่ออกแบบมาสำหรับ Kubernetes ตั้งแต่เริ่มต้น ประโยชน์หลักของการใช้ Ruk-Com Cloud Kubernetes คือรูปแบบของการจ่ายเท่าที่ใช้งาน ซึ่งจะช่วยแก้ปัญหาการปรับขนาดที่เหมาะสม และทำให้การโฮสต์คอนเทนเนอร์หลาย ๆ คอนเทนเนอร์มีประสิทธิภาพมากขึ้น

ข้อมูลเพิ่มเติมเกี่ยวกับคลัสเตอร์ Kubernetes สามารถดูได้จากส่วนเอกสารในส่วนต่างๆ:

ตอนนี้คุณได้ทราบเกี่ยวกับคอนเทนเนอร์ประเภทต่างๆของ Ruk-Com Cloud รวมถึงข้อมูลจำเพาะ ที่สามารถช่วยในการเลือกตัวเลือกตามความต้องการให้เหมาะสมที่สุดสำหรับโปรเจกต์คุณ