Harbor Kurulumu – 2

HTTPS / SSL Yapılandırması

Private Key ve CA Sertifikası Oluşturma

Öncelikle bir CA için bir private key ve ardından CA sertifikası oluşturalım.

openssl genrsa -out ca.key 4096Private Key Oluşturma

Aşağıdaki CA Sertifikasını oluştururken kırmızı olarak belirttiğim alanları kendinize göre düzenleyin. “registry.fatihsolen.com” olarak belirttiğim alan sunucumun fqdn’i olduğundan siz kurduğunuz sunucunun fqdn’i ile bu alanı güncelleyin.

openssl req -x509 -new -nodes -sha512 -days 3650 -subj “/C=TR/ST=Istanbul/L=Istanbul/O=F Unlimited/OU=Tanzu_LAB/CN=registry.fatihsolen.com” -key ca.key -out ca.crt

Server Sertifikası Oluşturma

Sunucumuz için de private key oluşturuyoruz.

openssl genrsa -out registry.fatihsolen.com.key 4096

Sunucumuz için CSR oluşturuyoruz. Aynı şekilde

openssl req -sha512 -new -subj “/C=TR/ST=Istanbul/L=Istanbul/O=F Unlimited/OU=Tanzu_LAB/CN=registry.fatihsolen.com” -key registry.fatihsolen.com.key -out registry.fatihsolen.com.csr

Şimdi de x509 v3 extension dosyasını oluşturacağız.

cat > sslv3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1=registry.fatihsolen.com
DNS.2=registry
DNS.3=harbor.fatihsolen.com
EOF

Yukarıda girdiğimiz alt_names değerleri ile registry.fatihsolen.com, registry, ya da harbor.fatihsolen.com olarak sunucuya eriştiğimde bana ssl hatası vermeyecek. Az önce oluşturduğumuz sslv3.ext isimli extension dosyasını kullanarak sertifikamızı da SAN olarak oluşturalım.

openssl x509 -req -sha512 -days 3650 -extfile sslv3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in registry.fatihsolen.com.csr -out registry.fatihsolen.com.crt

Harbor ve Docker için sertifika tanımları

CA, server sertifikası ve server key dosyasını aşağıdaki şekilde bir klasörde toplayalım.

cp registry.fatihsolen.com.crt /data/cert/
cp registry.fatihsolen.com.key /data/cert/
cp ca.key /data/cert
cp ca.crt /data/cert

Şimdi de Docker’ın kullanabilmesi için crt dosyasını cert formatına dönüştürelim.

openssl x509 -inform PEM -in registry.fatihsolen.com.crt -out registry.fatihsolen.com.cert

Şimdi de sertifikalarımızı docker sertifika klasörüne kopyalayalım;

cp registry.fatihsolen.com.cert /etc/docker/certs.d/registry.fatihsolen.com/
cp registry.fatihsolen.com.key /etc/docker/certs.d/registry.fatihsolen.com/
cp ca.crt /etc/docker/certs.d/registry.fatihsolen.com/

Docker engine’i yeniden başlatalım;

systemctl restart docker

Harbor Konfigürasyonu ve Deployment

Makalenin 1. parçasında indirdiğimiz ve açtığımız arşivin bulunduğu klasöre gidip aşağıdaki komutu çalıştırıyoruz,

./prepare

Çalıştırdığımız bu script sayesinde harbor için nginx https konfigürasyonu yapılmış oluyor. Şimdi docker-compose’u ayağa kaldırıp test edelim;

docker-compose up -d

Şimdi browser kullanarak https ile adresimize gidiyoruz,

https://registry.fatihsolen.com

Eğer browserınızda ssl hatası görüyorsanız CA sertifikanızı erişim yaptığınız makineye yükleyebilirsiniz.

Herşey yolunda görünüyorsa şimdi de docker üzerinden login deneyelim;

docker login https://registry.fatihsolen.com

Eğer bir hata aldıysanız sertifika adımlarını tekrar kontrol edin, eğer almadıysanız aşağıdaki makaleden kuruluma devam edebilirsiniz.

https://www.fatihsolen.com/harbor-kurulumu-3/

İLGİNİZİ ÇEKEBİLİR

Harbor Kurulumu – 3

Harbor Konfigürasyonu ve Deployment (Devamı) YML dosyasının düzenlenmesi Kuruluma başlamadan önce daha önce indirip arşivden ...

Harbor Kurulumu – 1

VMware Harbor hakkında daha önce bir makale yayınlamıştım, bu makalede de standalone olarak nasıl kurulur ...

VMware Harbor Nedir?

Harbor VMware tarafından 2014 yılında geliştirilmeye başlanan açık kaynak kodlu bir image registry çözümüdür. Image ...

VMware Tanzu Kurulum Mimarileri

vSphere with Tanzu Mimarisi vSphere with Tanzuyu etkinleştirdiğinizde hypervisor (ESXi) katmanının içinde kubernetes control plane ...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

error: İçerik Korumalıdır !!