Table of Content
การสร้าง Harbor ผ่าน Priviledge-Pod
ทดลองใช้งาน Harbor โดยการ Download Image และ Import เข้า Image Repository
ตรวจสอบการเรียกใช้งาน Service ที่สร้าง
การ Deploy SKE
Download Image : https://community.sangfor.com/plugin.php?id=service:download&action=view&fid=47#/56/all
1. เตรียม SCP และ HCI ให้เรียบร้อย โดยแนะนำให้เป็น Cluster 3 Node ขึ้นไป
2. ติดตั้ง SP Patch บน SCP ให้เรียบร้อย รวมถึง SP Patch เพื่อลง SKE
3. ไปที่ SCP > Images > Advanced Service Images > กด Upload > เลือก Sangfor Kubernetes Engine Image
- หาก import ไม่ได้ให้ตรวจสอบว่า Import ไฟล์ถูกต้องหรือไม่
และ Cluster ได้ทำการ Tag Storage แล้วหรือยัง (SCP > Cluster > Edit > Tag Storage > Performance Sensitive)
4. สร้าง Virtual Router ขึ้นมา 1 ตัวโดยให้ตั้ง IP Gateway สำหรับ Internal Communication ของ SKE ไว้
5.ไปที่ SCP > System > Services > Advanced Services > กด Enable Public Module ก่อน
6. ไปที่ SCP > Compute > Kubernetes Engine
- กด Activate Now > เลือก Resource Pool , Spec SKE, Management Interface (วง SCP,HCI), และ Internal Communication (ใช้วงที่สร้างในข้อก่อนหน้า)
* ให้ตรวจสอบว่ากรอก IP ที่ถูกต้องและสามารถเชื่อมต่อได้จริง
- รอระบบ Initialize ดู Progress ที่ SCP Task ด้านขวาล่าง
- บน HCI จะพบ VM ที่สร้างขึ้นมาใหม่สำหรับ SKE
- ตัว SKE จะสร้าง vSwitch และ vRouter มาเพิ่มเพื่อเชื่อมกับ Internal Switch/Router ที่สร้างไว้ก่อนหน้า
7. ไปที่ SCP > System > Licensing > Service License > กด New > เลือก Kubernetes Engine
- กรอก IP Management SKE และ vCPU ที่ต้องการให้
- ตรวจสอบที่ Platform License ว่ามี license SKE บน SCP แล้ว
- vCPUs ให้กรอกตามจำนวน License SKE ที่ บน SCP (เพื่อให้ controller+worker ใช้ - ไม่ใช่ตาม CPU socket)
- หากไม่สามารถ assign license ได้ให้ตรวจสอบว่า IP SKE Management เรียกได้จาก SCP แล้วหรือไม่
- ตรวจสอบที่ Platform License ว่ามี license SKE บน SCP แล้ว
การสร้าง Kubernetes Cluster
1. ไปที่ Image เพื่อ upload ไฟล์ K8s Cluster Image
- ตรวจสอบว่า Image ปกติ เป็น Normal
2. เข้าไปที่หน้า SKE > Kubernates Engine
- ไปที่ Settings > Kubernetes Packages > Upload Packages
- เลือก Package "K8S Software Package for v1.26.11. Recommended version." จาก Community เพื่อ Upload
3. ทำการสร้าง Cluster Kubernetes
- กรอกชื่อ Cluster, Kubernetes Version, Cluster VIP (ใช้วง Internal Communication)
- ระบบจะใช้ IP วง Internal นี้ใช้เรียก Service หรือ เชื่อมกับ Storage ต่อไป (ตามการตั้งค่าว่า Multiplexing หรือ Isolation)
- Business หมายถึงเชื่อมไปที่ Storage ISCSI aSAN
- หากพบ Deployment Fail ให้ตรวจสอบสาเหตุโดยการเอาเม้าส์จ่อ
- สามารถเพิ่ม/ลด worker node ได้ภายหลัง
4. เตรียม Storage aSAN เพื่อใช้เป็น Storage ให้ SKE
- ไปที่ Nodes > Communication Interfaces > External Storage Network Interface > กด Add Access Interfaces > เลือก Interface ที่ต้องการใช้เพื่อให้ Worker เชื่อมมาที่ ISCSI IP ได้ เช่น ใช้ Management หรือ Edge
- ไปที่ HCI > Storage > Virtual Storage > ISCSI Services > กด New และสร้าง Interface สำหรับใช้ Share Storage จาก aSAN ขึ้นมาให้ Kubernetes ใช้งานเป็น Storage Class ใน SCP/SKE
- โดยจะต้องสร้าง IP Pool ให้เท่า หรือมากกว่า จำนวนของ HCI Node
- ตั้ง CHAP Username/Password
- สร้าง ISCSI Services
- ไปที่ SCP > System > Services > Block Storage > กด Activate Service
- ตรวจสอบที่ SCP > Networking > Shared Service Network จะพบ รายการใหม่สำหรับใช้ทำ Block Storage ให้ SKE พร้อม IP ที่ตั้งไว้
5. ทำการ Create Storage Class (SC)
- ไปที่ SKE > Storage > Storage Classes > กด New > สร้าง Storage Class และเลือก aSAN และ Storage Label (หากเลือก Storage Label ไม่ได้ให้ตรวจสอบว่าทำข้อที่ 4 แล้วหรือไม่ โดยจะsupport กรณีที่ HCI 3 Node ขึ้นไป เท่านั้น)
6. สร้าง Namespace ใหม่ (ถ้าต้องการ)
7. สร้าง workload
-
ตรวจสอบผลการสร้าง Workload
- จะพบ workload ถูกสร้างสำเร็จ
- ทั้งหมดนี้จะต้องเข้าด้วย IP VIP (ตัวอย่างเป็น 198.18.10.20) ตามด้วย port ที่เขียนไว้ตรง External Access เนื่องจากเลือกไว้เป็นแบบ NodePort
- จะมี pod nginx 1 รายการ และมี helloworld-server 3 รายการ
ตรวจสอบการเรียกใช้งาน Service ที่สร้าง
- ทดสอบเข้าด้วย http://IP_VIP:xxxxx ของ workload ที่จะ map ไปที่ 80 ใน service ภายใน
- สำหรับ Service helloworld-server จะมีการแย่งเป็น 3 pod (ดูจาก 5 ตัวท้าย) ทำให้เมื่อเข้าจาก http://IP_VIP:xxxxx ของ workload จะถูกแจกจ่ายไปยัง pod ต่างๆ
คำแนะนำอื่นๆ
- การสร้าง workload ไม่จำเป็นต้องนำ image มาฝากไว้ที่ Harbor ก่อนเสมอไป สามารถเรียกตรงได้ หาก cluster k8s สามารถออกinternet ได้
- หากไม่สามารถสร้าง SC ได้ สามารถใช้ disk จาก local แทนได้ (กำหนดในไฟล์ .yaml) โดยไม่ต้องสร้างเป็น PVC เพื่อเรียก PV
- กรณีต้องการเรียก resource ด้วย IP อื่นๆ นอกจาก IP Cluster ให้ทำการสร้าง Loadbalance ขึ้นมาเพื่อถือ IP และทำการ forward port เข้าไปยังใน cluster k8s ต่อไป
- PVC จะเป็น LUN ใน aSAN
ข้อคิดเห็น
0 ข้อคิดเห็น
โปรด ลงชื่อเข้าใช้ เพื่อแสดงข้อคิดเห็น