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

Chanakan Budrak/ June 1, 2021/ Knowledge Base/ 0 comments

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

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

วันนี้ OpenLandscape เลยขอพาทุกคนมาทำความรู้จักกับ “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 มากกว่า 2 หมื่นครั้ง  โดยพัฒนามาจาก “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 ได้แล้ว 

นอกจากนี้ หากองค์กรของคุณต้องการผู้เชี่ยวชาญในการให้คำปรึกษาและดูแลทางด้าน Kubenetes สามารถติดต่อทีมงาน OpenLandscape ได้ที่ contact@ols.co.th หรือ 02-257-7111


อ้างอิงจาก : 

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

จบการศึกษาจากคณะมนุษยศาสตร์ มหาวิทยาลัยศรีนครินทรวิโรฒ

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

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*