Harbor Container Registry Kurulumu ve Güvenliği
Harbor Container Registry Kurulumu ve Güvenliği
Son Güncelleme: Temmuz 2026
Harbor Container Registry, Docker ve OCI uyumlu imajları güvenli şekilde saklamak, taramak ve dağıtmak için kullanılan kurumsal bir özel kayıt deposudur. Özellikle VPS, VDS, bulut sunucu ve kiralık sunucu altyapılarında uygulama dağıtımlarını standartlaştırmak isteyen ekipler için merkezi, erişilebilir ve denetlenebilir bir yapı sunar.
Bu rehberde Harbor mimarisini, kurulum öncesi gereksinimleri, Docker Compose ile temel kurulumu, TLS yapılandırmasını, kullanıcı yetkilendirmesini, güvenlik taramalarını, yedekleme stratejisini ve pratik kullanım senaryolarını adım adım inceleyeceğiz.
İçindekiler
- Harbor Nedir?
- Neden Özel Container Registry Kullanılır?
- Harbor Mimarisi ve Temel Bileşenler
- Kurulum Öncesi Gereksinimler
- Docker Compose ile Harbor Kurulumu
- TLS ve Alan Adı Yapılandırması
- Proje, Kullanıcı ve Yetki Yönetimi
- İmaj Yükleme ve Çekme İşlemleri
- Güvenlik Tarama ve Politikalar
- Yedekleme, İzleme ve Bakım
- Performans ve Ölçeklendirme İpuçları
- Sıkça Sorulan Sorular
- Sonuç
Harbor Nedir?
Harbor, konteyner imajlarını saklamak, yönetmek, imzalamak, güvenlik açıklarına karşı taramak ve erişim yetkileriyle kontrol etmek için kullanılan açık kaynaklı bir container registry çözümüdür. Container registry, Türkçe karşılığıyla konteyner kayıt deposu, Docker veya OCI imajlarının merkezi olarak tutulduğu sistemdir.
Basit bir Docker Registry yalnızca imaj saklama ve indirme işlemlerini yerine getirirken Harbor; kullanıcı yönetimi, proje bazlı yetkilendirme, robot hesapları, imaj yaşam döngüsü, güvenlik taraması, çoğaltma politikaları ve web arayüzü gibi kurumsal özellikler sunar. Bu nedenle Harbor, sadece geliştiriciler için değil, DevOps ekipleri, sistem yöneticileri ve güvenlik ekipleri için de önemli bir altyapı bileşenidir.
Örneğin bir yazılım ekibi, geliştirme ortamında oluşturduğu imajları Harbor’a yükleyebilir. Test ortamı bu imajları Harbor’dan çekerek çalıştırabilir. Üretim ortamı ise yalnızca güvenlik taramasından geçmiş ve belirli etiketlerle onaylanmış imajları kullanacak şekilde yapılandırılabilir. Böylece uygulama dağıtım süreci daha kontrollü, izlenebilir ve tekrarlanabilir hale gelir.
Neden Özel Container Registry Kullanılır?
Genel erişime açık kayıt depoları küçük projeler için yeterli olabilir. Ancak şirket içi uygulamalar, müşteriye özel yazılımlar, ticari ürünler veya hassas yapılandırmalar içeren imajlar için özel container registry kullanmak daha güvenli ve yönetilebilir bir yaklaşımdır.
- Gizlilik: Uygulama kodu, bağımlılıklar ve yapılandırma katmanları şirket içinde kalır.
- Erişim kontrolü: Hangi kullanıcının hangi projeye imaj yükleyebileceği veya indirebileceği belirlenir.
- Hız: Aynı veri merkezinde veya aynı bölgede çalışan sunucular imajları daha düşük gecikmeyle çekebilir.
- Süreklilik: Harici servislerde yaşanabilecek kota, erişim veya kesinti sorunlarından daha az etkilenirsiniz.
- Uyumluluk: Kurumsal denetim, loglama ve güvenlik politikaları merkezi olarak uygulanabilir.
- Standart dağıtım: Geliştirme, test ve üretim ortamlarında aynı imajların kullanılması sağlanır.
Özel kayıt deposu özellikle mikroservis mimarisi, CI/CD süreçleri, Kubernetes kümeleri, Docker Compose tabanlı uygulamalar ve çok sunuculu dağıtımlar için büyük avantaj sağlar. Corelux altyapısında Sanal Sunucu, Kiralık Sunucu veya Bulut Sunucu üzerinde Harbor konumlandırarak kendi güvenli imaj deponuzu oluşturabilirsiniz.
Harbor Mimarisi ve Temel Bileşenler
Harbor, tek bir servis gibi görünse de arka planda birden fazla bileşenin birlikte çalışmasıyla görev yapar. Bu mimari, güvenlik taraması, web arayüzü, kayıt işlemi ve görev yönetimi gibi işlevleri ayrı katmanlarda yürütür.
Temel Bileşenler
- Core: Harbor’un ana iş mantığını yöneten bileşendir. Proje, kullanıcı, yetki ve API işlemlerinden sorumludur.
- Registry: İmaj katmanlarını ve manifest dosyalarını saklayan kayıt deposudur.
- Portal: Web arayüzünü sağlayan bileşendir. Yönetim işlemleri bu panel üzerinden yapılabilir.
- Database: Kullanıcılar, projeler, politikalar ve sistem ayarları gibi metaverileri saklar.
- Redis: Oturum, görev kuyruğu ve geçici veri işlemlerinde kullanılan bellek içi veri deposudur.
- Jobservice: Replikasyon, temizlik, imaj tarama ve zamanlanmış görevleri çalıştırır.
- Trivy: İmajları güvenlik açıklarına karşı tarayan güvenlik tarama motorudur.
- Proxy: Genellikle Nginx tabanlıdır ve Harbor servislerine gelen trafiği yönlendirir.
Harbor ile Standart Docker Registry Karşılaştırması
| Özellik | Standart Docker Registry | Harbor |
|---|---|---|
| Kullanıcı Arayüzü | Varsayılan olarak sınırlı veya yoktur | Gelişmiş web paneli sunar |
| Yetkilendirme | Temel kimlik doğrulama ile sınırlıdır | Proje, rol ve robot hesabı bazlı yönetim sağlar |
| Güvenlik Taraması | Harici araç gerektirir | Trivy entegrasyonu ile tarama yapabilir |
| İmaj Yaşam Döngüsü | Manuel temizlik gerekir | Retention policy ile otomatik temizlik yapılabilir |
| Kurumsal Kullanım | Basit senaryolara uygundur | Takım, proje ve üretim süreçlerine uygundur |
Kurulum Öncesi Gereksinimler
Harbor kurulumu için öncelikle uygun kaynaklara sahip bir Linux sunucu gereklidir. Küçük ekipler için düşük kaynaklarla başlanabilir; ancak imaj sayısı, proje sayısı ve eş zamanlı indirme işlemleri arttıkça CPU, RAM ve disk kapasitesi doğru planlanmalıdır.
Önerilen Sunucu Kaynakları
| Kullanım Seviyesi | CPU | RAM | Disk | Uygun Senaryo |
|---|---|---|---|---|
| Başlangıç | 2 vCPU | 4 GB | 80 GB SSD | Küçük geliştirme ekipleri |
| Orta Ölçek | 4 vCPU | 8 GB | 200 GB SSD veya NVMe | CI/CD ve test ortamları |
| Üretim | 8 vCPU ve üzeri | 16 GB ve üzeri | NVMe veya yedekli depolama | Çoklu ekip ve yoğun dağıtım |
Yazılım Gereksinimleri
- Linux işletim sistemi: Ubuntu, Debian veya benzeri güncel bir dağıtım tercih edilebilir.
- Docker Engine: Harbor servisleri konteyner olarak çalışacağı için Docker gereklidir.
- Docker Compose: Çoklu servislerin birlikte yönetilmesi için kullanılır.
- Alan adı: Örneğin
registry.example.comgibi ayrı bir alt alan adı önerilir. - SSL sertifikası: Registry trafiğinin şifrelenmesi için TLS zorunlu kabul edilmelidir.
- Yedekleme alanı: Veritabanı ve imaj katmanlarının düzenli yedeklenmesi için ayrı bir hedef gereklidir.
Üretim ortamında Harbor’u mümkünse uygulama sunucularından ayrı bir makinede çalıştırmak daha sağlıklıdır. Bu sayede imaj depolama trafiği, uygulama işlem yüküyle karışmaz. Türkiye lokasyonlu düşük gecikmeli bir yapı için Türkiye VDS Sunucu, Avrupa merkezli dağıtımlar için ise Almanya VDS Sunucu değerlendirilebilir.
Docker Compose ile Harbor Kurulumu
Harbor kurulumunda en yaygın yöntem resmi çevrimdışı veya çevrimiçi kurulum paketini kullanmaktır. Aşağıdaki örnekler genel kurulum mantığını göstermek içindir. Komutları çalıştırmadan önce sunucunuzun güncel olduğundan, Docker servisinin aktif çalıştığından ve yeterli disk alanı bulunduğundan emin olun.
Sistem Paketlerini Güncelleme
apt update
apt upgrade -y
Docker ve Docker Compose Kontrolü
docker --version
docker compose version
Eğer Docker kurulu değilse önce Docker Engine ve Docker Compose bileşenlerini kurmanız gerekir. Kurulum tamamlandıktan sonra servisin çalıştığını doğrulayın:
systemctl status docker
Harbor Kurulum Dosyalarının Hazırlanması
Harbor kurulum dizinini genellikle /opt/harbor altında konumlandırmak yönetimi kolaylaştırır. Kurulum paketini indirdikten sonra arşiv açılır ve yapılandırma dosyası düzenlenir.
mkdir -p /opt/harbor
cd /opt/harbor
Harbor yapılandırmasında temel dosya harbor.yml dosyasıdır. Bu dosyada alan adı, port, sertifika yolları, yönetici parolası, veritabanı parolası, veri dizini ve güvenlik seçenekleri tanımlanır.
cp harbor.yml.tmpl harbor.yml
nano harbor.yml
Örnek Temel Yapılandırma
hostname: registry.example.com
http:
port: 80
https:
port: 443
certificate: /data/cert/registry.example.com.crt
private_key: /data/cert/registry.example.com.key
harbor_admin_password: GucluBirParolaDegistirin
database:
password: GucluVeritabaniParolasi
data_volume: /data
Bu örnekte hostname alanı Harbor’a erişilecek tam alan adını belirtir. data_volume ise imaj katmanlarının, veritabanı verilerinin ve ilgili kalıcı verilerin tutulacağı ana dizindir. Üretim ortamında bu dizinin yeterli kapasiteye ve güvenilir diske sahip olması önemlidir.
Kurulumu Başlatma
./prepare
./install.sh
Kurulum tamamlandığında Harbor servislerini kontrol etmek için aşağıdaki komut kullanılabilir:
docker compose ps
Tüm servislerin running durumunda görünmesi beklenir. Web arayüzüne tarayıcı üzerinden https://registry.example.com adresiyle erişebilirsiniz.
TLS ve Alan Adı Yapılandırması
Container registry trafiği mutlaka TLS yani Taşıma Katmanı Güvenliği ile şifrelenmelidir. Docker istemcileri, varsayılan olarak güvenli olmayan registry kullanımını önermez. Bu nedenle Harbor kurulurken geçerli bir SSL sertifikası kullanmak hem güvenlik hem de operasyonel uyumluluk açısından kritik öneme sahiptir.
DNS Kaydı
Öncelikle registry için ayrı bir alt alan adı oluşturulmalıdır. Örneğin registry.example.com alt alan adı Harbor sunucusunun IP adresine yönlendirilmelidir. DNS yayılımı tamamlandıktan sonra alan adının doğru IP’ye çözümlendiği kontrol edilebilir:
dig registry.example.com +short
SSL Sertifikası Kullanımı
Harbor için ticari SSL sertifikası, kurum içi sertifika otoritesi veya otomatik yenilenebilir sertifika yapısı kullanılabilir. Kritik nokta, Docker istemcilerinin bu sertifikaya güvenmesidir. Sertifika dosyaları genellikle /data/cert dizininde saklanabilir.
mkdir -p /data/cert
cp registry.example.com.crt /data/cert/
cp registry.example.com.key /data/cert/
chmod 600 /data/cert/registry.example.com.key
Eğer SSL sertifikası yönetimini kolaylaştırmak istiyorsanız Corelux SSL Sertifikası hizmetinden yararlanabilirsiniz. Üretim ortamında sertifika süresinin takip edilmesi, yenileme öncesinde test yapılması ve özel anahtar dosyasının yalnızca yetkili kullanıcılar tarafından erişilebilir olması gerekir.
Güvenli Olmayan Registry Kullanımından Kaçınma
Bazı test ortamlarında Docker istemcisine insecure-registries tanımı eklenebilir. Ancak bu yöntem üretim ortamı için önerilmez. Çünkü istemci ile registry arasındaki trafik şifrelenmeden iletilebilir veya araya girme saldırılarına açık hale gelebilir.
Proje, Kullanıcı ve Yetki Yönetimi
Harbor’un en güçlü yönlerinden biri proje bazlı yetkilendirme yapısıdır. Her uygulama, departman veya ortam için ayrı proje oluşturulabilir. Böylece erişim sınırları netleşir ve hata riski azalır.
Proje Yapısı Nasıl Planlanmalı?
- Uygulama bazlı proje: Her uygulama için ayrı proje açılır. Örneğin
crm,erp,api-gateway. - Ortam bazlı proje: Geliştirme, test ve üretim için ayrı projeler oluşturulur. Örneğin
dev,stage,prod. - Takım bazlı proje: Backend, frontend, veri ekibi veya müşteri ekipleri için ayrı alanlar tanımlanır.
Küçük ekiplerde uygulama bazlı proje modeli yeterli olabilir. Daha büyük yapılarda ise uygulama ve ortam ayrımını birlikte kullanmak daha kontrollü bir model sunar.
Roller ve Yetkiler
| Rol | Yetki Kapsamı | Önerilen Kullanım |
|---|---|---|
| Project Admin | Proje ayarlarını, kullanıcıları ve imajları yönetebilir | Takım lideri veya DevOps sorumlusu |
| Developer | İmaj yükleyebilir ve çekebilir | Geliştirici ve CI/CD hesabı |
| Guest | Genellikle okuma odaklı sınırlı erişim sağlar | Test veya denetim kullanıcıları |
| Limited Guest | Daha dar kapsamlı görüntüleme yetkisi sağlar | Harici gözlemci veya sınırlı erişim gereken kullanıcı |
Robot Hesapları
Robot hesapları, insan kullanıcı yerine otomasyon süreçleri için oluşturulan özel hesaplardır. CI/CD pipeline, Kubernetes pull secret, otomatik dağıtım betikleri veya imaj senkronizasyon görevleri için robot hesabı kullanmak güvenlik açısından daha doğrudur.
Robot hesabı kullanırken şu kurallara dikkat edilmelidir:
- Minimum yetki: Sadece gerekli projeye ve gerekli işleme izin verilmelidir.
- Ayrı hesap: Her pipeline veya ortam için ayrı robot hesabı oluşturulmalıdır.
- Süre sınırı: Mümkünse token geçerlilik süresi sınırlandırılmalıdır.
- Düzenli rotasyon: Erişim bilgileri belirli aralıklarla yenilenmelidir.
İmaj Yükleme ve Çekme İşlemleri
Harbor kurulduktan sonra en temel işlem Docker imajlarını etiketlemek, Harbor’a yüklemek ve farklı sunucularda çekerek çalıştırmaktır. Bu süreçte imaj adlandırma standardı önemlidir.
Docker Login
İlk olarak istemci makineden Harbor’a giriş yapılır:
docker login registry.example.com
Kullanıcı adı ve parola doğruysa Docker istemcisi oturum bilgisini kaydeder. Üretim ortamında kişisel kullanıcı yerine robot hesabı kullanılması önerilir.
İmaj Etiketleme
Yerel bir imajı Harbor’daki proje adıyla etiketlemek gerekir. Örneğin crm projesine backend imajı yüklemek için:
docker tag backend:latest registry.example.com/crm/backend:1.0.0
İmaj Yükleme
docker push registry.example.com/crm/backend:1.0.0
İmaj Çekme
Başka bir sunucuda aynı imajı çekmek için:
docker pull registry.example.com/crm/backend:1.0.0
Sürüm Etiketleme Standardı
latest etiketi pratik görünse de üretim ortamında tek başına yeterli değildir. Daha güvenli bir model için semantik versiyonlama, Git commit hash veya build numarası kullanılabilir.
- Semantik sürüm:
1.4.2gibi okunabilir ve yönetilebilir sürüm numarasıdır. - Commit hash:
7f3a9c1gibi doğrudan kaynak kod durumunu işaret eder. - Ortam etiketi:
stage-20260722gibi belirli bir dağıtım ortamını temsil edebilir. - Immutable tag: Değiştirilemeyen etiket politikası, aynı etiketin farklı imaja işaret etmesini engeller.
Güvenlik Tarama ve Politikalar
Harbor yalnızca imaj saklama alanı değildir; aynı zamanda imaj güvenliğini artırmak için kritik kontroller sunar. Container imajları, içinde işletim sistemi paketleri, uygulama bağımlılıkları, çalışma zamanı bileşenleri ve bazen yanlışlıkla eklenmiş hassas dosyalar barındırabilir. Bu nedenle düzenli tarama ve politika yönetimi gerekir.
Trivy ile Güvenlik Açığı Taraması
Harbor, Trivy entegrasyonu ile imajları bilinen güvenlik açıklarına karşı tarayabilir. Tarama sonucunda kritik, yüksek, orta ve düşük seviyeli bulgular görülebilir. Üretim ortamında kritik açık içeren imajların dağıtıma çıkması engellenmelidir.
- Push sonrası tarama: İmaj yüklendikten sonra otomatik tarama başlatılabilir.
- Zamanlanmış tarama: Daha önce temiz görünen imajlar yeni açıklara karşı tekrar taranabilir.
- Dağıtım politikası: Kritik bulgu içeren imajların kullanılmasına izin verilmeyebilir.
İmaj İmzalama ve Güven Zinciri
İmaj imzalama, bir imajın gerçekten beklenen kaynak tarafından üretildiğini doğrulamak için kullanılır. Bu yaklaşım, yazılım tedarik zinciri güvenliği açısından önemlidir. İmzalanmamış veya doğrulanmamış imajların üretim ortamında çalıştırılması risk oluşturabilir.
Retention Policy ile Temizlik
Container imajları zamanla büyük disk alanı tüketebilir. Her build işleminde yeni bir imaj oluşturuluyorsa birkaç ay içinde yüzlerce gereksiz etiket birikebilir. Harbor’un retention policy yani saklama politikası, eski imajları kurallara göre temizlemeye yardımcı olur.
- Son N sürümü tut: Her repository için son 10 veya son 20 imaj saklanabilir.
- Belirli etiketleri koru:
prod,stableveyareleaseetiketleri silinmeyecek şekilde ayarlanabilir. - Eski buildleri temizle: 30 veya 60 günden eski geçici imajlar kaldırılabilir.
Güvenlik İçin En İyi Uygulamalar
- Varsayılan admin parolasını değiştirin: Kurulumdan sonra güçlü ve benzersiz parola kullanın.
- İki faktörlü kimlik doğrulamayı değerlendirin: Kritik sistemlerde ek doğrulama katmanı sağlayın.
- Projeleri public yapmayın: Gerçekten gerekmedikçe projeleri özel tutun.
- Robot hesaplarını sınırlandırın: Geniş yetkili otomasyon hesaplarından kaçının.
- Logları düzenli inceleyin: Başarısız giriş, şüpheli push ve silme işlemlerini takip edin.
- Gereksiz portları kapatın: Sunucuda yalnızca gerekli servisleri dış dünyaya açın.
Yedekleme, İzleme ve Bakım
Harbor, CI/CD ve dağıtım zincirinin merkezinde yer aldığı için yedekleme planı olmadan kullanılmamalıdır. Registry verilerinin kaybolması, üretim ortamında yeni dağıtım yapılamamasına veya eski sürümlere dönülememesine neden olabilir.
Yedeklenmesi Gereken Veriler
- Veritabanı: Kullanıcılar, projeler, ayarlar, politikalar ve metaveriler burada tutulur.
- Registry storage: İmaj katmanları ve manifest dosyaları bu alanda saklanır.
- Yapılandırma dosyaları:
harbor.yml, sertifika dosyaları ve özel ayarlar yedeklenmelidir. - Sertifikalar: TLS sertifikaları ve özel anahtar dosyaları güvenli şekilde korunmalıdır.
Basit Yedekleme Mantığı
Aşağıdaki örnek, Harbor veri dizininin arşivlenmesi mantığını gösterir. Üretim ortamında veritabanı tutarlılığı için servis durumu ve yedekleme penceresi ayrıca planlanmalıdır.
mkdir -p /backup/harbor
cd /data
tar -czf /backup/harbor/harbor-data-$(date +%F).tar.gz .
Yedeklerin aynı sunucu üzerinde tutulması tek başına yeterli değildir. Donanım arızası, dosya sistemi bozulması veya güvenlik ihlali durumunda yerel yedekler de kaybedilebilir. Bu nedenle farklı bir sunucuya, harici depolama alanına veya yedekleme hizmetine kopyalanmalıdır. Corelux Yedekleme Hizmeti, kritik registry verilerinin düzenli ve güvenli şekilde korunması için değerlendirilebilir.
İzleme Metrikleri
Harbor çalışan bir servis olduğu kadar depolama yoğun bir platformdur. Bu nedenle yalnızca servis durumuna değil, disk kullanımına ve işlem kuyruklarına da dikkat edilmelidir.
- Disk kullanımı:
/datadizini ve Docker volume alanları düzenli izlenmelidir. - Servis durumu: Harbor container durumları takip edilmelidir.
- HTTP erişimi: Registry API ve portal erişimi dışarıdan kontrol edilmelidir.
- Başarısız girişler: Kimlik doğrulama hataları güvenlik göstergesi olabilir.
- Tarama kuyruğu: Güvenlik taramalarının birikmesi performans sorununa işaret edebilir.
Servis Kontrol Komutları
cd /opt/harbor
docker compose ps
docker compose logs --tail=100
Belirli bir servisin loglarını incelemek için servis adıyla birlikte log komutu kullanılabilir:
docker compose logs --tail=100 core
docker compose logs --tail=100 jobservice
Performans ve Ölçeklendirme İpuçları
Harbor performansı; disk tipi, ağ hızı, eş zamanlı imaj çekme sayısı, CI/CD yoğunluğu ve imaj boyutlarına bağlıdır. Büyük imajlar hem depolama alanını hem de ağ trafiğini artırır. Bu nedenle performans optimizasyonu yalnızca Harbor sunucusunda değil, imaj üretim sürecinde de yapılmalıdır.
İmaj Boyutunu Küçültme
- Minimal base image kullanın: Gereksiz paketler içermeyen temel imajlar tercih edilmelidir.
- Multi-stage build uygulayın: Derleme araçları final imajına taşınmamalıdır.
- Cache katmanlarını doğru planlayın: Sık değişen dosyalar Dockerfile içinde sona yakın eklenmelidir.
- Gizli bilgileri imaja koymayın: Parola, token ve anahtar dosyaları runtime aşamasında verilmelidir.
Disk ve Ağ Planlaması
Registry sunucusunda NVMe disk kullanmak, eş zamanlı push ve pull işlemlerinde ciddi avantaj sağlayabilir. Ayrıca Harbor’un yoğun kullanıldığı ortamlarda sunucunun ağ port kapasitesi ve veri merkezi bağlantısı da önemlidir. Aynı lokasyondaki uygulama sunucuları ile registry arasında düşük gecikmeli bağlantı tercih edilmelidir.
Garbage Collection
Retention policy eski imaj etiketlerini kaldırsa bile fiziksel katman temizliği için garbage collection yani çöp toplama işlemi gerekebilir. Bu işlem disk alanını geri kazanmak için kullanılır. Yoğun üretim ortamlarında bakım penceresinde çalıştırılması daha güvenlidir.
Ne Zaman Ayrı Sunucuya Geçilmeli?
Aşağıdaki belirtiler Harbor için daha güçlü veya ayrı bir altyapıya geçme zamanının geldiğini gösterebilir:
- Push işlemleri yavaşladıysa: CI/CD süresi belirgin şekilde uzuyorsa kaynak ihtiyacı artmış olabilir.
- Disk doluluğu sürekli yükseliyorsa: Retention ve temizlik politikaları yetersiz kalıyor olabilir.
- Üretim dağıtımı registry’ye bağımlıysa: Registry kesintisi uygulama yayınını durduruyorsa yüksek erişilebilirlik planlanmalıdır.
- Çoklu lokasyon kullanılıyorsa: Replikasyon veya lokasyon bazlı registry mimarisi gerekebilir.
Harbor’un iş kritik hale geldiği yapılarda kaynakları izole etmek, yedekleme planını güçlendirmek ve gerektiğinde Türkiye Kiralık Sunucu gibi daha yüksek kaynaklı altyapılara geçmek uzun vadede daha kararlı bir çözüm sunar.
Sıkça Sorulan Sorular
Harbor ücretsiz mi?
Harbor açık kaynaklı bir container registry çözümüdür. Lisans maliyeti olmadan kullanılabilir; ancak sunucu, depolama, yedekleme, güvenlik ve operasyon yönetimi için altyapı maliyeti planlanmalıdır.
Harbor küçük ekipler için gerekli mi?
Eğer ekip yalnızca birkaç test imajı kullanıyorsa basit registry yeterli olabilir. Ancak özel uygulama imajları, CI/CD süreçleri, güvenlik taraması ve yetki yönetimi gerekiyorsa Harbor küçük ekipler için de faydalıdır.
Harbor için SSL zorunlu mu?
Teknik olarak test ortamlarında güvenli olmayan registry tanımı yapılabilir; ancak üretim ortamında SSL kullanımı zorunlu kabul edilmelidir. TLS, istemci ile registry arasındaki trafiği şifreler ve kimlik doğrulamayı güvenli hale getirir.
Harbor Docker dışında kullanılabilir mi?
Evet. Harbor, OCI uyumlu imajlarla çalıştığı için Docker dışındaki modern container araçlarıyla da kullanılabilir. Kubernetes, containerd ve benzeri ekosistemlerde private registry olarak konumlandırılabilir.
Harbor imajları otomatik temizleyebilir mi?
Evet. Retention policy ile eski veya gereksiz etiketler belirli kurallara göre temizlenebilir. Disk alanını tamamen geri kazanmak için ek olarak garbage collection işlemi planlanmalıdır.
Robot hesabı ile normal kullanıcı arasındaki fark nedir?
Normal kullanıcı insan erişimi için kullanılırken robot hesabı otomasyon süreçleri için tasarlanır. CI/CD pipeline veya Kubernetes pull secret gibi işlemlerde robot hesabı kullanmak daha güvenli ve yönetilebilir bir yöntemdir.
Harbor yedeklemesinde sadece imaj dosyalarını almak yeterli mi?
Hayır. İmaj katmanlarının yanında veritabanı, proje ayarları, kullanıcı bilgileri, sertifikalar ve harbor.yml dosyası da yedeklenmelidir. Aksi halde geri dönüş sırasında eksik metaveri sorunları yaşanabilir.
Sonuç
Harbor Container Registry, modern yazılım dağıtım süreçlerinde güvenli, merkezi ve yönetilebilir bir imaj deposu oluşturmak için güçlü bir çözümdür. Proje bazlı yetkilendirme, robot hesapları, güvenlik taraması, retention policy, web arayüzü ve TLS desteği sayesinde basit bir kayıt deposundan çok daha fazlasını sunar.
Başarılı bir Harbor kurulumu için doğru sunucu kaynağı seçilmeli, alan adı ve SSL yapılandırması düzgün yapılmalı, kullanıcı yetkileri minimum erişim prensibine göre düzenlenmeli, imaj tarama politikaları etkinleştirilmeli ve düzenli yedekleme planı oluşturulmalıdır. Özellikle CI/CD süreçlerinde Harbor kullanmak, geliştirme ve üretim ortamları arasında tutarlı, denetlenebilir ve güvenli bir dağıtım standardı sağlar.
Corelux altyapısında Harbor için ihtiyacınıza göre Sanal Sunucu, yüksek performanslı Kiralık Sunucu, esnek Bulut Sunucu, güvenli SSL Sertifikası ve düzenli Yedekleme Hizmeti seçeneklerini değerlendirebilirsiniz. Doğru planlanmış bir Harbor mimarisi, konteyner tabanlı uygulamalarınızın dağıtım hızını artırırken güvenlik ve operasyonel kontrol seviyesini de yükseltir.
Yazar
Boran BAR