วิธีการติดตั้ง Rancher ใน OS Ubuntu 18.04

Ronakon Woramethaphiphat/ March 8, 2021/ Tutorial/ 0 comments

Rancher คืออะไร ?

Rancher คือ Complete container management platform หรือ ซอฟต์แวร์ที่ใช้ในการจัดการ Kubernestes ภายใน Cluster โดยความพิเศษของตัว Rancher นอกจากจะสามารถรอบรับระบบ Operating system และ Hypervisor ได้หลากหลายแล้ว ยังสามารถจัดการ Cluster ได้หลาย ๆ Cluster ผ่าน WebUI ได้อย่างง่ายดายโดยที่ไม่ต้องใช้ Command line 

สนใจสมัครใช้บริการได้ที่ : สมัครใช้บริการ OpenLandscape Cloud


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

ข้อมูลพื้นฐานก่อนการติดตั้ง

วิธีการติดตั้ง Rancher

วิธีการตั้งค่า Rancher ผ่านหน้า Web Browser 

วิธีการสร้าง Cluster บน Rancher

วิธีการสร้างเครื่อง Instance สำหรับใช้เป็น Node ของ Kubernetes

วิธีการกำหนด Role และเชื่อมต่อแต่ละ Node ของ Kubernetes เข้าไปยัง Cluster


ข้อมูลพื้นฐานก่อนการติดตั้ง

1.1.ส่วนประกอบ Environment ภายใน Cluster Rancher

  • Rancher-server  คือเครื่องที่ใช้ในการจัดการ Cluster Kubernetes สำหรับ Rancher
  • K8s-master        คือเครื่อง Master Node ของ Kubernetes ใช้สำหรับ Control และเก็บ etcd ของ Cluster kubernetes นั้น ๆ
  • K8s-worker1     คือเครื่อง Work Node ของ Kubernetes สำหรับ Run application ที่ทำการสร้างใน Cluster Kubernetes นั้น ๆ

หมายเหตุ : สำหรับ Security group ในส่วนของ Port ที่ต้องเปิดจะมีรายการดังนี้ 80, 443, 6443, 2379

1.2.ความต้องการของระบบ Rancher และ Kubernetes Cluster

Requirements VM ของ rancher 

Deployment SizeClustersNodesCPUsRAMs
Small (Package D)Up to 3Up to 4024 GB
Medium (Package E)Up to 12Up to 18048 GB

Requirements VM ของ Kubernetes master node

Deployment SizeCPUsRAMs
POC Size(Package C)22 GB
Production Size(Package E)48 GB

Requirements VM ของ Kubernetes worker node

Deployment SizeCPUsRAMs
POC Size(Package C)22 GB
Production Size(Package E)48 GB

Requirements VM ของ Kubernetes All in one

Deployment SizeCPUsRAMs
minimum(Package E)48 GB
Recommend(Package G)816 GB

*** ในส่วนนี้ไม่แนะนำสำหรับใช้งานจริง เพราะอาจจะทำให้ App แย่งทรัพยากรกันได้


วิธีการติดตั้ง Rancher

1.อันดับแรกให้คุณทำการสร้าง Instance สำหรับใช้ในการติดตั้ง Rancher 

[ตัวอย่างการเลือก Spec ของ Instance]

  • OS: Ubuntu 18.04
  • Package D
  • Networks Private: Enable
  • External IP: Yes
  • Instance Name: rancher-server
วิธีการติดตั้ง Rancher

2.เมื่อทำการสร้าง Instance แล้ว ให้ทำการ Update และ Upgrade ให้เรียบร้อย จากนั้นทำการติดตั้ง Docker ภายในเครื่อง Rancher โดยใช้คำสั่งดังนี้

2.1.คำสั่ง Update

 # apt-get update

2.2.คำสั่ง Upgrade

# apt-get upgrade -y

2.3.คำสั่งติดตั้ง Docker

# curl https://releases.rancher.com/install-docker/19.03.sh | sh

# usermod -aG docker root

3.ต่อมาให้ทำการติดตั้ง Rancher โดยสามารถแบบได้เป็น 2 กรณีดังนี้

3.1.คำสั่งติดตั้ง Rancher ในกรณีที่ไม่ต้องการจด Domain 

# docker run -d –restart=unless-stopped –name rancher -p 80:80 -p 443:443 rancher/rancher:v2.4.8

3.2.คำสั่งติดตั้ง Rancher  กรณีที่ต้องการใช้ domain

# docker run -d –restart=unless-stopped –name rancher \

  -p 80:80 -p 443:443 \

  -v /opt/rancher:/var/lib/rancher \

  -v /var/log/rancher/auditlog:/var/log/auditlog \

  -v <ทำการใส่ path ของ cert ที่จด domain>:/etc/rancher/ssl/cert.pem \

  -v <ทำการใส่ path ของ private-key ของ domain>:/etc/rancher/ssl/key.pem \

  -v /etc/localtime:/etc/localtime:ro \

  -e AUDIT_LEVEL=1 \

  rancher/rancher:v2.4.8 \

  –no-cacerts

*** คุณสามารถดูวิธีการจด Domain ได้ที่ : https://blog.openlandscape.cloud/domain-name-registration

ติดตั้ง Docker ภายในเครื่อง Rancher

หลังจากใช้คำสั่ง Docker จะทำการดึง Image Rancher ออกมา เพื่อทำการสร้าง Container Docker


