Praktik dan pedoman terbaik untuk meluncurkan kontainer dan Kubernet di lingkungan produksi


Ekosistem teknologi kontainerisasi berkembang pesat dan berubah, oleh karena itu, praktik kerja yang baik kurang di bidang ini. Namun demikian, Kubernet dan wadah semakin sering digunakan - baik untuk meningkatkan aplikasi lama dan untuk mengembangkan aplikasi cloud modern. 

Tim Mail.ru Kubernetes aaS telah mengumpulkan prakiraan, kiat, dan praktik terbaik untuk para pemimpin pasar dari Gartner, 451 Research, StacxRox, dan lainnya. Mereka akan memungkinkan dan mempercepat penyebaran kontainer di lingkungan produksi.

Bagaimana memahami jika perusahaan Anda siap untuk menyebarkan kontainer di lingkungan produksi


Menurut Gartner , pada tahun 2022 lebih dari 75% organisasi akan menggunakan aplikasi kemas dalam produksi. Ini secara signifikan lebih dari saat ini, ketika kurang dari 30% perusahaan menggunakan aplikasi tersebut. 

Menurut 451 Research , perkiraan pasar untuk penggunaan teknologi kontainer pada tahun 2022 akan menjadi $ 4,3 miliar. Ini lebih dari dua kali lipat jumlah yang diproyeksikan pada tahun 2019, dengan tingkat pertumbuhan pasar sebesar 30%.

Dalam sebuah survei oleh Portworx dan Aqua Security, 87% responden mengatakan mereka saat ini menggunakan teknologi wadah. Sebagai perbandingan, pada 2017 ada 55% responden tersebut. 

Terlepas dari meningkatnya minat dan pertumbuhan dalam pengenalan kontainer, peluncuran mereka ke dalam produksi membutuhkan pelatihan karena ketidakdewasaan teknologi dan kurangnya pengetahuan. Organisasi harus secara realistis melihat proses bisnis yang memerlukan pengaplikasian aplikasi. Para pemimpin TI harus mengevaluasi apakah mereka memiliki seperangkat keterampilan untuk bergerak maju dengan kebutuhan akan pelatihan cepat. 

Pakar Gartner percaya bahwa pertanyaan pada gambar di bawah ini akan membantu Anda memahami jika Anda siap untuk menggunakan kontainer dalam produksi:


Kesalahan paling umum saat menggunakan wadah dalam produksi


Organisasi sering meremehkan upaya yang diperlukan untuk mengoperasikan kontainer dalam produksi. Gartner menemukan beberapa kesalahan umum dalam skrip pelanggan ketika menggunakan wadah di lingkungan produksi:


Cara memastikan keamanan wadah


Keamanan tidak bisa ditangani dengan "nanti." Itu harus dibangun ke dalam proses DevOps, sehingga bahkan istilah khusus telah muncul - DevSecOps. Organisasi perlu merencanakan perlindungan lingkungan wadah di seluruh siklus hidup pengembangan, yang meliputi proses perakitan dan pengembangan, penyebaran, dan peluncuran aplikasi.

Rekomendasi dari Gartner

  1. / (CI/CD). . , . โ€” .
  2. Center for Internet Security (CIS), Docker, Kubernetes.
  3. Pastikan untuk menerapkan kontrol akses, memberikan pemisahan tugas, dan menerapkan kebijakan manajemen keamanan. Informasi rahasia, seperti kunci Secure Sockets Layer (SSL) atau kredensial basis data, dienkripsi oleh orkestra atau layanan manajemen pihak ketiga dan diberikan pada waktu berjalan
  4. Hindari wadah hak istimewa yang ditinggikan dengan mengelola kebijakan keamanan, ini akan mengurangi potensi risiko peretasan.
  5. Gunakan alat keamanan yang menyediakan daftar putih, pemantauan perilaku, dan deteksi anomali untuk mencegah aktivitas berbahaya.

Rekomendasi dari StacxRox :

  1. Kubernetes. , . , , . , . . 
  2. . , , , ยซ ยป . , .
  3. Tetapkan kebijakan jaringan: isolasi modul untuk membatasi akses ke sana; secara eksplisit mengizinkan akses Internet ke modul-modul yang membutuhkannya menggunakan label; secara eksplisit memungkinkan komunikasi antara modul-modul yang perlu berkomunikasi satu sama lain. 

Cara mengatur pemantauan wadah dan layanan di dalamnya


Keamanan dan pemantauan adalah masalah utama perusahaan ketika menggunakan kluster Kubernetes. Pengembang selalu lebih fokus pada fitur aplikasi yang mereka kembangkan daripada pada aspek pemantauan aplikasi ini

