Rancher จากโปรเจกต์ OpenSource สู่ซอฟต์แวร์ Kubernetes clusters ระดับแนวหน้า | OLS Community | Technology news, knowledge base & tutorials
OpenLandscape Logo

Rancher จากโปรเจกต์ OpenSource สู่ซอฟต์แวร์ Kubernetes clusters ระดับแนวหน้า

Knowledge Base

ทำความรู้จัก Rancher : จากโปรเจกต์ OpenSource สู่ซอฟต์แวร์ Kubernetes clusters ระดับแนวหน้า

ในปัจจุบันมีเทคโนโลยีมากมายหลายประเภทที่ถูกพัฒนาขึ้นมาเพื่อใช้เป็นเครื่องมือในการพัฒนาระบบ แต่หนึ่งในเทคโนโลยที่กำลังเป็นกระแสมาแรงมาที่สุดเลยก็คือเทคโนโลยี “Kubernetes” (คูเบอเนเตส) หรือที่ใครหลาย ๆ คนเรียกสั้น ๆ ว่า K8S นั่นเอง 

วันนี้เลยอยากจะพาทุกคนมาทำความรู้จักกับ “Rancher” ซอฟต์แวร์ Kubernetes clusters ว่าคืออะไร และอะไรที่เป็นปัจจัยสำคัญที่ทำให้โปรเจกต์ Open source เล็ก ๆ โปรเจกต์นี้ สามารถเติบโตสู่เเพลตฟอร์มระดับแนวหน้าได้ภายในระยะเวลาเพียงไม่กี่ปี โดยจะมีรายละเอียดอะไรบ้างลองไปดูกันเลยค่ะ


บทความนี้มีหัวข้ออะไรบ้าง ?

เทคโนโลยี “Kubernetes” (คูเบอเนเตส) คืออะไร ?

Rancher คืออะไร ?

Rancher ทำอะไรได้บ้าง ?

Rancher มีโครงสร้างในการทำงานอย่างไร ?

Rancher มีฟีเจอร์ API Server อะไรบ้างที่น่าสนใจ ?

คุณเหมาะที่ใช้ Rancher หรือเปล่า ?


ทำความรู้จักเทคโนโลยี “Kubernetes” (คูเบอเนเตส)

ก่อนที่เราจะไปรู้จักกับ “Rancher” อันดับแรกเรามาทำความรู้จักกับ เทคโนโลยี “Kubernetes” (คูเบอเนเตส) กันก่อน ว่าคืออะไร และเอาไว้ใช้ทำอะไรกันแน่

เทคโนโลยี “Kubernetes” (คูเบอเนเตส) หรือ K8S คือซอฟต์แวร์ที่ใช้ในการจัดการ Containers โดยถือกำเนิดมาจากโปรเจกต์ Open source ของ Google เพื่อใช้เป็นเครื่องมือการจัดการคอนเทนเนอร์ให้สามารถทำงานได้ด้วยตนเองอย่างอัตโนมัติตามที่เรา Config ไว้ K8S จึงเป็นเทคโนโลยีที่ช่วยลดภาระให้กับนักพัฒนาและผู้ดูแลระบบได้เป็นอย่างดี สำหรับใครที่อยากศึกษาและทำความรู้จักกับเทคโนโลยี “Kubernetes” เพิ่มเติมสามารถเข้าไปอ่านบทความของเราได้ที่ : Kubernetes หนทางสู่การทำระบบที่ไม่มีวันล่ม


Rancher คืออะไร ?

Rancher คือ โปรเจกต์ Open source ที่ได้รับจำนวนกดโหวตบน GitHub มากถึง 16,500 ครั้ง  โดยพัฒนามาจาก “Kubernetes” เวอร์ชันคอมมูนิตี้ ทำให้มีความสามารถในการสร้างและจัดการ Container ได้เช่นเดียวกัน มาถึงตรงนี้ดูเผิน ๆ แล้วทั้งสองตัวนี้มีความคล้าย ๆ กันใช่มั้ยคะ ซึ่งหลาย ๆ คนอาจจะเกิดคำถามขึ้นมาว่า “เอ้…แล้วแบบนี้ทั้งสองต่างกันยังไงนะ ?” เดี๋ยวลองมาดูกันค่ะว่าความสามารถอะไรที่ทำให้ Rancher แตกต่างจาก Kubernetes เวอร์ชันคอมมูนิตี้

