Red Hat / CentOS EL6 üzerinde Linux kapsayıcıları (LXC) - libxirt'e karşı lxc-create?


13

Red Hat'ın iyi süsleri içinde kalmaya çalışmak ve sistem ömrünü planlamak zor ...

Bir yıldan uzun süredir Linux Kapsayıcıları'nın (LXC) savunucusu oldum . İlk kurulumlarım, bu ve bunun gibi çevrimiçi öğreticilerden toplanan bilgilere dayanıyordu . Bu lxc-create, mevcut OpenVZ şablonlarındalxc-start|stop ve lxc-destroykomutlarında ve değiştirilmesinde merkezlenmiştir .

Bu iyi çalışıyor ve mutlu bir şekilde üretimde çalışıyor. Bununla birlikte, bazı ek sistemler getiriyorum ve Red Hat'ın EL6'daki konteynerlerle ilgili mevcut belgelerini kontrol etmeye karar verdim. Bu konudaki resmi tutumlarını görünce şaşırdım.

In Does RHEL 6 LXC araçları Linux Konteynerler kullanmak için gereken sağlamak? Red Hat bir şekilde LXC açıklanır Teknoloji Önizleme ve oluşturmak ve yönetmek konteynerleri yönetmek için libvirt kullanarak önerir .

Yine de Oracle , Kırılmaz Linux'unda tamamen farklı bir kapsayıcılık tekniğini savunuyor .

Libvirt yönteminde bazı eksik işlevler var gibi görünüyor, ancak lxc- * komutları ile ilk yaklaşımım biraz manuel bir işlemdi ... EL6'da kapsayıcıları yönetmek için neyin doğru ya da "kabul edilen" araçların ne olduğunu tam olarak anlayamıyorum .

  • Bugün LXC ve RHEL benzeri sistemlerle ilgili geleneksel bilgelik nedir?
  • Nasıl edilir Eğer kuruluşunuzda uygulamadan?
  • Bir yaklaşımın diğer yaklaşımlara göre avantajları var mı?
  • Bunlar bir arada var olabilir mi?

1
libvirt bir LXC konteyner sürücüsüne sahiptir ve sadece kontrol eder, kendi başına bir sanallaştırma / konteynerizasyon çözümü değildir.
Cristian Ciupitu

Yanıtlar:


7

Bugün LXC ve RHEL benzeri sistemlerle ilgili geleneksel bilgelik nedir?

Şahsen, mevcut kurulumu biraz eksik buluyorum. LXC daha ön planda görünüyor - kesinlikle daha korunur.

Onları nasıl uyguluyorsunuz?

Sanallaştırma seçeneği olarak sunma konusunda değilim. Mevcut teknolojik kurulumun eksik olduğunu düşünüyorum.

  • Kullanıcı adı ad alanı yok.
  • Bazı bağlama noktaları ad alanının farkında değildir (cgroups, selinux)
  • / Proc içindeki değerler, ad alanlarında kaynak bölümlemesini hesaba katmayan yanıltıcı sistem globalleridir.
  • Denetim denetimi.

Ancak uygulama düzeyinde sınırlama için gerçekten güzel bir araç buluyorum. Kullanıcı alanlarındaki belirli web uygulamaları için ağ ve IPC kaynaklarını içermek üzere doğrudan ad alanlarını ve gruplarını kullanıyoruz. Kontrol etmek için kendi arayüzümüzü sağlıyoruz. RHEL7'de bu işlevselliği , kullanıcı ACL'leri kavramını libvirt-lxcdaha yeni libvirtdestek revizyonlarına taşımayı düşünüyorum .

Tamamen başlatılan bir sistem açısından sanallaştırma için RHEL7'de sunulanları beklemek için bekliyorum, ancak tüm dürüstlükte, RHEL7'nin daha sonraki küçük bir sürümünde ve sonra belki de sonra bir kez yeterince iyi bir çözüm görebileceğimizi hissediyorum yalnızca teknoloji önizleme durumunda.