วิธีการตั้งค่า Rancher ผ่านหน้า Web Browser 

1.หลังจากดำเนินการติดตั้ง Rancher เรียบร้อยแล้ว ให้เข้าไปที่ https://<domain || ippublic> เพื่อทำการตั้งค่า Rancher ผ่านหน้า Web Browser

1.1.ทำการตั้ง Password สำหรับเข้าหน้า Dashboard ของ Rancher

1.2.ทำเครื่องหมายถูกในช่อง “I agree” และกดที่ปุ่ม “Continue”

วิธีการตั้งค่า Rancher ผ่านหน้า Web Browser

1.3.ทำการตรวจสอบ Url ของ Rancher อีกครั้ง

Url ของ Rancher

วิธีการสร้าง Cluster บน Rancher

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

1.ให้เข้าไปที่หน้า Dashborad ของ Rancher จากนั้นกดที่ปุ่ม “Add Cluster” 

Dashborad ของ Rancher

2.เลือกประเภท Cluster เป็น “From existing nodes (Custom)” 

From existing nodes (Custom)

3.ทำการตั้งค่า Cluster โดยตั้งชื่อให้เรียบร้อย จากนั้นตั้งค่าส่วนต่าง ๆ หรือจะเลือกเป็นค่า Defalut ของ Rancher ก็ได้เช่นเดียวกัน

Defalut ของ Rancher

วิธีการสร้างเครื่อง Instance สำหรับใช้เป็น Node ของ Kubernetes

หลังจากทำการสร้าง Cluster ของ Kubernetes เรียบร้อยแล้ว ต่อมาให้ทำการสร้างเครื่อง Instance สำหรับใช้เป็น Node ของ Kubernetes โดยมีรายละเอียดวิธีการดังนี้

1.ทำการสร้างเครื่อง Instance สำหรับใช้เป็น Node ของ Kubernetes

1.1.สเปคแนะนำของ Instance สำหรับใช้งานทั่วไป

  • OS : Ubuntu 18.04
  • Package C หรือ E ตามความต้องการของ application
  • Networks Private : Enable
  • External IP : Yes

 โดยสร้างเครื่องทั้งหมด 5 เครื่องได้แก่

  • k8s-master-1
  • k8s-master-2
  • k8s-master-3
  • k8s-worker-1
  • k8s-worker-2

1.2.สเปคแนะนำของ Instance สำหรับการสร้างแบบ All in one 

  • OS : Ubuntu 18.04
  • Package C หรือ E ตามความต้องการของ Application
  • Networks Private : Enable
  • External IP : Yes

โดยสร้างเครื่องทั้งหมด 3 เครื่องได้แก่

  • k8s-node-1
  • k8s-node-2
  • k8s-node-3

*** Cluster all in one  เป็น Cluster ที่เหมาะสำหรับทดสอบการทำงานของ App ต่างๆ ไม่แนะนำให้ใช้งานกับโปรดักส์ชันจริง

2.เมื่อทำการสร้าง Instance แล้วให้ทำการติดตั้ง Docker ลงใน Node ของ Kubernetes ทุกเครื่องที่เราได้ทำการสร้างไว้โดยใช้คำสั่ง

2.1.คำสั่ง update

# apt-get update

2.2.คำสั่ง upgrade

# apt-get upgrade -y

2.3.คำสั่ง install docker

# curl https://releases.rancher.com/install-docker/19.03.sh | sh

# usermod -aG docker root


วิธีการกำหนด Role และเชื่อมต่อแต่ละ Node ของ Kubernetes เข้าไปยัง Cluster

ขั้นตอนต่อมาหลังจากสร้าง Instance กำหนด Role สำหรับใช้เป็น Node ของ Kubernetes เรียบร้อยแล้วให้ทำการกำหนด Role และเชื่อมต่อแต่ละ Node ของ Kubernetes เข้าไปยัง Cluster ที่เราสร้างไว้ โดยมีรายละเอียดวิธีการดังนี้

1.อันดับแรกให้ทำการกำหนด Role ให้กัตบ Instance แต่ละตัวโดยมีรายละเอียดดังนี้

1.1.Instance สำหรับ k8s-master จะต้องเลือก Role ดังนี้

  • etcd
  • Control Plane

ทำเครื่องหมายถูกเรียบร้อยแล้ว ให้ทำการ Copy คำสั่ง Docker เพื่อทำการ Run บนเครื่อง k8s-master ทุกเครื่อง

Copy คำสั่ง Docker

6.2.Instance สำหรับ k8s-worker จะต้องเลือก Role ดังนี้

  • Worker

เทำเครื่องหมายถูกเรียบร้อยแล้ว ให้ทำการ Copy คำสั่ง Docker ทำการ run เพื่อทำการ Run บนเครื่อง k8s-worker ทุกเครื่อง

k8s-worker

หากเป็นเครื่อง All in one ให้ทำการทำเครื่องหมายถูกทั้งหมด และทำการ Run Docker ที่ k8s-node ทุกเครื่อง

Run Docker

หลังจากนั้นเข้าไปยัง Cluster แล้วเข้าที่ Node จะเห็นว่าระบบกำลังลง Kubernetes ให้อยู่

Kubernetes

จบการศึกษาจากคณะเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยพะเยา

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>
*
*