Container Image Pull İşlemlerinde Gereken Firewall Değişiklikleri
04 Nis 2023
Giray Baha Kezer – Sekom – SD-X& Bulut Teknoloji Mühendisi & Alperay Burak Keleş – Sekom – SD-X& Bulut Teknoloji Mühendisi
Red Hat Container Image Pull İşleyişinde Yapılacak Değişikliğe Hazır Mısınız?
Red Hat tarafından geçtiğimiz ay 8 Mart tarihinde yapılan duyuru ile birlikte Red Hat Container Image Registry adreslerinin değişeceği açıklandı. Dolayısıyla Red Hat müşterilerinin container image registry erişimlerinin kesintiye uğramaması için 1 Mayıs 2023’e kadar kurumsal altyapılarında yer alan firewall/poxy kurallarında değişiklik yapmaları önerilmektedir.
Güncellenmesi Gereken Noktalar
Halihazırdaki tüm image manifestleri ve filesystem blokları doğrudan “registry.redhat.io” ve “registry.access.redhat.com” adreslerinden sağlanmaktadır. Yaklaşan değişiklik üzerine dosya sistem blokları artık Quay.io’dan sağlanacaktır. Konteyner image pull işlemlerinde sorun yaşanmaması adına 80 ve 443 portlarından TCP bağlantıları için şunlara izin vermek gerekecektir:
- cdn.quay.io
- cdn01.quay.io
- cdn02.quay.io
- cdn03.quay.io
Bahsi geçen bu değişiklikler önceki halinde “registry.redhat.io” ve “registry.access.redhat.com” adreslerine gerekli izinlerin verildiği güvenlik duvarı yapılandırmaları için yapılmalıdır. Bunlarla birlikte, yukarıdaki adreslerden konteyner image pull işlemlerine devam edilebilecektir. Red Hat konteyner image pull işleminin devamı için Quay.io oturumu açılması veya Quay.io registry ile doğrudan etkileşim kurulması gerekmemektedir.
Bu depolara olan çıkış bağlantıları eğer Openshift kurulumu sırasında talimatlar daha önceden takip edildiyse veya Quay.io registry kullandıysa zaten güvenlik duvarı yapılandırmalarında düzenlenmiş olası muhtemeldir. Red Hat Ansible Automation Platform veya Red Hat Satellite gibi ürünler güvenlik duvarı veya proxy değişimlerine ihtiyaç duyabilmektedir.
Güvenlik duvarı kurallarının yapılandırılması için IP adresleri yerine hostname kullanımı önerilir. Daha fazla bilgi için Applying IP address filtering to Red Hat Container Registries.
Peki Neden Bu Değişiklik Yapılıyor?
Haziran 2022’den beri Red Hat Openshift operatör index imageleri Quay.io backend kullanarak registry.redhat.io üzerinden sunulmaktadır. Openshift kurulum talimatları Quay.io ve CDN sunucularına erişim gerektirmekteydi. Bunların dışında o ürün açısından herhangi bir ek işleme ihtiyaç duyulmamaktaydı. Şimdiyse bu durum tüm Red Hat konteyner imageleri için genişletilmektedir. Böylece kullanıcılar Quay.io registrynin yüksek kullanılabilirlik ve basitlik özelliklerinden faydalanabileceklerdir.
Test
Değişiklikler öncesi image pull işlemlerinin çalıştığından emin olmak amaçlı, Quay.io’dan “registry.redhat.io/redhat/redhat-operator-index:v4.12” image çekilebilir. Customer Portal bilgileri kullanılarak ilgili komutlarla bu işlem yapılabilmektedir:
Image başarıyla pull edilmişse, echo $? komutu “0” olarak görüntülenecektir.
Ek Bilgiler
Değişimlerin dışında birçok şey de aynı kalıyor:
- Konteyner özellikleri değişmeden kalır, bu nedenle imageler “registry.redhat.io” ve “registry.access.redhat.com” ile çekmeye devam edilebilir.
- Red Hat konteyner imageleri aynı şekilde ve aynı anahtarlarla imzalanmaya devam edecektir
- Konteyner image manifestoları doğrudan “registry.redhat.io” ve “registry.access.redhat.com” üzerinden sunulur. Yönlendirmeler yalnızca yapılandırma ve filesystem blokları için Quay.io CDN’ye yapılır.
- Bir image, sha256 ile çekilebilmesi için şema 2 kullanılarak yapılması gerekmektedir. (detaylı bilgi için tıklayabilirsiniz.)
- Image tagları, şema 2, image kimlikleri ve imzaları değişmemektedir.
- Değişiklik yapmadan önce pull edilen görüntüler geçerlidir ve yeniden çekilmesi gerekmemektedir.
- OpenShift veya Kubernetes kümeleri için ImageContentSourcePolicy ile ilgili herhangi bir değişiklik gerekmemektedir.
- OpenShift veya Kubernetes clusterları için node restart işlemi, cache değişiklikleri veya herhangi bir upgrade yapılması gerekmemektedir.
Yukarıdaki hostnamelerle çıkış bağlantılarına izin vermek, farklı güvenlik duvarı yapılandırmalarına bağlı olarak aşağıdaki sorunları çözebilir:
- Image pull edilirken “connection refused” hatası alınıyorsa
- Image pull edilirken I/O zaman aşımı alınıyorsa
- OpenShift veya Kubernetes cluster içinde imageları pull edilirken ImagePullBackOff durumu alınıyorsa
Aşağıdaki örneklerde, farklı firewall yapılandırmaları ile “podman pull” komutunu kullanırken alınabilecek hatalar gösterilmektedir:
Eğer konu hakkında desteğe ihtiyacınız olursa, alanında yetkin ve tecrübeli uzman ekibimizle sizlere yardımcı olabiliriz. Tek yapmanız gereken uzmanlık sayfamızı ziyaret ederek iletişim formunu doldurmak!