Review: VMware's Photon OS bersinar untuk kontainer Docker

Dengan proyek open source Photon, VMware berharap dapat membangun komunitas seputar praktik menjalankan aplikasi dalam container di lingkungan virtual. Photon adalah istilah umum untuk beberapa project yang mencakup cara menerapkan container pada VM, menggunakan Photon OS, serta cara menerapkan container sebagai VM pada infrastruktur VMware.

Photon OS adalah host kontainer Linux berukuran kecil yang dirancang untuk dijalankan pada mesin virtual dan disetel untuk hypervisor VMware. VMware sudah pasti merangkul gerakan Docker secara besar-besaran, dan tidak hanya di VMware. Anda dapat menjalankan Photon OS di hypervisor lain termasuk Google Compute Engine dan Amazon EC2. Namun, Anda tidak dapat menginstal Photon OS di server fisik.

Photon OS tidak membuat asumsi tentang container toolset, meskipun Docker diinstal secara default. Administrator dapat melapisi alat manajemen kontainer pilihan mereka di atas OS dasar menggunakan manajer paket Photon.

Administrasi sistem OS Photon

Pada Photon OS, manajemen paket dilakukan dengan TDNF (Tiny Dandified Yum), sebuah pembuatan VMware open source yang menawarkan manajemen paket yang kompatibel dengan DNF tanpa jejak Python yang besar di Yum.

VMware menyediakan repositori yang kompatibel dengan Yum untuk mengelola paket, dan menandatangani paket dengan tanda tangan GPG (GNU Privacy Guard). Ini membantu membuat sistem aman secara default. Verifikasi tanda tangan terjadi secara otomatis, jadi tidak ada langkah tambahan yang diperlukan oleh administrator sistem atau skrip. Repositori Photon OS "dikurasi", jadi jangan berharap menemukan setiap paket di luar sana tersedia untuk diunduh.

Karena Photon OS 1.0 Revision 2 dikemas dengan versi Docker yang lebih lama, hal pertama yang ingin saya lakukan adalah mencoba pembaruan. Ini berjalan lancar, dan dalam hitungan menit, semua container saya berjalan pada versi terbaru Docker.

Photon OS menggunakan sistem init Systemd, jadi administrator harus mempelajari rasa manajemen sistem itu jika mereka belum melakukannya. Keamanan adalah fokus, dan sistem menyertakan SE Linux untuk meningkatkan isolasi kontainer. Firewall (iptables) diaktifkan secara default, dan paket dari antarmuka eksternal (kecuali lalu lintas SSH) dihapus, sehingga administrator perlu menambahkan aturan untuk mengizinkan lalu lintas dari dunia luar.

Sebagian besar keamanan default ini tidak menghalangi, kecuali ketika melakukan perubahan wajib pada kata sandi root dari instalasi bersih. Setiap kesalahan membuat pengguna keluar dari shell dan kembali ke prompt login. Bagian ini mungkin sedikit lebih ramah pengguna.

Instalasi dan konfigurasi Photon OS

Saya menginstal Photon OS menggunakan mesin virtual yang dapat diunduh. Seperti yang Anda duga, ini tidak menimbulkan rasa sakit pada pengaturan VMware Workstation Pro saya. Sistem mendeteksi unduhan, menanyakan apakah saya ingin menerima parameter perangkat keras, dan langsung melakukan booting. Photon OS juga tersedia sebagai ISO, dan sebagai image untuk Amazon dan Google cloud. Setelah masuk sebagai root dan mengkonfigurasi login tanpa kata sandi, saya mati dan berjalan.

Instalasi minimal, seperti host Linux container lainnya, hampir tidak berisi apa-apa sudo, meskipun ia menyertakan SSH. Administrator yang menyebarkan armada VM Photon OS akan ingin membuat skrip penyiapan, dan untuk itu Photon OS menggunakan Cloud-Init, satu set skrip dan utilitas Python untuk mempermudah penerapan dan konfigurasi cloud.

Bahkan untuk OS untuk kontainer Docker, menyiapkan OS Photon semudah yang didapat. Tampaknya menjalankan Nginx dalam container adalah "Halo dunia" untuk Docker. Ini dia di Photon OS:

# systemctl start docker

# systemctl enable docker

# docker run –d –p 80:80 vmwarecna/nginx

Penyimpanan dan jaringan Photon OS

Berkat berjalan di lingkungan perangkat keras virtual, perangkat penyimpanan tampak seperti perangkat keras normal, dan operasi sistem file standar tersedia di Photon OS. Anda dapat menambahkan disk (virtual) baru ke mesin, dan memasangnya di tempat yang diperlukan, sama seperti disk lainnya. Sistem file Photon OS mencakup Btrfs dan Ext4. Sistem file root default adalah Ext4. Contoh Btrf sedikit dan Ext4 tampaknya mendominasi.

Penyimpanan jarak jauh ditangani oleh utilitas Photon NFS. Tidak ada Linux berorientasi kontainer lain yang pernah saya gunakan (Alpine, RancherOS, CoreOS, dan Atomic Host) yang menyertakan instruksi untuk NFS, jadi saya senang melihat VMware mendokumentasikan praktik tersebut. NFS masih hidup dan aktif di lingkungan perusahaan, dan saya berharap pemasangan drive NFS akan menjadi kasus penggunaan umum bagi pengguna Photon OS.

Satu-satunya pilihan penyimpanan yang tidak biasa di Photon OS adalah pilihan sistem file read-only atau read-write, tetapi ini benar-benar tergantung pada kasus penggunaan, dan saya senang memiliki pilihan tersebut.

Jaringan di Photon OS menggunakan utilitas iproute2, meskipun tradisional ipconfigdan netstatperintah disertakan. Instalasi Photon OS tidak menyertakan konfigurasi jaringan kontainer secara default, tetapi banyak konfigurasi populer yang didokumentasikan: Docker, Rocket, DCOS, dll. Dari perspektif jaringan, Photon OS sama seperti rasa Linux lainnya dan tidak ada kejutan.

Peningkatan dan penurunan OS Photon

Seperti Atomic Host Red Hat, Photon OS menggunakan rpm-ostree sebagai sistem manajemen image / paket hybrid, dengan server OSTree-nya sendiri. Memahami set perintah, terminologi, dan praktik terbaik rpm-ostree akan membutuhkan waktu administrator. Selain mempelajari sekumpulan perintah baru untuk dipelajari, administrator perlu mengetahui direktori hanya-baca dan memastikan bahwa aplikasi tidak menulis file ke dalamnya. Misalnya, direktori / usr hanya-baca saat menggunakan rpm-ostree. Profil rpm-ostree adalah opsi waktu penginstalan, sehingga pengguna dapat memilih dari TDNF atau rpm-ostree untuk manajemen paket. Dokumentasinya bagus tentang topik ini.

Saat mengembangkan Photon OS, VMware dapat menghapus semua jenis modul lama dari kernel Linux. Karena VMware mengontrol seluruh perangkat keras dan tumpukan OS, VMware juga dapat menyesuaikan buffer, penghitungan waktu, dan tanda kompilasi untuk menghilangkan redundansi antara runtime container dan hypervisor. Untuk organisasi dengan investasi dalam virtualisasi VMware, proyek Photon harus berada di urutan teratas untuk diselidiki.