ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บน Platform

RUK-COM PAAS / CONTAINERS

ประเภท Container

คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี

ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง

ปรับปรุงตามเอกสาร Platform ปัจจุบัน

ตรวจสอบชื่อเมนู ตัวเลือก และข้อกำหนดล่าสุดจากเนื้อหาภาษาอังกฤษในหน้าเดียวกันก่อนดำเนินการกับระบบจริง

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

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

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

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

Ruk-Com Cloud PaaS รองรับทั้ง System Container และ Application Container เพื่อให้เลือกวิธีรัน Application ได้เหมาะกับโครงสร้างและข้อกำหนดของระบบ

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

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

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

Docker เป็นเทคโนโลยี Application Container ที่ใช้งานแพร่หลาย การรัน Docker ภายใน VM ต้องจัดสรร Resource ให้ Guest OS ของแต่ละ VM ด้วย ส่วนการรัน Docker ภายใน System Container ใช้ Kernel ของ Host ร่วมกัน จึงลด Overhead ของ Guest OS ได้ พร้อมแยกการทำงานระหว่าง Container

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

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

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

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

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

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

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

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

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

Server ส่วนตัวเสมือน (Elastic VPS)

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

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

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

Docker Container แบบกำหนดเอง

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

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

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

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

Docker Engine CE (Native Docker)

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

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

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

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

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

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

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

Cluster Kubernetes

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

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

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

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

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

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

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