systemd-nspawnÖnümüzdeki 18 ay içinde bana söyleyecek bir şeyi göz önünde bulundurun ya da yerini alabilir, tamamen linux içerdiği sanallaştırmayı yapmak için en iyi araçtır, sistemd yazarları şu anda güvenli olmadığını açıkça belirtsin! Sonunda libvirtdamla libvirt-lxcve sadece systemd-nspawntanımlanmış systemd dilimleri ile bir sarmalayıcı sunuyorsa şaşırmazdım .

Ayrıca, son 6 ay boyunca, grupların bir dosya sistemi arayüzü (belki de netlink veya başka bir şey kullanarak kontrol edilmemiş) yerine bir çekirdek programcı arayüzü olarak yeniden uygulanması konusunda çok fazla konuşulduğundan emin olun, bu yüzden sistemd çok sıcak olmalı çok hızlı bir şekilde doğru yapmanın kuyruğunda.

Bir yaklaşımın diğerine karşı avantajları var mı?

Bence LXC seçeneği (libvirt-lxc değil) daha iyi korunur. libvirt-lxcKaynak kodunu okuduktan sonra , acele ediyor. Geleneksel LXC kesinlikle daha iyi test edilmiş daha yeni özelliklere sahiptir. Her ikisi de init sistemi tarafından çalıştırılan bir derece uyumluluk gerektirir, ancak LXC, libvirt-lxcözellikle onlarda çalışmak için dağıtım alma konusunda seçenekten biraz daha "anahtar" bulacağınızdan şüpheleniyorum .

Bunlar bir arada var olabilir mi?

Elbette, tüm niyet ve amaçlar için her ikisinin de aynı şeyi yaptığını unutmayın. Ad alanlarının, grupların ve bağlama noktalarının düzenlenmesi. Tüm ilkeller çekirdeğin kendisi tarafından ele alınır. Her iki lxcuygulama da sadece mevcut çekirdek seçenekleriyle arabirim oluşturmak için bir mekanizma sunar.


9

Red Hat büyük bir konteynerizasyon hamlesi yapıyor. Etrafında yeni bir ürün olan Red Hat Enterprise Linux Atomic Host'u inşa ediyorlar .

Daha az radikal bir yaklaşım için, RHEL7 beta Kaynak Yönetimi ve Linux Kapsayıcıları Kılavuzuna bakın ; libvirt-lxc'yi ittiğini ve lxc araçlarından bahsetmediğini fark edeceksiniz.


1
Bunun için teşekkürler. RHEL Atomic Host, Docker.io'ya büyük ölçüde güveniyor gibi görünüyor . Bu, Docker'ın ve ilgili araçların ileri doğru yol olduğunu gösteriyor mu?
ewwhite

Red Hat kesinlikle docker'a büyük yatırım yapıyor, ancak aynı zamanda libvirt-lxc'nin birincil geliştiricileri. Her birinin sağladığı yeteneklere bakarım ve ihtiyaçlarınıza daha uygun olanı görürüm.
sciurus

1
Evet @ewwhite Aşağıdaki Redhat dokümanı tam olarak bundan bahsediyor: access.redhat.com/articles/1365153
Susinthiran

1

Lxc- * yürütülebilir içinde paketlenmiş LXC içinde paketin Epel . Ancak bu eski "uzun vadeli destek" sürümüdür. Lxc-ls'de "-f" seçeneğiniz bile yoktur. LXC ana bilgisayarlarım için Ubuntu'yu kurabilirim.

LXC'yi yönetmenin RHEL yolu libvirt-lxc yoluyla görünmektedir, ancak görünüşe göre kullanımdan kaldırılmıştır .

Ubuntu, Redhat KVM ve docker'a odaklanırken yeni lxc / lxd gelişiminin çoğunu desteklediğini kaydetti.


Soru RHEL 6 ile ilgili, kullanımdan kaldırma RHEL 7 anlamına geliyor «Aşağıdaki libvirt-lxc paketleri Red Hat Enterprise Linux 7.1 ile başlayarak kullanımdan kaldırılmıştır:» bu kullanılabilir
taharqa
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.