Rekomendasi dari Gartner :

  1. Cobalah untuk memantau status wadah atau layanan di dalamnya bersama dengan sistem pemantauan tuan rumah.
  2. Berikan preferensi kepada produsen dan instrumen dengan integrasi mendalam dalam orkestrasi wadah, terutama Kubernetes.
  3. Pilih alat yang menyediakan pencatatan terperinci, penemuan layanan dan rekomendasi otomatis secara real time menggunakan analitik dan / atau pembelajaran mesin.

Blog SolarWinds menyarankan :

  1. Gunakan alat untuk secara otomatis mendeteksi dan melacak metrik wadah, menghubungkan metrik kinerja seperti prosesor, memori, dan waktu kerja.
  2. Pastikan perencanaan kapasitas yang optimal dengan memprediksi waktu kehabisan kapasitas berdasarkan indikator pemantauan kontainer.
  3. , , , , .
  4. , .
  5. , , , .
  6. , (, ) , , .


Dengan meningkatnya jumlah kontainer yang bekerja dengan pengawetan negara, klien perlu mempertimbangkan lokasi data di luar host, serta kebutuhan untuk melindungi data ini. 

Menurut survei oleh Portworx dan Aqua Security , keamanan data menempati urutan pertama dalam daftar masalah keamanan yang dicatat oleh sebagian besar responden (61%). 

Enkripsi data adalah strategi keamanan utama (64%), tetapi responden juga menggunakan pemantauan runtime (49%), pemindaian kerentanan registri (49%), pemindaian kerentanan di jalur pipa CI / CD (49%) dan anomali memblokir melalui perlindungan runtime (48%).

Rekomendasi dari Gartner :

  1. , . , , , API, ,  .
  2. . , Kubernetes , CSI (Container Storage Interfaces).


Model jaringan korporat tradisional, di mana spesialis TI menciptakan lingkungan jaringan untuk pengembangan, pengujian, jaminan kualitas dan produksi untuk setiap proyek, tidak selalu sesuai dengan alur kerja pengembangan berkelanjutan. Selain itu, jaringan kontainer menjangkau beberapa level.

The Magalix blog telah menyusun aturan tingkat tinggi bahwa pelaksanaan solusi cluster jaringan harus memenuhi:

  1. Pod yang dijadwalkan pada node yang sama harus dapat berkomunikasi dengan modul lain tanpa menggunakan NAT (terjemahan alamat jaringan).
  2. Semua daemon sistem (proses latar belakang, misalnya kubelet) yang berjalan pada node tertentu dapat berinteraksi dengan pod yang berjalan pada node yang sama.
  3. Pod yang menggunakan jaringan host harus dapat berkomunikasi dengan semua pod lain di semua node lain tanpa menggunakan NAT. Perhatikan bahwa jaringan host hanya didukung pada host Linux.

Solusi jaringan harus terintegrasi erat dengan primitif dan kebijakan Kubernetes. Eksekutif TI harus mengusahakan otomatisasi jaringan tingkat tinggi, menyediakan alat yang tepat kepada pengembang dan fleksibilitas yang memadai.

Rekomendasi dari Gartner :

  1. Cari tahu apakah CaaS Anda (wadah sebagai layanan) atau jaringan Kubernetes SDN (Software Defined Network) Anda didukung. Jika tidak atau jika dukungan tidak mencukupi, gunakan Container Network Interface (CNI) untuk wadah Anda, yang mendukung fungsionalitas dan kebijakan yang diperlukan.
  2. , CaaS PaaS ( ) / , . , service mesh.
  3. Linux , .


Untuk pengiriman aplikasi otomatis dan tanpa gangguan, Anda perlu melengkapi orkestrasi wadah dengan alat otomatisasi lainnya, seperti produk infrastruktur seperti kode (IaC). Ini termasuk Chef, Wayang, Ansible dan Terraform. 

Yang juga diperlukan adalah alat otomatisasi untuk merakit dan meluncurkan aplikasi (lihat โ€œ Magic Quadrant for Orchestrating Application Release โ€). Kontainer juga menyediakan kapabilitas ekspansi yang serupa dengan yang ada saat menggunakan mesin virtual (VM). Oleh karena itu, manajer TI harus memiliki alat manajemen siklus hidup kontainer .

Rekomendasi dari Gartner :

  1. , .
  2. , , .
  3. CaaS , .


Fungsi utama untuk menempatkan kontainer disediakan di tingkat orkestrasi dan perencanaan. Ketika merencanakan wadah ditempatkan pada inang yang paling optimal di cluster, sebagaimana ditentukan oleh persyaratan tingkat orkestrasi. 

Kubernetes telah menjadi standar de facto untuk orkestrasi wadah dengan komunitas aktif, didukung oleh sebagian besar pemasok komersial terkemuka. 

Rekomendasi dari Gartner :

  1. Tetapkan persyaratan dasar untuk kontrol keamanan, pemantauan, manajemen kebijakan, penyimpanan data, manajemen jaringan, dan siklus hidup kontainer.
  2. Berdasarkan persyaratan ini, pilih alat yang paling sesuai dengan kebutuhan Anda dan skenario penggunaan.
  3. Gartner (. ยซ Kubernetesยป), Kubernetes .
  4. , , .


