6 puan yazan xguru 2025-02-28 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Red Hat Enterprise Linux (RHEL) için image mode, RHEL’i önyüklenebilir konteynerler olarak oluşturma, dağıtma ve yönetme sürecini basitleştirir
  • Geliştiriciler, operasyon ekipleri ve çözüm sağlayıcılar; uygulamaları ve temel işletim sistemini yönetmek için aynı konteyner yerel araçları ve teknikleri kullanabilir

Önyüklenebilir konteyner oluşturma vs. uygulama konteyneri oluşturma

  • Tipik uygulama konteynerlerinde olduğu gibi, Podman, Docker veya buildkit gibi mevcut konteyner teknolojileri kullanılarak önyüklenebilir konteynerler oluşturulabilir
  • İmajlar; Quay.io, Docker Hub, GitHub Container Registry veya dahili konteyner registry’leri gibi konteyner registry’lerinde saklanabilir
  • Önyüklenebilir konteynerler, konteyner teknolojilerinin doğal bir evrimidir ve tüm işletim sistemi ile Linux çekirdeğini de kapsayan, kapsamlı bir konteyner yerel iş akışı ve kullanıcı deneyimi sunar

Containerfile kullanımı

  • Containerfile (Dockerfile olarak da bilinir), bir konteyner imajı oluşturmak için gereken tüm bilgileri içerir; buna temel imaj, yazılım paketi kurulum talimatları ve Git deposundan dosya kopyalama gibi adımlar dahildir
  • Önyüklenebilir konteyner oluşturma iş akışı ve araçları, özünde uygulama konteynerleriyle aynıdır
  • Ancak önyüklenebilir konteynerler oluştururken uygulanması gereken bazı en iyi uygulamalar vardır

Linting için en iyi uygulamalar

  • Containerfile’ın son adımı olarak bootc container lint komutunun çalıştırılması önerilir
  • Bu komut, konteyner imajı içinde çeşitli kontroller yapar ve sorun varsa hata üretir
  • Örneğin /usr/lib/modules altında birden fazla çekirdek olup olmadığını denetler, /usr/lib/bootc/kargs.d içindeki dosyaların sözdizimini kontrol eder ve /etc ile /usr/etc için hijyen kontrolleri yapar

GitHub Actions ve disk alanı

  • GitHub Actions ile konteyner oluştururken, önyüklenebilir konteyner imajlarının boyutu nedeniyle disk alanı sorunlarıyla karşılaşabilirsiniz
  • Bu sorunları çözmek için, iş akışı dosyasına /opt/hostedtoolcache dizinini silen bir adım ekleyerek disk alanı açabilirsiniz

/var dizinini anlamak

  • /var, kalıcı ve değiştirilebilir makineye özgü yerel veri ile durum için kullanılan dizindir; güncellemeler sırasında bile konteyner imajındaki /var içeriği değişmez
  • Bu nedenle bir uygulama /var içine veri yazıyorsa, salt okunur mount sorunlarını önlemek için bunun /usr/share gibi başka bir dizine taşınması gerekir

useradd komutunu kullanmak

  • Paketleme betiklerinde useradd çağrılıyorsa, /etc/passwd yerelde değiştirildiğinde durum sapması oluşabilir
  • Bu tür sorunlardan kaçınmak için, systemd içindeki DynamicUser=yes seçeneğiyle dinamik kullanıcı oluşturmayı değerlendirebilirsiniz
  • Ancak karmaşık durumlarda DynamicUser=yes seçeneğine geçmek zor olabilir; bu durumda kullanıcı oluşturmak için systemd-sysusers kullanılması önerilir

Quadlet ile konteyner gömme

  • Konteynerleştirilmiş iş yüklerini systemd içinde çalıştırmak, güvenilir dağıtım için basit ama güçlü bir yöntemdir
  • Podman, systemd ile entegrasyon için Quadlet adlı bir araç sunar; bu araç sayesinde konteynerleştirilmiş iş yükleri deklaratif olarak yönetilebilir
  • Quadlet, image mode ile tamamen entegredir ve önyükleme sırasında uygulama konteyner imajlarını önceden çekmek için mantıksal olarak bağlanmış imajlar kullanılabilir

Özet

  • Image mode kullanımı, RHEL host’larının çalışma biçiminde bir paradigma değişimi yaratır
  • Bulut yerel araçlarla işletim sistemi oluşturulabilir, dağıtılabilir ve yönetilebilir; ayrıca sistemin büyük bölümünün salt okunur olarak mount edildiği değişmez bir OS yaklaşımı söz konusudur

Henüz yorum yok.

Henüz yorum yok.