Harbor Registry đĸ â
āĻāύā§āĻāĻžāϰāĻĒā§āϰāĻžāĻāĻ āϞā§āĻā§āϞ⧠āĻĄāĻāĻžāϰ āĻāĻŽā§āĻ āĻŽā§āϝāĻžāύā§āĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŦāϰā§āϤāĻŽāĻžāύ⧠āϏāĻŦāĻā§ā§ā§ āĻāύāĻĒā§āϰāĻŋā§ āĻāĻĒā§āύ āϏā§āϰā§āϏ āϏāϞāĻŋāĻāĻļāύ āĻšāϞ⧠HarborāĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻā§āϞāĻžāĻāĻĄ āύā§āĻāĻŋāĻ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋ āĻĒā§āϰāĻā§āĻā§āĻ āϝāĻž āĻāĻŽā§āĻ āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āĻāĻŦāĻ āĻŽā§āϝāĻžāύā§āĻāĻŽā§āύā§āĻāĻā§ āĻāĻ āϧāĻžāĻĒ āĻāĻāĻŋā§ā§ āύāĻŋā§ā§ āϝāĻžā§āĨ¤
ā§§. Harbor āĻāĻŋ? â
Harbor āĻšāϞ⧠āĻāĻāĻāĻŋ āĻāĻĒā§āύ-āϏā§āϰā§āϏ āĻā§āϰāĻžāϏā§āĻā§āĻĄ āĻā§āϞāĻžāĻāĻĄ āύā§āĻāĻŋāĻ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋ āϝāĻž āĻĄāĻāĻžāϰ āĻāĻŽā§āĻ āĻāĻŦāĻ āĻšā§āϞāĻŽ āĻāĻžāϰā§āĻ (Helm Charts) āϏā§āĻā§āϰ āĻāϰā§āĨ¤ āĻāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻŽā§āĻ āĻāĻŽāĻž āϰāĻžāĻā§ āύāĻž, āĻŦāϰāĻ āĻāĻŽā§āĻā§āϰ āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž āĻāĻŦāĻ āĻĒāĻžāϰāĻŽāĻŋāĻļāύ āĻŽā§āϝāĻžāύā§āĻāĻŽā§āύā§āĻāĻ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§āĨ¤
⧍. āĻā§āύ Harbor āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŦā§āύ? (Key Features) â
Harbor-āĻ āĻāĻŽāύ āĻāĻŋāĻā§ āĻ
ā§āϝāĻžāĻĄāĻāĻžāύā§āϏāĻĄ āĻĢāĻŋāĻāĻžāϰ āĻāĻā§ āϝāĻž āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āĻĄāĻāĻžāϰ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋāϤ⧠(registry:2) āĻĨāĻžāĻā§ āύāĻž:
- Web User Interface (UI): āĻāĻāĻŋ-āĻā§-āĻāĻāĻ āĻā§āϰāĻžāĻĢāĻŋāĻā§āϝāĻžāϞ āĻāύā§āĻāĻžāϰāĻĢā§āϏ āϝāĻžāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻŦā§āϰāĻžāĻāĻāĻžāϰ āĻĨā§āĻā§āĻ āĻāĻŽā§āĻ āĻāĻŦāĻ āĻĒā§āϰā§āĻā§āĻā§āĻ āĻŽā§āϝāĻžāύā§āĻ āĻāϰāĻž āϝāĻžā§āĨ¤
- Vulnerability Scanning: āĻāĻāĻŋ āĻ āĻā§āĻŽā§āĻāĻŋāĻāĻžāϞāĻŋ āĻāĻŽā§āĻā§āϰ āĻā§āϤāϰ āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āĻŦāĻžāĻ āĻŦāĻž CVE āϏā§āĻā§āϝāĻžāύ āĻāϰ⧠(Trivy āĻāĻā§āĻāĻŋāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§)āĨ¤
- RBAC (Role-Based Access Control): āĻāĻĒāύāĻŋ āĻāύā§āĻā§āϰā§āϞ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āĻā§āύ āĻāĻāĻāĻžāϰ āĻā§āύ āĻāĻŽā§āĻā§ āĻĒā§āĻļ āĻŦāĻž āĻĒā§āϞ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āĨ¤
- Content Signing (Notary): āĻāĻŽā§āĻā§āϰ āĻ āϰāĻŋāĻāĻŋāύāĻžāϞāϤāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāϤ⧠āĻĄāĻŋāĻāĻŋāĻāĻžāϞāϞāĻŋ āϏāĻžāĻāύ āĻāϰāĻž āϝāĻžā§āĨ¤
- Replication: āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāĻŽā§āĻ āĻāĻ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋ āĻĨā§āĻā§ āĻ āύā§āϝ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋāϤ⧠āĻ āĻā§āĻŽā§āĻāĻŋāĻ āĻāĻĒāĻŋ āĻāϰāĻž āϝāĻžā§āĨ¤
ā§Š. āĻĒā§āϰā§āĻā§āĻā§āĻ āĻāĻŦāĻ āĻŽāĻžāϞā§āĻāĻŋ-āĻā§āύā§āϝāĻžāύā§āϏāĻŋ (Multi-tenancy) â
Harbor-āĻ āĻāĻŽā§āĻāĻā§āϞā§āĻā§ āĻŦāĻŋāĻāĻŋāύā§āύ Project-āĻāϰ āĻāύā§āĻĄāĻžāϰ⧠āϰāĻžāĻāĻž āĻšā§āĨ¤ āĻāϰ āĻĢāϞ⧠āĻāĻāĻ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻŋāĻŽā§āϰ āĻāĻŽā§āĻ āĻāϞāĻžāĻĻāĻž āĻāϞāĻžāĻĻāĻž āĻāĻāϏā§āϞā§āĻā§āĻĄ āĻ āĻŦāϏā§āĻĨāĻžā§ āϰāĻžāĻāĻž āϏāĻŽā§āĻāĻŦāĨ¤
- Public Projects: āϝ⧠āĻā§āĻ āĻāĻŽā§āĻ āĻĒā§āϞ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
- Private Projects: āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻ āύā§āĻŽā§āĻĻāĻŋāϤ āĻāĻāĻāĻžāϰāϰāĻžāĻ āĻāĻāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
ā§Ē. āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āĻāĻŦāĻ āĻ āĻĄāĻŋāĻ (Security & Audit) â
- CVE Detection: āĻāĻŽā§āĻ āĻĒā§āĻļ āĻāϰāĻžāϰ āϏāĻžāĻĨā§ āϏāĻžāĻĨā§āĻ Harbor āϏā§āĻāĻŋāĻā§ āϏā§āĻā§āϝāĻžāύ āĻāϰ⧠āĻāĻāĻāĻŋ āϰāĻŋāĻĒā§āϰā§āĻ āĻĻā§ā§āĨ¤ āĻā§āύ⧠āĻāĻŽā§āĻā§ āϝāĻĻāĻŋ "Critical" āϰāĻŋāϏā§āĻ āĻĨāĻžāĻā§, āϤāĻŦā§ āϏā§āĻāĻŋ āĻĒā§āϞ āĻāϰāĻž āĻŦā§āϞāĻ āĻāϰ⧠āĻĻā§āĻā§āĻž āϝāĻžā§āĨ¤
- Audit Logs: āĻā§ āĻāĻāύ āĻā§āύ āĻāĻŽā§āĻā§ āĻāĻā§āϏā§āϏ āĻāϰā§āĻā§ āϤāĻžāϰ āĻĒā§āϰā§āĻŖāĻžāĻā§āĻ āϞāĻ Harbor-āĻ āĻāĻŽāĻž āĻĨāĻžāĻā§āĨ¤
ā§Ģ. āĻšāĻžāϰāĻŦāĻžāϰ āĻāύā§āϏāĻāϞā§āĻļāύ (Installation) â
Harbor āϏāĻžāϧāĻžāϰāĻŖāϤ Docker Compose āĻŦāĻž Kubernetes (Helm) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāύā§āϏāĻāϞ āĻāϰāĻž āĻšā§āĨ¤ āĻāĻāĻŋ āĻāύā§āϏāĻāϞ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĒā§āϰāĻŋ-āϰā§āĻā§āĻāĻāĻŋāĻ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĢāĻžāĻāϞ (harbor.yml) āĻĨāĻžāĻā§āĨ¤
ā§Ŧ. āĻāĻŽā§āĻ āĻĒā§āĻļ āĻāϰāĻž (Pushing Image) â
Harbor-āĻ āĻāĻŽā§āĻ āĻĒā§āĻļ āĻāϰāĻžāϰ āĻĒāĻĻā§āϧāϤāĻŋ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āĻĄāĻāĻžāϰ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋāϰ āĻŽāϤā§āĻ:
# ā§§. āϞāĻāĻāύ āĻāϰāĻž
docker login harbor.example.com
# ⧍. āĻāĻŽā§āĻ āĻā§āϝāĻžāĻ āĻāϰāĻž
docker tag my-app:v1 harbor.example.com/my-project/my-app:v1
# ā§Š. āĻĒā§āĻļ āĻāϰāĻž
docker push harbor.example.com/my-project/my-app:v1āϏāĻžāϰāϏāĻāĻā§āώā§āĻĒ (Summary) â
āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ āĻ āĻĢāĻŋāϏ āĻŦāĻž āĻĒā§āϰā§āĻā§āĻā§āĻā§ āĻ āύā§āĻ āĻŦā§āĻļāĻŋ āĻĄāĻāĻžāϰ āĻāĻŽā§āĻ āĻāĻŦāĻ āĻŽāĻžāϞā§āĻāĻŋ-āĻāĻŋāĻŽ āĻā§āϞāĻžāĻŦāϰā§āĻļāύ āĻĒā§āϰā§ā§āĻāύ āĻšā§, āϤāĻŦā§ Harbor āĻšāϞ⧠āĻāĻ āĻāĻĨāĻžā§ āϏā§āϰāĻž āϏāϞāĻŋāĻāĻļāύāĨ¤ āĻāĻāĻŋ āĻāĻĒāύāĻžāϰ āĻāĻŽā§āĻ āϏā§āĻā§āϰā§āĻāĻā§ āϝā§āĻŽāύ āϏāĻŋāĻāĻŋāĻāϰ āĻāϰā§, āϤā§āĻŽāύāĻŋ āĻŽā§āϝāĻžāύā§āĻāĻŽā§āύā§āĻāĻā§ āĻāϰ⧠āϤā§āϞ⧠āĻ āϤā§āϝāύā§āϤ āϏāĻšāĻāĨ¤
TIP
āĻĒā§āϰā§āĻĄāĻžāĻāĻļāύ āĻā§āϞāĻžāϏā§āĻāĻžāϰ (āϝā§āĻŽāύ: Kubernetes) āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āϏāĻŽā§ Harbor-āĻā§ āĻāĻŽā§āĻ āϏā§āĻā§āϰ āĻšāĻŋāϏā§āĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻāĻāĻāĻŋ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āĻĒā§āϰā§āϝāĻžāĻāĻāĻŋāϏāĨ¤