Gartner percaya bahwa minat dalam menempatkan kontainer di cloud IaaS publik tumbuh karena ketersediaan penawaran CaaS siap pakai, serta integrasi erat penawaran ini dengan produk lain yang ditawarkan oleh penyedia cloud.

IaaS Cloud menawarkan konsumsi sumber daya sesuai permintaan, skalabilitas cepat, dan manajemen layanan untuk membantu menghindari kebutuhan akan pengetahuan mendalam tentang infrastruktur dan pemeliharaannya. Sebagian besar penyedia cloud menawarkan layanan manajemen kontainer, dan beberapa menawarkan beberapa opsi orkestrasi. 

Penyedia cloud utama dari layanan terkelola disajikan dalam tabel: 

Penyedia cloudJenis layananProduk / Layanan
AlibabaLayanan cloud asliAlibaba Cloud Container Service, Alibaba Cloud Container Service for Kubernetes
Amazon Web Services (AWS)Native Cloud ServiceAmazon Elastic Container Services (ECS), Amazon ECS for Kubernetes (EKS), AWS Fargate
Giant SwarmMSPGiant Swarm Managed Kubernetes Infrastructure
GoogleNative Cloud ServiceGoogle Container Engine (GKE)
IBMNative Cloud ServiceIBM Cloud Kubernetes Service
MicrosoftNative Cloud ServiceAzure Kubernetes Service, Azure Service Fabric
OracleNative Cloud ServiceOCI Container Engine for Kubernetes
Platform9MSPManaged Kubernetes
Red HatHosted ServiceOpenShift Dedicated & Online
VMwareHosted ServiceCloud PKS (Beta)
Mail.ru Cloud Solutions*Native Cloud ServiceMail.ru Cloud Containers

* Jangan menyembunyikannya, kami menambahkan diri kami di sini selama terjemahan :)

Penyedia cloud publik juga menambahkan fitur baru dan merilis produk lokal. Dalam waktu dekat, penyedia cloud akan mengembangkan dukungan untuk cloud hybrid dan lingkungan multi-cloud. 

Rekomendasi Gartner :

  1. Secara obyektif menilai kemampuan organisasi Anda untuk menggunakan dan mengelola alat-alat yang sesuai, dan mempertimbangkan layanan manajemen wadah cloud alternatif.
  2. Pilih perangkat lunak Anda dengan hati-hati, gunakan sumber terbuka jika memungkinkan.
  3. Pilih vendor dengan model operasi tunggal dalam lingkungan hybrid yang menawarkan manajemen cluster terintegrasi dari dashboard tunggal, serta penyedia yang membuatnya mudah untuk menggunakan IaaS secara mandiri.

Beberapa tips untuk memilih penyedia aaS Kubernetes dari blog Replex :

  1. Perlu mencari distribusi yang mendukung ketersediaan tinggi di luar kotak. Ini termasuk dukungan untuk beberapa arsitektur inti, komponen etcd ketersediaan tinggi, serta cadangan dan pemulihan.
  2. Untuk mobilitas di lingkungan Kubernetes, yang terbaik adalah memilih penyedia cloud yang mendukung berbagai model penyebaran: dari lokal ke hybrid dan multi-cloud. 
  3. Penawaran penyedia juga layak untuk dievaluasi, dengan mempertimbangkan kemudahan pengaturan, instalasi, dan pembuatan cluster, serta pembaruan, pemantauan, dan pemecahan masalah. Persyaratan dasar adalah dukungan untuk pembaruan cluster yang sepenuhnya otomatis dengan downtime nol. Solusi yang Anda pilih juga harus memungkinkan Anda untuk menjalankan pembaruan secara manual. 
  4. , . , Kubernetes , . RBAC .
  5. , , , CNI, Flannel, Calico, kube-router OVN.

Pengenalan kontainer ke dalam produksi menjadi fokus utama, sebagaimana dibuktikan oleh hasil survei yang dilakukan pada sesi Gartner tentang infrastruktur, operasi dan strategi cloud (IOCS) pada bulan Desember 2018:


Seperti yang Anda lihat, 27% responden sudah menggunakan wadah dalam pekerjaan mereka, dan 63% akan melakukannya.

Dalam sebuah survei oleh Portworx dan Aqua Security, 24% responden mengatakan mereka berinvestasi lebih dari setengah juta dolar per tahun untuk teknologi wadah, dan 17% responden menghabiskan lebih dari satu juta dolar per tahun untuk itu. 

Artikel ini disiapkan oleh tim Cloud Solutions Mail.ru dari platform cloud .

Apa lagi yang harus dibaca pada topik :

  1. Praktik Terbaik DevOps: Laporan DORA .
  2. Kubernetes .
  3. - Kubernetes.


All Articles