Video : What is Rancher?


Rancher ทำอะไรได้บ้าง ?

1.สามารถรัน Kubernetes ที่ไหนก็ได้

อย่างที่เราทราบกันดีว่าโดยพื้นฐานแล้ว Kubernetes ดั้งเดิมนั้นใช้สำหรับการจัดการ Containers แต่สำหรับ Rancher นั้นต่างออกไปค่ะ เพราะว่านอกจากจะมีความสามารถพื้นฐานของ Kubernetes ที่เป็นเวอร์คอมมูนิตี้ดั้งเดิมแล้ว ยังสามารถสร้างและจัดการได้ถึงระดับ Kubernetes ได้ด้วย หรือที่เรียกว่าการทำ Kubernetes Clusters นั่นเอง โดยใช้ซอฟต์แวร์ที่มีชื่อว่า Rancher Kubernetes Engine (RKE) ผู้ใช้งานจึงสามารถเชื่อมต่อและจัดการ Clusters ที่สร้างไว้ ได้ทุก Clusters ไม่ว่า Cluster นั้น ๆ จะอยู่ที่ไหนหรือใช้ Kubernetes Distributions ใดก็ตาม

2.เป็นเครื่องมือช่วยให้นักพัฒนาจัดการระบบได้อย่างง่ายได้มากยิ่งขึ้น

ซอฟต์แวร์ของ Rancher ถูกพัฒนาขึ้นให้สามารถใช้เป็นศูนย์รวมในการจัดการ Kubernetes Cluster  ทั้งหมดที่มีอยู่ของคุณ โดยที่คุณไม่ต้องเข้าออกหลายเเพลตฟอร์มให้ยุ่งยากและเสียเวลา เพราะ Rancher สามารถทำได้ทั้งการพิสูจน์ตัวตน (Authentication) , การควบคุมการเข้าถึง (Access control) หรือ การรายงานผล (Monitoring) ยกตัวอย่างเช่น 

  • คุณสามารถทำการ Active Directory เพื่อเข้าถึง Kubernetes Clusters ของคุณที่อยู่บนผู้ให้บริการคลาวด์แบรนด์ใดก็ได้ 
  • คุณสามารถตั้งค่าและกำหนดสิทธิ์ ที่ใช้ในการควบคุมหรือเข้าถึงความปลอดภัยของระบบระหว่าง ผู้ใช้งาน, กลุ่มผู้ใช้งาน, โปรเจกต์, Clusters ไปจนถึง ระบบคลาวด์ได้
  • คุณสามารถตรวจสอบประสิทธิภาพในการทำงาน Kubernetes clusters  ของคุณได้อย่างง่ายดายในหน้าแดชบอร์ด (Dashboard) เดียว

3.ช่วยเพื่มประสิทธิภาพการทำงานของทีมนักพัฒนาให้ดียิ่งขึ้น

นอกจาก Rancher จะช่วยในจัดการ Kubernetes clusters แล้ว ยังมีฟีเจอร์ที่ให้ผู้ใช้งานสามารถจัดการระบบต่าง ๆ ผ่าน UI ได้เลยโดยไม่ต้องสั่งการผ่านหน้า Command line รวมไปถึง Rancher Catalog ที่ทาง Rancher คัดเลือกมาแล้วว่าเป็นเครื่องมือที่ปลอดภัยและมีประโยชน์ต่อการพัฒนาระบบ

Rancher ยังได้รับการยอมรับและนำไปใช้ในระบบ Ecosystem ของผู้ให้บริการ Cloud native หลาย ๆ แบรนด์ เช่น ใช้เป็นเครื่องมือรักษาความปลอดภัย (Security tools), ทำระบบรายงานผล (Monitoring systems), ใช้ในการลง Container, ใช้ในการจัดเก็บ Storage หรือ ใช้ซอฟต์แวร์ Networking drivers ในการเชื่อมเครือข่ายคอมพิวเตอร์เข้าด้วยกัน เป็นต้น


Rancher มีโครงสร้างในการทำงานอย่างไร ?

จากภาพประกอบทางด้านล่างเราจะเห็นได้ว่า Rancher มีบทบาทในการเชื่อมความสัมพันธ์ในการทำงานร่วมกันระหว่างทีม DevOps และ IT Admin โดย DevOps แต่ละทีมสามารถเลือก Deploy แอปพลิเคชันของตัวเอง ขึ้นบนคลาวด์ที่แต่ละทีมเลือกใช้ได้ ในขณะที่ IT Admin สามารถดูแลและจำกัดสิทธิ์การเข้าถึงของผู้ใช้งานทั้งหมด (Users) รวมไปถึงจัดการ Clusters และ ระบบคลาวด์ที่มีอยู่ในระบบทั้งหมดได้ด้วย

Rancher มีโครงสร้างในการทำงานอย่างไร ?

โครงสร้างการทำงานของ Rancher 


Rancher มีฟีเจอร์ API Server อะไรบ้างที่น่าสนใจ ?

Rancher มีฟีเจอร์ API Server อะไรบ้างที่น่าสนใจ ?

อีกหนึ่งจุดเด่นที่ทำให้ Rancher มีความน่าสนใจและน่าใช้งานเลยก็คือ Rancher API Server ที่สามารถทำงานเชื่อมต่อกับ Kubernetes API server และ etcd database ช่วยเพิ่มประสิทธิภาพในการทำงานและพัฒนาระบบไปอีกขั้น โดยรายละเอียดของ Rancher API server มีฟังก์ชันในการทำงานดังนี้

API Server ที่ช่วยในการจำกัดสิทธิ์ในการเข้าถึงและ Role ของผู้ใช้งาน

API Server ที่ช่วยในการจัดการ Kubernetes

  • Provisioning Kubernetes clusters: API ที่ช่วยในการ Provisioning Kubernetes ในกรณีที่มี Node อยู่แล้ว หรือ Kubernetes มีการอัปเกรด
  • Catalog management: สามารถ Deploy แอปพลิเคชันในรูปแบบเดิมซ้ำ ๆ ได้อย่างง่ายดายด้วย Catalog แหล่งรวมแอปพลิเคชันพร้อมใช้งาน และมี Helm charts คอลเลคชันไฟล์ที่ช่วยในการเซ็ต Resources ของ Kubernetes ที่มีหลากหลาย Chart ให้เลือกใช้
  • Managing projects: โปรเจกต์ที่รวบรวบกลุ่มของ เนมสเปซ (namespace) ไว้อย่างหลากหลาย รวมไปถึงการเข้าถึงสิทธิ์ในการควบคุม Cluster โดยโปรเจกต์ดังกล่าวนี้มีความแตกต่างจาก Kubernetes เวอร์ชันคอมมูนิตี้ตรงที่คุณสามารถจัดการเนมสเปซ (namespace) ที่มีอยู่ของคุณในรูปแบบกลุ่ม (Group) ได้ และสามารถรัน Kubernetes ภายในเนมสเปซ (namespace) ที่คุณจัดกลุ่มไว้ ผ่านหน้า UI ของ Rancher โดยฟีเจอร์นี้ช่วยอำนวยความสะดวก Project administration และสามารถใช้ในการจัดการแอปพลิเคชันภายในโปรเจกต์ได้ด้วย
  • Pipelines: สำหรับ Developer แล้วการทำ Pipeline เป็นสิ่งที่สำคัญ เพราะสามารถช่วยให้การพัฒนาซอฟต์แวร์ หรือแอปพลิเคชันใหม่ ๆ ออกมามีประสิทธิภาพและรวดเร็วมายิ่งขึ้น ซึ่ง Rancher ก็มีฟีเจอร์ที่ช่วยในการ Config สำหรับ  Pipeline ในแต่ละโปรเจกต์
  • Istio: : ซอฟต์แวร์ของ Rancher มีการ Integrate กับ Istio ซอฟต์แวร์ Service Mesh ที่เป็นโปรเจกต์ Open Source เช่นเดียวกัน โดยออกแบบระบบให้ Administrator และ Cluster owner ที่อยู่ในระบบของ Rancher สามารถส่ง Istio ไปยัง Developer ได้  Developer เองก็สามารถใช้ Istio ดังกล่าวในการเข้าถึงระบบความปลอดภัย เข้าไปแก้ไข หรือจัดการ Traffic สำหรับการ Deployment ในแบบรูปแบบ Blue-Green deployment หรือ Canary Release รวมไปถึงการทำ A/B testing ด้วย

