[ad_1]
Podman bir konteyner motoru— kapsayıcıları ve kapsayıcı görüntülerini geliştirmek, yönetmek ve çalıştırmak için bir araç. Konteynerler uygulama kodu ve destekleyici kitaplıklar dahil olmak üzere özelleştirmeye ihtiyaç duymadan herhangi bir yerde çalıştırmak için gerekli tüm öğeleri barındıran standartlaştırılmış, bağımsız yazılım paketleridir. Konteyner tabanlı uygulamalar, son on yılda yazılım geliştirmede devrim yaratarak, dağıtılmış ve bulut tabanlı sistemlerin dağıtımını ve bakımını kolaylaştırdı.
Podman, Red Hat’ten açık kaynak kodlu bir projedir ve indirmek ücretsiz. Sürüm 1.0 olmak üzere, konteynerleştirme sahnesinde göreceli olarak yenidir. 2019’da piyasaya sürüldü. Podman o zamandan beri büyük adımlar attı ve yükselişi, bugün bildiğimiz şekliyle konteynerler dünyasını birçok yönden yaratan proje olan Docker’ın kademeli düşüşüyle birleşti.
Podman ve Kubernet’ler
Kapsayıcı tabanlı geliştirme konusunda biraz bilginiz varsa bile Kubernetes adını bilirsiniz. Kapsayıcılı uygulamalar daha karmaşık hale geldikçe geliştiriciler, farklı sanal makinelerde ve hatta farklı fiziksel makinelerde çalışırken birbirleriyle etkileşime giren kapsayıcıları koordine edebilecek araçlara ihtiyaç duydu. Böyle bir araca denir konteyner düzenleme platformu, ve Kubernetes açık ara en belirgin örnektir. Kubernetes, gereksinimleri karşılayan herhangi bir kapsayıcıyla çalışabilir. Açık Konteyner Girişimi Podman’in kapsayıcılarının yaptığı (OCI) görüntü belirtimi.
Kubernetes’in önemli özelliklerinden biri, bir kapsül, Kubernetes’in yönetebileceği en küçük bilgi işlem birimi olan bir veya daha fazla kapsayıcıdan oluşan geçici grup. Podman, adından da anlaşılacağı gibi, bir kapsül fikrine odaklanmıştır. Bir Podman bölmesi ayrıca bir veya daha fazla kapsayıcı içerir. Birlikte gruplandırılmış tek bir ad alanı, ağ ve güvenlik bağlamında. Bu benzerlik, Podman ve Kubernetes’i doğal bir uyum haline getiriyor ve en başından beri Red Hat’in hedeflerinden biri, Podman kullanıcılarının kapsayıcıları Kubernetes ile düzenlemesini sağlayın.
Podman ve Docker
Konteyner dünyasından neredeyse kesin olarak duyduğunuz diğer büyük isim Docker. Docker ilk konteyner motoru değildi, ancak birçok yönden konteynerleştirmeyi tanımlamaya geldi. Docker’ın çalışma şeklinin çoğu, fiili kapsayıcı tabanlı geliştirme için standart – birçok kişinin “Docker”ı kapsayıcıların kısaltması olarak kullanmasına yetecek kadar.
Docker ve Podman, konteyner ekosisteminde benzer bir yere sahip olsalar da aynı değiller ve nasıl çalıştıkları konusunda farklı felsefeleri ve yaklaşımları var. Örneğin, Docker, belirli görevler için araçlar içeren hepsi bir arada bir platformdur, oysa Podman belirli amaçlar için diğer projelerle işbirliği yapar; örneğin, yapı kapsayıcı görüntüleri oluşturmak için.
Mimari farklılıklar da vardır: Örneğin, Docker’ın yerel bir kapsül kavramı yoktur. Bir diğer önemli fark, Docker’ın görüntüler oluşturmak ve kapsayıcıları çalıştırmak için sürekli olarak çalışan bir arka plan arka plan programı programına güvenmesidir, oysa Podman kapsayıcıları ve bölmeleri ayrı alt süreçler olarak başlatır. Docker’ın tasarımının bu yönü, birazdan tartışacağımız güvenlik açısından önemli etkilere sahiptir.
Podman’de Docker komutları
Tasarım ve zorunluluk gereği, Podman ve Docker genel olarak uyumludur. Bu uyumluluğun bir kısmı, açık standartlara bağlılığa bağlanabilir. Her iki motor da OCI standardına uygun kapsayıcılarla çalıştığından, Docker ile bir kapsayıcı oluşturabilir ve onu Podman’de değiştirebilir veya tam tersini yapabilir, ardından her iki kapsayıcıyı Kubernetes’e dağıtabilirsiniz.
Podman 2019’da piyasaya çıktığında Docker o kadar baskındı ki, komut satırı arayüzü birçok geliştiricinin programlama rutinlerinin ve kas hafızasının bir parçası haline gelmişti. Podman’e olası bir geçişi daha sorunsuz hale getirmek için Podman’in yaratıcıları, komutlarının ve sözdiziminin Docker’ınkileri mümkün olduğunca yansıtmasını sağladı. Bir takma ad belirlemeyi mümkün kılacak kadar ileri gittiler. Docker komutlarını Podman’e yeniden yönlendirir.
Köksüz kapsayıcılarla daha iyi güvenlik
Podman ve Docker pek çok yönden benzer şekilde çalışırken, neden birini diğerine tercih edesiniz? Önemli bir neden güvenliktir. Docker’ın devam eden çalışmalarının çoğunu yapmak için bir arka plan programına nasıl güvendiğini hatırlıyor musunuz? Bu arka plan programı kök olarak çalışır ve bu da onu saldırganlar için potansiyel bir giriş noktası yapar. Bu, güvenli bilgi işlem için aşılmaz bir engel değildir, ancak biraz düşünmeniz gerektiği anlamına gelir. Docker güvenlik sorunlarında gezinme.
Bazı durumlarda, ana makinede kök ayrıcalıklarına sahip bir kapsayıcı çalıştırmak isteyeceksiniz ve Podman bunu yapmanıza izin veriyor. Ancak kapsayıcılarınızı güvenli bir şekilde kullanıcı alanıyla sınırlı tutmayı tercih ederseniz, köksüz kap. Köksüz bir kapsayıcı, onu başlatan kullanıcıdan daha fazla ayrıcalığa sahip değildir; kapsayıcı içinde, bu kullanıcının kök ayrıcalıkları vardır. Ayrıca komut satırı bayraklarını kullan kapsayıcılarınıza ayrıntılı bir şekilde ayrıcalıklar eklemek için.
Peki ya performans?
Docker’ın Podman’e ayak uydurduğu bir alan, en azından bazılarına göre performans. Bu konuda çok az somut bilgi olsa da, bu konuda hüsrana uğrayan geliştiriciler bulmak zor değil. Hacker Haberleri, Yığın Taşmasıve Reddit Podman’in performansından şikayet ediyor, özellikle de köksüz çalışırken. Bazı İsveçli üniversite öğrencileri, birkaç farklı konteyner platformunda bir kıyaslama paketi çalıştırdı ve Podman’in eksik olduğunu buldu, ancak bu kuşkusuz Podman’ın daha eski bir 1.0 öncesi sürümüydü. Bu konuyla ilgili çok fazla teknik bilgi bulunmamakla birlikte, anekdot olarak Podman performansından dolayı can çekişiyor.
Podman, Docker’ın yerini alacak mı?
Şimdiye kadarki tartışmadan, Docker’ı Podman ile değiştirmek için büyük bir vibe kayması olduğu söylenemez. Ancak Docker’ı uzun zamandır nişlerinden biri olan Kubernetes’in kendisinden uzaklaştıracak büyük bir değişiklik geliyor.
Kubernetes ve Docker, yıllardır konteyner dünyasının ikiz devleri olmuştur. Ama birlikte yaşamaları her zaman biraz tedirgindi. Kubernetes’in yükselişi, Docker’ın kendi niş alanına iyice yerleşmesinden sonra geldi – aslında, Docker’ın büyük, dağıtılmış bir uygulamada koordine edilmesi gereken tüm kapsayıcıları yönetme görevine uygun olmadığı için Kubernetes’in kısmen popüler hale geldiğini söyleyebilirsiniz. .
Docker (şirket), 2015 yılında Docker’ın güçlü yanlarından yararlanmak üzere tasarlanan Swarm adlı kendi konteyner düzenleme platformunu geliştirdi. Swarm büyük bir tantanayla piyasaya sürüldü, ancak Kubernetes’e hiçbir zaman tam olarak yetişemedi. Swarm’ın hala adanmışları olsa da, Kubernetes fiili Docker’ın kapsayıcı düzenlemesi için standart haline gelmesi gibi fiili konteyner ekosisteminin diğer yönleri için standart.
Ek olarak, Docker, Kubernetes ile hiçbir zaman iyi oynamadı. kapsayıcı çalışma zamanı, diğer görevlerin yanı sıra temel alınan işletim sistemi (OS) çekirdeğiyle çalışan ve ayrı kapsayıcı görüntülerini bağlayan kapsayıcı motorunun düşük düzeyli bileşeni. Hem Docker hem de Kubernetes, Kubernetes’in kapsayıcılarda oluşturulan görüntüleri koordine etmek için kullandığı OCI görüntü spesifikasyonuna uygundur. Ancak Kubernetes, aynı zamanda, Konteyner Çalışma Zamanı Arayüzü (CRI).
Uzun bir süre Docker’ın popülaritesi Kubernetes’i kullanmaya zorladı. dockershim, Kubernetes ve Docker arka plan programı arasında bir aracı olan CRI uyumlu bir katman. Ancak bu her zaman bir hack olayıydı ve bu yılın başlarında Kubernetes Dockershim için atılan destek. (Bunun aksine Podman, uyumlu CRI-O çalışma zamanı Bulut Yerel Bilgi İşlem Vakfı’ndan.)
Bu, Docker’ın kurumsal bir şirket olmaya çalışıp başarısız olmasıyla ilgili daha büyük bir hikayenin parçası. Kısacası, Docker hiçbir zaman Kubernetes’ten tam olarak kopamadı. Bu arada Kubernetes, bir zamanlar olduğu ölçüde Docker’a artık ihtiyaç duymuyor.
Podman’ın Docker’ın yerini alıp almayacağı belli değil, ancak kesinlikle yarışmacılardan biri olacak. Podman’in para kazanmak isteyen amiral gemisi bir ürün değil, çok daha büyük bir şirketten tek bir açık kaynaklı teknoloji teklifi olmasına yardımcı olur. Podman ve Kubernetes’in bir süre daha iç içe kalmasını bekleyebiliriz.
Hangi konteyner motorunu kullanmalısınız?
Umarım bu tartışma, bu iki konteyner motoru arasında seçim yapmanıza yardımcı olacak faktörler hakkında bir fikir verir. Podman daha güvenli bir mimariye dayanırken Docker’ın daha derin bir geçmişi var. Podman, Kubernetes’e özgüdür, Docker ayrıca Docker Swarm ile de çalışır. Docker, kapsayıcı ile ilgili birçok görev için ihtiyaç duyduğunuz tüm işlevleri içerir. Podman modülerdir ve farklı amaçlar için farklı araçlarla denemeler yapmanızı sağlar.
Bununla birlikte, “Podman vs. Docker” sorusu bir düzeyde yanlış bir seçimdir. Her iki platform da OCI spesifikasyonuna uyan görüntüler oluşturur ve her ikisi de aynı komutların çoğu tarafından çalıştırılır, böylece ikisi arasında sorunsuz bir şekilde hareket edebilirsiniz. Örneğin, yerel geliştirme için Docker’ı kullanmak isteyebilir, ardından Podman’i Kubernetes içinde oluşturduğunuz kapsayıcıları dağıtın.
Docker’ı diğerlerinden ayıran özelliklerden biri de ücretli destekle gelmesidir. Ancak bunun bile bir ters tarafı var: Docker (şirket) amiral gemisi teklifinden para kazanmaya çalışırken, Docker Desktop geliştirme ortamı için ücretlendirme. Red Hat ise Podman’ı (birada olduğu gibi) şimdilik serbest bırakmaktan memnun görünüyor.
Jacqueline Primavera, Los Angeles’ta teknik bir yazar ve editördür.
Telif Hakkı © 2022 IDG Communications, Inc.
[ad_2]
Kaynak : https://www.infoworld.com/article/3663672/what-is-podman-and-will-it-replace-docker.html#tk.rss_all