1 poin oleh chcv0313 2025-12-26 | 9 komentar | Bagikan ke WhatsApp

Ada sebuah server yang digunakan bersama oleh puluhan orang.

Masing-masing melayani proyek mereka dengan container,

dan ketika terjadi masalah seperti server harus reboot, administrator kesulitan menangani container-container ini.

Apakah perlu meminta setiap orang menyerahkan command untuk menjalankan container Docker mereka seperti biasanya lalu administrator mengeksekusinya satu per satu,
atau membuatnya dengan Docker Compose lalu masuk ke folder tiap proyek satu per satu untuk menjalankan compose up, dan seterusnya.

Sebagai administrator, mohon saran tentang bagaimana mengelola banyak container.

9 komentar

 
selene 2025-12-29

Saya juga punya pandangan yang mirip dengan tujunim; menurut saya, menerapkan k8s sendirian tanpa orang yang berpengalaman lalu mengoperasikannya secara stabil tanpa insiden memiliki risiko yang cukup besar.

Namun, karena Anda mengatakan ada 4 server yang dipakai bersama oleh puluhan orang, situasinya memang agak ambigu,
tetapi daripada berdasarkan jumlah orang yang terlibat, jika jumlah program server terlalu banyak dan kondisinya kompleks, sepertinya ada baiknya mempertimbangkan untuk mempelajari k8s.

Kalau saya berada di situasi yang sama dengan penulis, saya kemungkinan akan memperbaiki lingkungan secara bertahap seperti di bawah ini.

  1. Ambil langkah agar tidak masalah meskipun program server mati kapan saja => termasuk implementasi graceful shutdown, refactor agar berjalan secara stateless, dan sebagainya. (atau minta para engineer untuk melakukannya)
  2. Kontainerisasi dan standarisasi program server => buat Dockerfile dan file docker compose untuk tiap layanan agar ketika dijalankan dengan perintah yang sama, layanan pasti bisa menyala.
  3. Kelola agar engineer lain selain admin tidak perlu masuk ke server => Anda bisa membangunnya mirip GitOps dengan memakai platform CI/CD seperti Jenkins/GitHub Actions/AWS CodePipeline. Kalau sampai tahap ini saja tercapai, engineer sudah bisa cukup mengendalikan redeploy/reboot pada level menjalankan ulang pipeline.
  4. Setelah itu, seperti yang dikatakan orang lain, lakukan peningkatan lebih lanjut (seperti memperkenalkan K8s dan ArgoCD)
 
chcv0313 2025-12-31

Terima kasih kepada semua yang telah memberikan jawaban. Target tahun ini tampaknya harus ditetapkan sebagai penerapan Kubernetes.

 
popopo 2025-12-28

Cara paling mudah adalah menjadikan container sebagai daemon sehingga container juga berjalan saat OS dinyalakan.

  • Sebelum restart, container juga bisa dimatikan secara normal satu per satu.

Jika menggunakan keluarga EL (Enterprise Linux, istilah umum untuk seri RHEL), container bisa didaftarkan sebagai layanan systemd. Katanya ini disebut Quadlet.

 
bungker 2025-12-27

Kalau hanya melihat pertanyaannya, ini tampaknya bisa diatasi dengan depends on, restart: always, atau unless-stopped, tetapi sepertinya ada situasi sulit yang tidak tercakup dalam pertanyaannya. Namun, kalau jumlahnya sampai puluhan orang, pada akhirnya sepertinya Anda perlu beralih ke Kubernetes.

Kalau pertanyaannya diajukan apa adanya ke AI, Anda mungkin juga bisa menemukan jawabannya.

 
tujuc 2025-12-27
  1. Infrastruktur Anda ditempatkan di mana? AWS? Kelola sendiri atau server hosting? Azure?
  2. Apakah Anda mengelolanya sendirian?
  3. Saat ini Anda sudah bekerja dalam kondisi seperti apa, dan sejauh mana pengetahuan Anda?

Jika ada informasi di atas, akan lebih mudah untuk membicarakannya.

Kalau saya menjawab hanya berdasarkan yang Anda sampaikan....

Saya kurang paham mengapa command untuk menjalankan container diperlukan. Minta saja dibuatkan file Compose, lalu paling baik jika semuanya dikonfigurasi agar bisa dijalankan dengan command yang sama (command Compose) berdasarkan itu.

:) Karena Anda admin, kalau Anda minta dibuat seperti itu, orang lain pasti akan membantu, jadi dorong saja :)

Saya pribadi kurang merekomendasikan k8s karena menurut saya itu solusi yang bebannya cukup besar untuk lingkungan yang dikelola sendirian.
Saya selalu berpikir bahwa infrastruktur sebaiknya disusun sesederhana mungkin kapan pun itu.

 
chcv0313 2025-12-27

Ini 4 server on-premise.
Saya mengelolanya sendirian.
Setelah lolos keamanan, Docker baru dipakai di perusahaan sekitar 4 bulan, dan saya hanya tahu konsep k8s. Penerapan HARBOR untuk Docker juga akan segera harus saya kerjakan, dan setelah Harbor diterapkan, Docker Hub rencananya akan diblokir. Kemungkinan hanya saya yang tetap punya akses ke Docker Hub, dan kalau ada permintaan, hanya saya yang akan mengambil image dari Docker Hub lalu mengunggahnya ke Harbor internal perusahaan.

Saya tidak memilih cara memaksakan semuanya dengan perintah Compose atau masuk ke folder tiap proyek lalu menjalankan compose up satu per satu karena menurut saya itu tidak realistis. Sebagai gantinya saya meminta perintah Docker dengan path absolut, tetapi belakangan saya tidak bisa menghilangkan pikiran bahwa itu pendekatan yang keliru.

 
byun1114 2025-12-27

Bukankah cukup dengan memberikan opsi restart Docker?

 
click 2025-12-26

Dalam kasus seperti ini, sebaiknya gunakan Kubernetes dan alokasikan context untuk tiap pengguna.
Hak akses juga bisa dibatasi agar setiap pengguna hanya dapat menggunakan context tersebut.

 
cafedead 2025-12-26

Gunakan k8s.