Harbor คืออะไร และวิธีติดตั้งบน Cloud Server
Harbor คือ Registry สำหรับเก็บอิมเมจคอนเทนเนอร์ภายในองค์กร พร้อมความสามารถที่ระบบงานจริงต้องมี ทั้งการสแกนช่องโหว่ การควบคุมสิทธิ์ และการทำสำเนาข้ามไซต์
- หมวดหมู่
- DevOps และ CI/CD
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 4 GB
- ไลเซนส์
- Apache License 2.0 (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Harbor คืออะไร
ทีมที่ใช้คอนเทนเนอร์ต้องมีที่เก็บอิมเมจ ตัวเลือกฟรีที่ง่ายที่สุดคือ Registry พื้นฐานซึ่งเก็บได้อย่างเดียว ไม่มีการควบคุมสิทธิ์ ไม่มีการสแกน และไม่มีหน้าจอ Harbor เติมส่วนที่ขาดเหล่านี้ให้ครบ
ความสามารถที่องค์กรใช้มากที่สุดคือการสแกนช่องโหว่ของอิมเมจอัตโนมัติหลังอัปโหลด และการตั้งกฎบล็อกไม่ให้ดึงอิมเมจที่มีช่องโหว่ระดับร้ายแรงไปใช้งานจริง
นอกจากนี้ยังทำสำเนาอิมเมจไปยัง Registry อีกแห่งได้ ซึ่งใช้ทั้งกรณีมีหลายศูนย์ข้อมูลและกรณีต้องส่งอิมเมจเข้าเครือข่ายปิดที่ไม่มีอินเทอร์เน็ต
ความสามารถเด่นของ Harbor
สแกนช่องโหว่อัตโนมัติ
ตรวจอิมเมจหลังอัปโหลดและแสดงรายการช่องโหว่ที่พบ
บล็อกอิมเมจที่ไม่ผ่านเกณฑ์
ตั้งกฎไม่ให้ดึงอิมเมจที่มีช่องโหว่ร้ายแรงไปใช้งานจริง
ควบคุมสิทธิ์ตามโครงการ
แยกพื้นที่ต่อทีมและกำหนดว่าใครอ่านหรือเผยแพร่ได้
ทำสำเนาข้ามไซต์
ซิงก์อิมเมจไปยัง Registry อีกแห่งตามกฎที่กำหนด
ลงลายเซ็นอิมเมจ
ยืนยันได้ว่าอิมเมจที่นำไปรันมาจากแหล่งที่เชื่อถือได้จริง
ใช้ Harbor ทำอะไรได้บ้าง
- องค์กรที่ใช้ Kubernetes และต้องการ Registry ของตัวเอง
- ทีมที่ต้องแสดงหลักฐานการสแกนช่องโหว่ของอิมเมจต่อผู้ตรวจสอบ
- ระบบที่ต้องส่งอิมเมจเข้าเครือข่ายปิดที่ไม่ต่ออินเทอร์เน็ต
- องค์กรที่มีหลายศูนย์ข้อมูลและต้องซิงก์อิมเมจระหว่างกัน
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| ขั้นต่ำทีมเล็กที่เก็บอิมเมจไม่มาก | 2 vCPU | 4 GB | NVMe 100 GB |
| แนะนำองค์กรที่บิลด์อิมเมจทุกวันและเปิดการสแกน | 4 vCPU | 8 GB | NVMe 500 GB |
| ใช้งานหนักหลายทีมและเก็บหลายเวอร์ชันย้อนหลัง | 8 vCPU ขึ้นไป | 16 GB ขึ้นไป | NVMe 1 TB ขึ้นไป หรือ Object Storage |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Harbor บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Docker และ Docker Compose
- โดเมนและใบรับรอง SSL เพราะไคลเอนต์ต้องใช้ HTTPS
- ดิสก์ขนาดใหญ่หรือเชื่อมกับ Object Storage
ทดสอบบน Ubuntu Server 24.04 LTS ที่ติดตั้ง Docker แล้ว
- 1
ดาวน์โหลดชุดติดตั้ง
ตรวจเลขเวอร์ชันล่าสุดจากหน้าเผยแพร่ของโครงการก่อนดาวน์โหลด
curl -LO https://github.com/goharbor/harbor/releases/download/v2.11.0/harbor-online-installer-v2.11.0.tgz tar xzf harbor-online-installer-v2.11.0.tgz cd harbor - 2
แก้ไฟล์ตั้งค่า
cp harbor.yml.tmpl harbor.yml # แก้ค่าเหล่านี้ใน harbor.yml hostname: registry.example.com https: certificate: /etc/letsencrypt/live/registry.example.com/fullchain.pem private_key: /etc/letsencrypt/live/registry.example.com/privkey.pem harbor_admin_password: ChangeThisStrongPassword - 3
ติดตั้งพร้อมเปิดการสแกนช่องโหว่
sudo ./install.sh --with-trivy - 4
สร้างโครงการและผู้ใช้
สร้างโครงการแยกต่อทีม กำหนดว่าเป็นแบบสาธารณะหรือส่วนตัว แล้วสร้างบัญชีสำหรับให้ CI ใช้เผยแพร่อิมเมจ
- 5
ตั้งค่าฝั่งไคลเอนต์และ Kubernetes
docker login registry.example.com docker tag my-app:1.0 registry.example.com/team-a/my-app:1.0 docker push registry.example.com/team-a/my-app:1.0 kubectl create secret docker-registry harbor-cred \ --docker-server=registry.example.com \ --docker-username=ci-user \ --docker-password=CHANGE_ME - 6
ตั้งกฎลบอิมเมจเก่าและกฎความปลอดภัย
ตั้งกฎเก็บเฉพาะไม่กี่เวอร์ชันล่าสุดต่อโครงการ และตั้งให้บล็อกการดึงอิมเมจที่มีช่องโหว่ระดับร้ายแรง
ต้องใช้ HTTPS ที่ใบรับรองถูกต้องเสมอ เพราะไคลเอนต์คอนเทนเนอร์ปฏิเสธการเชื่อมต่อที่ไม่ปลอดภัยตามค่าเริ่มต้น
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | HTTPS สำหรับ Registry และหน้าจอ |
| 80 | TCP | HTTP และการต่ออายุใบรับรอง |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- เปลี่ยนรหัสผ่านผู้ดูแลระบบและปิดการสมัครสมาชิกเอง
- สร้างบัญชีแยกสำหรับ CI พร้อมสิทธิ์เท่าที่จำเป็น
- เปิดการสแกนอัตโนมัติและตั้งกฎบล็อกอิมเมจที่มีช่องโหว่ร้ายแรง
- ตั้งกฎลบอิมเมจเก่าเพื่อไม่ให้ดิสก์เต็ม
- สำรองฐานข้อมูลและข้อมูลอิมเมจตามรอบ
ทำไมควรรัน Harbor บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
อยู่ในวง Private Network เดียวกับคลัสเตอร์ Kubernetes ทำให้ดึงอิมเมจเร็วมากตอนขยายระบบ
เก็บชั้นข้อมูลของอิมเมจไว้บน Object Storage ในไทยเพื่อคุมค่าใช้จ่ายดิสก์
อิมเมจขององค์กรไม่ต้องฝากไว้บนบริการต่างประเทศ
คำถามที่พบบ่อยเกี่ยวกับ Harbor
Harbor ต่างจาก Registry พื้นฐานอย่างไร
Registry พื้นฐานเก็บอิมเมจได้อย่างเดียว ไม่มีหน้าจอ ไม่มีการควบคุมสิทธิ์ และไม่มีการสแกน ส่วน Harbor เพิ่มทั้งสามส่วนนี้พร้อมการทำสำเนาข้ามไซต์ จึงเหมาะกับการใช้งานในองค์กรจริง
จำเป็นต้องมี Registry ของตัวเองไหม
จำเป็นเมื่อองค์กรบิลด์อิมเมจของตัวเองและไม่ต้องการฝากโค้ดที่คอมไพล์แล้วไว้ภายนอก อีกทั้งการดึงอิมเมจจากในวงเดียวกันเร็วกว่ามากเมื่อต้องขยายระบบหลายเครื่องพร้อมกัน
ใช้ดิสก์เท่าไหร่
อิมเมจสะสมเร็วมากโดยเฉพาะเมื่อบิลด์ทุกครั้งที่มีโค้ดใหม่ ควรเริ่มที่ 500 GB สำหรับองค์กรขนาดกลางและตั้งกฎเก็บเฉพาะไม่กี่เวอร์ชันล่าสุดตั้งแต่ต้น
ทางเลือกอื่นที่คล้ายกับ Harbor
แอปอื่นในหมวด DevOps และ CI/CD
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Harbor ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด