Ulasan: Distro Linux terbaik untuk Docker dan bekas

Selama enam bulan terakhir, saya telah mengkaji lima distribusi Linux minimum yang dioptimumkan untuk menjalankan kontena: Alpine Linux, CoreOS Container Linux, RancherOS, Red Hat Atomic Host, dan VMware Photon OS. Secara umum dikenal sebagai "sistem operasi kontainer", pengedaran Linux yang dibuat khas ini yang dilucutkan, bukan satu-satunya cara untuk menjalankan kontena dalam pengeluaran, tetapi mereka menyediakan pangkalan yang tidak membazirkan sumber pada apa pun selain sokongan kontena.

Keadaan industri dengan sistem penyebaran kontena sangat mirip dengan masa awal pengedaran Linux. Anda mempunyai satu elemen penting, dalam hal ini wadah Docker, yang dikelilingi oleh sejumlah komponen ekosistem yang bersaing. Sama seperti distro Linux tradisional menggabungkan pengurus pakej yang berbeza, persekitaran desktop, utiliti sistem, perkhidmatan, dan aplikasi, sebilangan besar pengedaran kontena menggabungkan dan memadankan pelbagai komponen untuk membuat apa yang mereka anggap sebagai penyelesaian optimum. Contohnya, konfigurasi dan penemuan perkhidmatan yang diedarkan. Terdapat beberapa penyelesaian untuk ini seperti Etcd, Consul, dan ZooKeeper.

Setiap pengedaran mengambil pendekatan yang berbeza dengan apa yang harus dimasukkan dalam timbunan. Pada satu tahap terdapat distribusi yang dirancang untuk hanya menyokong tahap tumpukan yang lebih tinggi, seperti CoreOS Container Linux dan Red Hat Project Atomic. Sebilangan besar fungsi telah dimasukkan ke dalam lapisan pengurusan proprietari sehingga tidak ada harapan untuk menggunakan OS untuk perkara lain. Distro lain, seperti RancherOS dan VMware Photon OS, memberikan fleksibiliti yang lebih besar, menyokong pelbagai komponen ekosistem dan sistem orkestrasi. Ini memberi pentadbir cara yang baik untuk bereksperimen dan berpotensi mengelakkan masuknya vendor.

Linux Alpine

Alpine Linux, sistem operasi yang mendasari banyak gambar rasmi Docker, adalah pilihan terbaik untuk tugas tersebut. Berukuran hanya lima megabait, Alpine Linux berada di seberang spektrum dari sebaran Linux penuh lemak beberapa tahun yang lalu, yang bersaing dengan Solaris dan bertujuan untuk menjalankan sistem perkakasan besar. Linux generasi baru ini direka untuk dijalankan pada perkakasan yang disematkan, dan menggunakan sumber yang minimum, menjadikannya pilihan yang tepat untuk kontena.

Warisan Alpine Linux sebagai OS sistem tertanam jelas semasa kajian saya. Sebilangan besar pilihan konfigurasi lalai dengan sistem terbenam, dan dokumentasi di banyak kawasan jarang atau tidak ada. Jelas sistem yang dirancang untuk dan terutama digunakan oleh penggodam, Alpine Linux akan meminta syarikat untuk menyelesaikan beberapa rintangan untuk membina aplikasi mereka.

Penyebaran pengeluaran Alpine Linux akan menikmati beberapa kelebihan termasuk permulaan yang pantas, jejak minimalis, dan sikap selamat secara lalai yang tidak terdapat di tempat lain. Segala-galanya dari binari sistem hingga perpustakaan C direka untuk penggunaan kecil, cepat dan selamat. Tidak ada kembung di sini.

Pentadbiran Alpine Linux berbeza daripada sistem Linux tradisional, dan memerlukan sedikit masa untuk belajar. Pemasangan dan pengurusan pakej adalah unik walaupun di antara sistem operasi kontena, walaupun difikirkan dengan baik. Sekiranya kedai pembangunan anda mempunyai pemaju di atas rata-rata yang bersedia membuat pelaburan, Alpine Linux akan menyediakan asas yang kukuh, stabil dan selamat untuk aplikasi untuk jangka masa yang akan datang.

CoreOS Container Linux

Tumpukan kontena CoreOS menggunakan Etcd untuk penyimpanan dan penemuan perkhidmatan yang diedarkan, Flannel untuk rangkaian, dan Kubernetes untuk penyusun kontena, dan menyokong rasa format kontena sendiri, rkt (Rocket), selain Docker. Rocket adalah percubaan pada format kontena yang bersaing untuk mengatasi kekurangan dalam format Docker sekitar tahun 2015, tetapi dengan kekurangan yang diatasi, Rocket belum melihat banyak penyerapan.

Video berkaitan: Apa itu Kubernetes?

Dalam video 90 saat ini, pelajari tentang Kubernetes, sistem sumber terbuka untuk mengautomasikan aplikasi kontena, dari salah seorang penemu teknologi, Joe Beda, pengasas dan CTO di Heptio.

CoreOS, seperti Project Atomic, tidak takut menyimpang secara radikal dari Linux tradisional. Seperti OS kontena Red Hat, CoreOS Container Linux membuat sistem fail yang paling tidak berubah, tetapi melakukannya dengan sistem pemisah cakera yang diilhamkan oleh OS Chromium Google. Apa yang dilakukan ini adalah mengekalkan sistem fail lama pada partition, yang bermaksud bahawa rollback selalu selamat dan cepat.

Walaupun dokumentasinya cukup baik dan komprehensif, saya mendapati pemasangannya agak rumit, melibatkan proses dua langkah untuk mendapatkan fail konfigurasi. Namun, setelah dipasang, CoreOS menawarkan peningkatan "tanpa henti" yang berterusan, ciri yang dimungkinkan oleh susun atur partition disk yang unik. CoreOS telah melakukan banyak pekerjaan di sini, dan syarikat itu menawarkan pelbagai pilihan penyelenggaraan yang sesuai dengan kebanyakan organisasi, termasuk kemampuan untuk tidak ikut serta.

CoreOS, agak seperti Project Atomic, adalah keputusan semua-atau-apa-apa. Memilih kepingan dan menggunakan OS yang mendasari untuk membina infrastruktur kontena anda sendiri bukanlah pilihan kerana semua keputusan reka bentuk seni bina dimasukkan ke dalam platform. Sekiranya anda bersedia menerima keputusan tersebut dan membayar pengedaran Kubernetes komersial, Tectonic, tidak diragukan lagi anda boleh melakukan angkat berat yang serius.

Makmal Rancher RancherOS

Rancher Labs 'RancherOS adalah sistem operasi Linux yang terdiri sepenuhnya dari kontena. Malah proses init (PID 1) adalah bekas Docker. Ini bermaksud bahawa tidak ada keperluan untuk sistem pengurusan pakej. Peningkatan OS (dan penurunan) diuruskan dengan Docker, sama seperti wadah lain.

Walaupun pendekatan ini sama radikalnya dengan keputusan seni bina yang dibuat dalam sebilangan pengedaran lain, seperti Project Atomic dan CoreOS, hasilnya adalah kesederhanaan yang mengejutkan. Walaupun pada mulanya mempelajari pentadbiran sistem yang baru kelihatan menakutkan, anda harus tahu Docker untuk menguruskan kontena, jadi mengapa tidak menggunakan sistem yang sama untuk keduanya?

RancherOS nampaknya akan matang dengan cepat. Dalam tinjauan saya, saya mendapati dokumentasi agak kurang, tetapi mana-mana pembangun atau pentadbir yang biasa dengan kontena Docker sudah mengetahui sebahagian besar sistem. RancherOS mempunyai jejak kecil (20MB) dan menggunakan sumber yang cekap. Walaupun garis antara Rancher sistem pengurusan kontena dan Rancher OS agak kabur, sistem pengurusan kontena adalah sumber terbuka dan terbuka, jadi tidak ada alasan untuk mencuba sendiri. Organisasi yang memerlukan akses ke kod sumber tidak perlu mencari lagi.

Platform Rancher menyokong hampir keseluruhan ekosistem alat untuk pengurusan kontena, termasuk Docker Swarm, Kubernetes, dan Mesos, dan ia maju dengan pesat. Walaupun berbeza secara radikal daripada UNIX tradisional, RancherOS nampaknya lebih dekat dengan falsafah asas UNIX daripada pengedaran OS kontena yang lain: Alat mudah beroperasi bersama dengan cara yang elegan.

Atomik Projek Topi Merah

Atomik Projek Red Hat berada di kem orkestrasi khidmat Kubernetes. Biasanya jenis penyebaran ini diarahkan pada senario berskala besar dan sangat tersedia. Kelemahannya adalah, pada asasnya, anda harus "melakukan apa yang diperintahkan" dan membuat aplikasi secara konvensional.

Di dalam kotak, anda akan menemui Flannel untuk rangkaian, Etcd untuk penyimpanan nilai kunci yang diedarkan, dan OSTree untuk pengurusan hos. OSTree adalah kaedah yang agak baru untuk menggunakan OS pada skala yang boleh dipercayai dan diedarkan. Atomic menggabungkan OSTree dengan pengurus pakej RPM baru untuk membuat RPM-OSTree, yang memberikan sistem fail yang kebanyakannya tidak berubah.

Saya mendapati Project Atomic menjadi satu cabaran. Ia sangat bercita-cita tinggi dan bergerak pantas, dengan banyak bahagian yang bergerak. RHEL, CentOS, Fedora, SELinux, Systemd, set perintah "Docker" khusus untuk mengendalikan host yang mendasari ... mereka semua dalam campuran, dan dokumentasi tidak teratur dan membingungkan. Tambahan pula, dalam kelompok kecil saya, kekurangan Chef, Garam, atau Boneka, saya harus mengkonfigurasi setiap nod secara manual.

Intinya adalah bahawa Project Atomic masih memerlukan sedikit masa untuk memanggang. Sekiranya penglihatan itu direalisasikan, maka ia mungkin menjadi standard masa depan - walaupun bukan untuk pusat data dengan beratus-ratus nod tetapi beribu-ribu atau puluhan ribu. Dalam hal ini, penglihatan kelihatan lebih dekat dengan Mesos daripada sistem penyebaran kontena biasa. Sekiranya syarikat anda hidup dan menghirup ekosistem Red Hat dan merancang untuk tinggal di sana, maka Project Atomic mungkin patut dimulakan.

OS VMware Photon

VMware's Photon OS adalah hos kontena Linux minimum yang dirancang untuk mempunyai jejak kecil dan disesuaikan untuk hypervisor VMware. Oleh itu, Photon OS hanya berjalan di persekitaran maya; penyebaran pada perkakasan fizikal tidak mungkin dilakukan. Photon OS disesuaikan untuk menjadikan pengurusan kontena lebih mudah, tetapi tidak radikal seperti Atomic atau CoreOS. Photon OS lebih merupakan langkah evolusi.

Berdasarkan ujian saya, OS Foto menepati janjinya di persekitaran maya VMware. (OS Photon juga dapat berjalan di hypervisor lain seperti awan Google dan Amazon.) Kerana Photon OS dapat membuat andaian mengenai perkakasan (maya), ekosistem sangat mirip dengan Linux standard, menjadikan kurva pembelajaran kurang curam. Rangkaian dan penyimpanan adalah serasi dengan Systemd, dan terdapat berbagai pilihan yang didokumentasikan untuk rangkaian kontena. Dokumentasi untuk Photon OS mungkin yang terbaik di antara produk yang dikaji.

VMware memimpin dalam memproduksi kontena untuk persekitaran tradisional, dan ini masuk akal apabila anda memikirkannya. Berapa kerapkah anda diminta menerangkan perbezaan antara bekas dan VM? Dengan Photon OS, tidak lama lagi tidak akan ada perbezaan: Kontainer hanya akan menjadi VM ringan, digunakan dan dikendalikan dengan alat yang sama. Photon OS menyokong hampir setiap bahagian utama ekosistem kontena: kontena Docker dan Rocket, Docker Swarm, Kubernetes, Mesos, Google Cloud Engine, Amazon EC2, dan banyak lagi.

Dari semua pengedaran yang saya kaji, VMware Photon OS nampaknya paling berwawasan dan kini paling lengkap dan boleh digunakan. Sekiranya anda adalah kedai VMware yang menjelajah wadah, saya tidak akan memikirkan perkara lain. Sekiranya anda bukan kedai VMware, Photon OS masih boleh dilihat dengan baik.

Membandingkan sistem operasi kontena

Linux Alpine menyokong sebahagian besar gambar Docker di luar sana. Sesuai untuk aplikasi yang disematkan, Alpine Linux tidak boleh dianggap sebagai cara untuk menjalankan kontena. Sebaliknya, Alpine Linux adalah wadahnya. Pembangun yang biasa menggunakan aplikasi bangunan di Alpine Linux akan menulis aplikasi kontena yang lebih baik.

CoreOS, salah satu sistem operasi kontena awal, mengadopsi timbunan teknologi Google. Ia menawarkan cara yang boleh dipercayai, walaupun menurut pendapat, untuk menguruskan infrastruktur kontena. Walaupun CoreOS menjadikan banyak komponen tersedia sebagai sumber terbuka, kerumitan pembelajaran seperti tumpukan besar secara berkesan bermaksud pengguna perlu membeli sistem orkestrasi Techtonic eksklusif untuk penyebaran pengeluaran. Sekiranya wang bukan objek, dan anda perlu menggunakan aplikasi bersaiz Google, CoreOS adalah pilihan yang logik.

RancherOS adalah bekas tulen. Sekiranya anda akan melancarkan infrastruktur kontena anda sendiri, atau anda mahukan timbunan pengurusan kontena minimum, RancherOS adalah tempat untuk memulakan. Dengan alat orkestrasi dan penjadualan sumber terbuka seperti Docker Swarm, Kubernetes, dan Mesos semuanya tersedia secara bebas, timbunan Rancher akan menarik minat syarikat terbuka yang berorientasikan sumber terbuka.

Red Hat's Project Atomic adalah projek payung yang merangka semula cara syarikat menggunakan infrastruktur. Projek bercita-cita tinggi ini dapat mengubah cara syarikat berfikir tentang penggunaan aplikasi, tetapi jalannya panjang. Project Atomic sangat sesuai untuk pengguna awal dengan pelaburan besar yang ada dalam teknologi Red Hat.

OS Photon VMware membawa teknologi dan pengalaman pengurusan mesin maya vendor itu ke kontena. Photon OS digunakan sebagai mesin maya dan dikendalikan dengan alat VM tradisional. VMware, mungkin melihat tulisan di dinding untuk VM tradisional, dengan sepenuh hati menggunakan teknologi kontena dan dengan cepat memajukan keadaan seni. Sekiranya anda adalah kedai VMware sekarang, anda akan sukar mencari platform kontena yang lebih baik daripada Photon OS.

Baca ulasan Linux wadah: 

  • Ulasan: Alpine Linux dibuat untuk Docker
  • Ulasan CoreOS: Linux untuk kontena dan Kubernetes
  • RancherOS: Linux yang lebih sederhana untuk pencinta Docker
  • Ulasan: Red Hat melakukan Docker dengan cara yang sukar
  • Ulasan: OS Photon VMware bersinar untuk bekas Docker