API Server ที่ช่วยในการใช้งานบนคลาวด์

  • Tracking nodes: API ที่ช่วยในการ Track ทุก Node ที่มีอยู่ใน Cluster
  • Setting up infrastructure: เวลา Config เพื่อใช้งานคลาวด์ Rancher จะช่วยในการ Provision เพิ่ม Node และขยายพื้นที่ Storage บนคลาวด์

API Server ที่ช่วยในการตรวจสอบ Cluster

  • Logging: ซอฟต์แวร์ของ Rancher มีการ Integrate กับ Logging services ยอดนิยมหลากหลายเซอร์วิส เพื่อให้คุณสามารถเข้าถึง Kubernetes clusters จากภายนอกได้ 
  • Monitoring: Rancher มีระบบ Monitoring ที่แสดงให้เห็นการทำงานของ Cluster แต่ละ Nodes การทำงานภายใน Kubernetes และ ตรวจสอบการ Deploy ซอฟต์แวร์ขึ้นระบบ ผ่าน Prometheus โปรเจกต์ Open source ที่โด่งดังในด้านการ Monitoring
  • Alerting: มีระบบของแจ้งเตือนเมื่อ Clusters หรือ แอปพลิเคชัน มีปัญหาเพื่อให้ทีมของคุณสามารถเข้าไปจัดการและแก้ไขได้ทันท่วงที

Demo: Intro to Rancher container management


คุณเหมาะที่ใช้ Rancher หรือเปล่า ?

คุณเหมาะที่ใช้ Rancher หรือเปล่า ?

มาถึงจุดนี้คุณอาจจะกำลังคิดว่า “ทีม” หรือ “องค์กร” ของคุณเหมาะที่จะใช้ Rancher หรือเปล่า เดี๋ยวลองมาดูดีกว่าค่ะ ว่าปัจจัยเหล่านี้เป็นสิ่งที่คุณกำลังมองหาอยู่หรือไม่

1.ต้องการทำระบบที่มีหลาย Kubernetes Cluster หรือ มี Cluster กระจายอยู่หลายที่  

แน่นนอนว่าการจัดการย่อมเป็นไปได้ยาก หาก Cluster ที่มีอยู่ของคุณ ทำงานแยกออกจากกัน Rancher ช่วยคุณจัดการปัญหาเหล่านี้ได้ด้วยเป็นศูนย์รวมในการจัดการ Cluster รองรับการทำระบบแบบ Kubernetes clusters เพื่อให้คุณสามารถจัดการทุก Cluster ที่มีอยู่ของทั้งหมดได้ในที่เดียวโดยไม่ต้องเสียเวลาจัดการทีละ Cluster 

2.ต้องการซอฟต์แวร์ที่มีความยืดหยุ่น สามารถรันได้ทุกที่ 

ปัจจุบันมีซอฟต์แวร์ที่ใช้ในการจัดทำ Container หลายตัวที่ถูกพัฒนาและผลิตสู่ท้องตลาด ซึ่งบางเเพลตฟอร์มที่มีข้อจำกัดในการใช้งานและการติดตั้ง ด้วยข้อได้เปรียบจากการเป็นโปรเจกต์ Open source ของ Rancher จึงทำให้คุณสามารถรันซอฟตแวร์ของ Rancher ที่ใดก็ได้แบบไม่มีขีดจำกัด

3.ต้องการรซอฟต์แวร์ที่ใช้งานง่าย 

Rancher มีระบบ UI ที่ทำให้ทีมนักพัฒนา แม้มีความรู้ไม่ลึกมาก สามารถการจัดระบบ Kubernetes ได้ขอเพียงเข้าใจโครงสร้าง และคอนเซปต์ในการทำงานของ Kubernetes cluster เท่านั้นก็พอ

4.ต้องการระบบที่มี Tools, APIs และ App Catalog ให้เลือกใช้งานหลากหลาย 

Rancher มีการพัฒนารวมไปถึง integrate กับซอฟต์แวร์และโปรเจกต์ Open souce ชั้นนำหลากหลายเซอร์วิสด้วย จึงทำให้มีฟีเจอร์ที่ครอบคลุม และตอบโจทย์ทั้งในฝั่งของทีม IT Admin, ทีม DevOps และ Developer

5.ต้องการใช้ฟีเจอร์ เซอร์วิส หรือเทคโนโนโลยีใหม่ ๆ อยู่เสมอ 

