Başlangıç > VMware > 228: Project Harbor 0.5.0

228: Project Harbor 0.5.0

harbor1

En son vSphere Integrated Containers (VIC) yapısından ve bileşenlerinden bahsetmiştik, buradan erişebilirsiniz. Bugün ise, ister VIC ile istersek de kendi başına kullanabileceğimiz bir ürün olan Harbor Projesi’nden bahsedeceğim.

Harbor, Docker imajlarını depolamamızı ve yaygınlaştırmamızı sağlayan, enterprise seviyesinde özellikleri içerisinde barındıran bir registry sunucusudur. Normalde docker istemcileri, varsayılan olarak Docker’ın genel erişime açık registry hizmetini kullanır (https://index.docker.io/v1/). Ancak kurumsal ihtiyaçları düşündüğümüzde, bu her zaman en iyi çözüm olmayacaktır ve kendi ağımız içerisinde özel bir registry sunucusuna ihtiyaç duyacağız. Harbor, bu ihtiyacı gidermek adına geliştirilen açık kaynak bir projedir.

Kurumsal özelliklerden bahsetmişken, bunların ne olduklarına kısaca değinmekte fayda var;

  • Rol tanımlı erişim kontrolü
  • İmajları ikinci bir sunucuya replike edebilme
  • LDAP/AD desteği
  • GUI destekli arayüz
  • İşlemlerin loglanması
  • RESTful API desteği

Eğer Enterprise Plus lisansınız var ise, My VMware portalinden, OVA formatında indirilebilir ve hazır bir şekilde kurulabilir durumda. Eğer bu pakete ulaşamıyorsanız, manuel kurulum için projenin GitHub sayfasına başvurabilirsiniz.

OVA üzerinden hızlı bir kurulum yapmak istediğimizi varsayarsak, kurulum aşamasında vermemiz gereken en önemli karar, kimlik doğrulamasının nasıl yapılacağı, alternatifler LDAP/AD entegre bir şekilde veya veritabanı üzerinden. Önemli çünkü bunu sadece kurulum aşamasında belirleyebiliyoruz. Burada tavsiye, LDAP üzerinden olması yönünde olacaktır, bu bizi kullanıcı yönetiminden muaf tutacaktır ancak kurulum esnasında LDAP ile ilgili bilgileri doğru bir şekilde yazmamız gerekecektir. Örnek olarak;

  • Authentication Mode: ldap_auth
  • LDAP URL: ldap://domaincontroller.domain.lokal
  • LDAP Search DN: CN=AramaYapacakKullanıcı,OU=Users,DC=domain,DC=lokal
  • LDAP Search Password: Yukarıda verilen kullanıcının şifresi
  • LDAP Base DN: OU=KullanıcılarınAranacağıOU,DC=domain,DC=lokal
  • LDAP UID: Kullanıcı aramasının hangi özellik üzerinden yapılacağı bilgisi; uid, cn, email, sAMAccountName veya başka bir değer olabilir.

Kurulum tamamlandıktan sonra, “Permit Root Login” değerini “true” olarak belirtmişsek, sunucuya SSH yapabiliriz demektir. Harbor’un bileşenlerini listelediğimizde, 6 adet bileşenin sunucu üzerinde, docker-compose ile oluşturulmuş konteynerler olarak çalıştığını görebiliriz.

harbor2

Mimari olarak da topoloji aşağıdaki gibi olacaktır.

harbor3

Şimdi bu bileşenleri kısaca inceleyelim;

  • Proxy: Registry ve temel servisler bir reverse-proxy arkasından çalışır ve bu bileşen nginx tarafından sağlanır. İstemcilerden ve tarayıcılardan gelen talepleri, arka plandaki servislere iletir.
  • Registry:  Docker imajlarımızı depolar ve pull/push komutlarımıza cevap verir. Docker’ın resmi registry imajından türetilmiştir.
  • Core Services: Birden fazla servisi bir arada çalıştıran bir yapısı vardır. Bu servislerden en önemlileri, web arayüzü sağlayan UI servisi ve kimlik doğrulaması sonucu kullanıcıların erişimlerini şekillendiren token servisidir. Ps komutunda harbor_ui adı ile görülür.
  • Database: Resmi MySql imajından üretilmiştir ve tüm konfigürasyon verilerini tutar.
  • Job Services: Diğer Harbor sunucularına imaj replikasyonunu gerçekleştiren servistir.
  • Log Collector: Çalışan diğer konteyner servislerinden log toplamaya yarar, içerisinde rsyslogd çalıştırır.

Çalışan konteynerler ile ilgili daha fazla detaya sahip olmak istiyorsak, konteyner adı ile aşağıdaki komutu çalıştırmamız yeterli olacaktır.

docker inspect nginx

Örnek olarak, bu komutun çıktısında, hangi mount noktalarını kullandığını görebiliriz. Burada, “source” olarak görünen klasörün, “destination” olarak konteyner içerisinde read/write modunda mount edildiğini görebiliyoruz. Bu klasör altında da, nginx.conf dosyası içerisinde nginx servisinin konfigürasyon detaylarını görebiliriz. Benzer şekilde diğer servislerin de konfigürasyon detaylarına erişebiliriz.

harbor5

Harbor’ın yapısını temel olarak incelediğimiz bu yazıdan sonra, Day2 operasyonlarını nasıl yapabileceğimizden bahsedeceğim.

Kategoriler:VMware Etiketler:, ,

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: