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.

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

VMware Explore 2023

VMware Explore 2023, kurumsal uygulamalar, bulut mimarisi, altyapı, EUC, network ve güvenlik ile ilgilenenler de ...

VMware Photon OS 5.0

Daha önceki makalelerimde detaylı değindiğim PhotonOS 5.0 sürümü yayınlandı. Bu sürüm ile birlikte gelen yenilikler ...

VMware Tanzu – Storage

Bir önceki yazımda kubernetes platformları storage konseptleri hakkında temel bilgiler paylaşmıştım. Bu yazımda da Tanzu ...

Kubernetes Platformları – Storage

Bu makalemde kubernetes platformlarında kullanılan depolama çözümleri ile ilgili temel bilgi ktarmaya çalışacağım. VMware Tanzu ...

Leave a Reply

Your email address will not be published. Required fields are marked *

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