Rancher สนับสนุนโปรเจกต์ Open source ด้วยการ Integrate โปรเจกต์ใหม่ ๆ ที่มีคุณภาพ และความนิยมเข้ากับซอฟต์แวร์ของ Rancher อยู่เสมอ นอกจากนี้หากซอฟต์แวร์ หรือ เซอร์วิส ที่คุณใช้งานมี API ที่สามารถเชื่อมต่อกับ Rancher ได้ คุณการสามารถใช้งานซอฟต์แวร์ หรือ เซอร์วิสนั้น ๆ ได้เช่นเดียวกัน

6.ต้องการประหยัดต้นทุน 

อีกหนึ่งจุดเด่นของ Rancher เลย เพราะเป็นโปรเจกต์ Open source ที่เปิดให้คุณใช้งานฟรี 100% ทำให้คุณหมดห่วงเรื่อง Eco-system ของผู้ให้บริการแต่ละ Vendor เพื่อที่จะหันมาโฟกัสกับการดีไซน์ Solution ที่ตอบโจทย์กับการใช้งาน และเหมาะสมกับต้นทุนที่คุณตั้งไว้แทน


Final Thoughts !

ในยุคที่เทคโนโลยีเติบโตอย่างรวดเร็วและมีการแข็งขันสูงแบบนี้ หลาย ๆ บริษัทเริ่มนำเทคโนโลยี Kubernetes ไปปรับใช้กับองค์กรของตัวเองมากขึ้น เพื่อพัฒนาองค์กรของตัวเองให้สามารถแข่งขันกับคู่แข่งในตลาดได้ ฟังก์ชันการทำงานของ Rancher จึงตอบโจทย์ทั้งในแง่ของการช่วยประหยัดต้นทุน ใช้งานง่ายและมีความยืดหยุ่นสูง  อีกทั้งยังช่วยลดภาระให้ทีมพัฒนาของคุณทำงานได้อย่างรวดเร็วและมีประสิทธิภาพมากยิ่งขึ้น Rancher จึงกลายเป็นอีกหนึ่งโปรเจกต์ Open source เล็ก ๆ ที่เติบโต สู่เเพลตฟอร์มระดับแนวหน้าได้ในระยะเวลาสั้น ๆ โดยไม่ต้องสงสัย !

OpenLancdscape มองเห็นถึงความสำคัญของเทคโนโลยีนี้ เราจึงสนับสนุนให้คุณสามารถใช้งาน Rancher บนคลาวด์ของเราได้ เพียง สมัครใช้บริการของเรา และทำตามคู่มือ วิธีการติดตั้ง Rancher ใน OS Ubuntu 18.04 เพียงเท่านี้คุณก็สามารถใช้เทคโนโลยี Rancher ได้แล้ว 

นอกจากนี้หากในองค์กรของคุณไม่มีทีมงานผู้เชี่ยวชาญในการจัดทำระบบ คุณสามารถติดต่อเพื่อรับคำปรึกษาและขอทดสอบใช้บริการสำหรับธุรกิจแบบ Comercial Cloud ของเราได้ฟรี เพียงกรอกแบบฟอร์มให้เราติดต่อกลับได้ที่ : https://bit.ly/3bhbWsD


อ้างอิงจาก : 

Rancher : https://rancher.com/docs/rancher/v2.x/en/overview/

Kubernetes : https://kubernetes.io/

Kubernetes หนทางสู่การทำระบบที่ไม่มีวันล่ม : https://blog.openlandscape.cloud/what-is-kubernetes

เปลืองเวลาเป็นวันๆไปทำไม ? ในเมื่อใช้ Docker ช่วยได้ ! : https://blog.openlandscape.cloud/docker


Share :


gigi
Chanakan Budrak

จบการศึกษาจากคณะมนุษยศาสตร์ มหาวิทยาลัยศรีนครินทรวิโรฒ มีความชื่นชอบและติดข่าวสารวงการเทคโนโลยีใหม่ ๆ อยู่เสมอ ด้วยความที่เทคโนโลยีเป็นเรื่องที่ใกล้ตัวมาก จึงมีความเชื่อว่าแม้จะเป็นคนธรรมดาทั่วไปก็สามารถเรียนรู้เรื่องเทคโนโลยีได้

สมัครใช้บริการของเรา

ให้ทุกการพัฒนาของคุณมีประสิทธิภาพมากกว่าที่เคย

Get Started
Related posts