Skip to content

Penyedia Kubernetes

Penyedia Kubernetes memungkinkan Anda membuat klaster Kubernetes yang siap pakai dari Cockpit hanya dalam beberapa langkah terpandu. Cockpit membangun mesin virtual, memasang distribusi Kubernetes yang ringan dan sepenuhnya kompatibel (k3s), menyiapkan jaringan dan penyimpanan, lalu menyerahkan klaster yang bisa langsung Anda hubungkan menggunakan alat standar kubectl.

Anda tidak perlu menyiapkan server, menjalankan installer, atau menyalin perintah join secara manual. Anda cukup menentukan seberapa besar klaster yang diinginkan dan di mana ia berjalan, selebihnya Cockpit yang mengerjakan di latar belakang sementara Anda tetap bisa bekerja.

Untuk siapa panduan ini

Panduan ini ditujukan bagi mereka yang ingin menjalankan klaster Kubernetes — tim aplikasi, operator platform, dan administrator. Fokusnya pada apa yang Anda lakukan di antarmuka Cockpit dan cara memakai klaster setelahnya.


Sebelum memulai

Dua hal harus tersedia sebelum klaster pertama Anda. Jika administrator sudah menyiapkan lingkungannya, Anda bisa langsung ke Membuat klaster.

  • Templat klaster. Cockpit mengkloning setiap node dari citra templat Ubuntu yang sudah disiapkan. Biasanya ini sudah disediakan untuk Anda dan muncul otomatis sebagai pilihan di wizard.
  • Jaringan yang sesuai. Setiap node dalam klaster harus dapat menjangkau node lain dan menjangkau internet (untuk mengunduh komponen Kubernetes saat boot pertama). Lihat Memilih jaringan untuk cara memilih yang tepat.

Membuat klaster

  1. Pada pohon inventaris di sebelah kiri, klik kanan Cluster Anda.
  2. Pilih Kubernetes → New Cluster.
  3. Wizard Penyediaan Kubernetes akan terbuka dengan lima langkah singkat.

Setelah wizard selesai, Cockpit mulai membangun klaster di latar belakang. Anda boleh menutup wizard dan memantau kemajuannya di panel Tasks. Klaster muncul di inventaris dan berpindah dari provisioning ke active saat siap digunakan.

Langkah 1 — Identitas & Versi

KolomFungsinya
Nama KlasterNama yang mudah dikenali untuk klaster. Dipakai di inventaris dan pada berkas konfigurasi yang diunduh.
DeskripsiCatatan opsional untuk referensi Anda sendiri.
JaringanJaringan virtual tempat node terhubung. Lihat Memilih jaringan.
Versi KubernetesVersi k3s yang akan dipasang. Daftar selalu diperbarui untuk Anda; pilih yang terbaru kecuali ada alasan lain.
Plugin Jaringan (CNI)Cara pod saling berkomunikasi. Lihat Plugin jaringan. Biarkan pada Flannel jika ragu.

Langkah 2 — Control Plane

Control plane adalah "otak" klaster. Pilih seberapa tangguh ia harus dibuat:

  • Tunggal (1 node) — Paling sederhana dan ringan. Cocok untuk pengembangan dan pengujian. Jika node satu-satunya ini hilang, klaster tidak tersedia hingga pulih.
  • Ketersediaan Tinggi / High Availability (3 node) — Direkomendasikan untuk produksi. Klaster tetap berjalan meski salah satu node control plane gagal.

Anda juga mengatur CPU, Memori, Datastore, dan Ukuran Disk untuk setiap node control plane, serta pilihan Penempatan (Placement):

  • Auto-Distribute (direkomendasikan) — Cockpit menyebar ketiga node HA ke tiga host fisik berbeda secara otomatis, sehingga kegagalan satu host tidak menjatuhkan seluruh control plane.
  • Manual — Anda memilih sendiri host mana yang menjalankan tiap node.

Langkah 3 — Node Pekerja (Worker)

Worker menjalankan aplikasi Anda yang sebenarnya. Tentukan berapa jumlah awalnya serta CPU, Memori, Datastore, dan Ukuran Disk untuk masing-masing. Jumlah worker bisa Anda ubah kapan saja nanti — lihat Menskalakan klaster.

Penempatan bekerja sama seperti control plane: Auto-Distribute menyeimbangkan worker antar-host, atau gunakan Manual untuk menyematkan worker ke host tertentu (berguna bila host tertentu punya perangkat keras khusus seperti GPU).

Langkah 4 — Akses & Penyimpanan

  • Kunci Publik SSH — Opsional. Tempelkan kunci publik di sini bila Anda ingin akses SSH langsung ke VM node untuk pemecahan masalah. Ini tidak wajib untuk memakai klaster.
  • Tingkat Penyimpanan (CSI) — Pilih cara aplikasi memperoleh penyimpanan permanen. Anda boleh mengaktifkan lebih dari satu. Lihat Penyimpanan untuk aplikasi Anda.

Langkah 5 — Tinjau & Buat

Tinjau ringkasannya — ukuran klaster, sumber daya yang dipakai, dan host mana yang akan menjalankan tiap node. Klik Provision untuk memulai. Wizard menutup dan sebuah tugas dimulai.


Memilih jaringan

Jaringan yang Anda pilih pada Langkah 1 paling menentukan keberhasilan pembentukan klaster, jadi perlu dipertimbangkan sejenak.

Setiap node harus berada pada jaringan yang sama dan terjangkau, mendapat alamat IP secara otomatis (DHCP), dan menjangkau internet selama proses penyiapan. Dua situasi umum:

  • Jaringan bersama/routed yang menjangkau semua host — Node bisa tersebar di beberapa host fisik dan tetap saling berbicara. Ini pilihan tepat untuk klaster High Availability yang harus bertahan dari kegagalan host.
  • Jaringan NAT lokal-host — Jaringan jenis ini hanya berada di satu host. Saat Anda memilihnya, Cockpit otomatis menjaga semua node klaster tetap di host tersebut agar bisa berkomunikasi. Ini sepenuhnya wajar untuk pengembangan atau klaster mandiri, tetapi berarti nasib klaster mengikuti host itu.

WARNING

Hindari jaringan terisolasi yang hanya menghubungkan VM pada host yang sama tanpa pengalamatan bersama antar-host, serta jaringan tanpa akses internet. Node pada jaringan seperti itu tidak dapat menemukan satu sama lain atau mengunduh komponen Kubernetes, dan klaster tidak akan selesai disediakan.

Jika Anda ragu jaringan mana yang harus dipakai, tanyakan kepada administrator jaringan mana yang diperuntukkan bagi Kubernetes.


Plugin jaringan (CNI)

Plugin jaringan mengatur cara pod berkomunikasi dan apakah Anda dapat menerapkan kebijakan keamanan jaringan. Anda memilihnya sekali, di Langkah 1.

PluginPaling cocok untukCatatan
Flannel (bawaan)Sebagian besar klaster, pengembangan, penyiapan sederhanaRingan dan andal. Tanpa kebijakan jaringan.
CalicoProduksi dengan isolasi antar-tenantMenambahkan dukungan NetworkPolicy Kubernetes untuk mengontrol lalu lintas antar-pod.
CiliumJaringan berperforma tinggi dan canggihBerbasis eBPF, dengan kebijakan L3–L7 yang kaya serta visibilitas lalu lintas.

Jika tidak ada kebutuhan khusus, Flannel adalah pilihan aman.


Penyimpanan untuk aplikasi Anda

Aplikasi yang perlu menyimpan data (basis data, unggahan berkas, dan sebagainya) meminta penyimpanan melalui tingkat penyimpanan (storage tier). Aktifkan tingkat yang Anda butuhkan di Langkah 4; Anda boleh menyalakan lebih dari satu dan memilih per aplikasi mana yang dipakai.

TingkatYang Anda dapatkanKapan digunakan
Local Path (aktif secara bawaan)Penyimpanan cepat pada node tempat pod berjalanPenyimpanan sederhana dan berkecepatan tinggi. Data tetap di satu node, jadi tidak tersedia bila pod berpindah ke node lain.
Bersama (NFS)Penyimpanan yang bisa dipakai banyak pod sekaligus, tersedia lintas nodeSaat pod perlu berbagi berkas, atau tetap menyimpan datanya ketika berpindah antar-node.
Replikasi (Longhorn)Penyimpanan blok dengan ketersediaan tinggi, disalin antar-nodeBeban kerja stateful seperti basis data yang harus bertahan dari kegagalan node.

Untuk Bersama (NFS), Anda bisa menunjuk datastore NFS yang sudah terdaftar di Cockpit atau memasukkan alamat server NFS eksternal. Cockpit memeriksa lebih dulu bahwa server dapat dijangkau sebelum memulai, sehingga salah ketik ketahuan sejak awal, bukan di tengah proses penyediaan.


Menghubungi klaster Anda

Setelah status klaster menjadi active, Anda dapat terhubung dengan kubectl, alat baris perintah standar Kubernetes.

  1. Buka halaman detail klaster dan klik Download Kubeconfig. Cockpit memberikan berkas siap pakai dengan alamat server yang sudah terisi dengan benar.

  2. Simpan lalu arahkan kubectl kepadanya:

    bash
    mkdir -p ~/.kube
    mv ~/Downloads/kubeconfig-klaster-saya.yaml ~/.kube/config-klaster-saya
    chmod 600 ~/.kube/config-klaster-saya
    export KUBECONFIG=~/.kube/config-klaster-saya
  3. Pastikan berfungsi:

    bash
    kubectl get nodes

    Anda akan melihat node control plane dan worker tercantum sebagai Ready.

TIP

Agar tidak perlu mengatur KUBECONFIG setiap kali, tambahkan baris export ke profil shell Anda (~/.bashrc atau ~/.zshrc).


Menskalakan klaster

Anda dapat menambah atau mengurangi jumlah node worker kapan saja, tanpa membangun ulang klaster.

  1. Buka klaster dan cari pool node worker.
  2. Tetapkan jumlah worker yang diinginkan yang baru lalu konfirmasi.

Menambah (scale up) akan membuat VM worker baru dan otomatis menggabungkannya ke klaster. Saat node baru menampilkan status Ready, ia mulai menerima beban kerja.

Mengurangi (scale down) dilakukan secara halus: sebelum sebuah node dihapus, Cockpit melakukan drain — memindahkan beban kerja yang sedang berjalan ke node yang tersisa — sehingga aplikasi tetap berjalan. Baru setelah itu VM dihapus dan sumber dayanya dibebaskan.

Bila sebuah node gagal ditambahkan

Jika worker baru tidak dapat dibuat (misalnya host yang dipilih sedang kehabisan kapasitas), Cockpit membersihkan node yang belum selesai secara otomatis dan menyesuaikan pool ke jumlah yang benar-benar tercapai. Cukup jalankan scale up lagi untuk mencoba kembali — Anda tidak akan ditinggali node setengah jadi.


Memutakhirkan klaster

Cockpit melakukan pemutakhiran bergulir (rolling upgrade), memindahkan klaster ke versi Kubernetes yang lebih baru satu node pada satu waktu agar aplikasi Anda tetap tersedia.

  1. Buka klaster dan pilih Upgrade.
  2. Pilih versi tujuan dari daftar.
  3. Konfirmasi. Cockpit memutakhirkan control plane lebih dulu, lalu worker, satu node pada satu waktu.

Selama pemutakhiran, tiap node di-drain, diperbarui, dan dikembalikan bertugas sebelum node berikutnya dimulai. Anda dapat mengikuti kemajuannya di panel Tasks.


Memantau kesehatan klaster

Setelah klaster menjadi active, Cockpit terus mengawasinya dan menampilkan status kesehatan pada halaman klaster:

  • Healthy (Sehat) — Semua node ada dan Ready.
  • Degraded (Menurun) — Satu atau lebih node tidak Ready (misalnya node dihentikan atau kehilangan jaringan). Klaster masih berjalan tetapi kapasitas atau ketangguhannya berkurang.

Status kesehatan diperbarui otomatis saat node pulih atau gagal, sehingga Anda bisa langsung tahu apakah perlu perhatian.


Pemecahan masalah

Klaster macet di "provisioning" dan tak pernah menjadi active. Penyebab tersering adalah jaringan. Pastikan jaringan yang Anda pilih memberi setiap node alamat IP secara otomatis dan memiliki akses internet. Jika node tersebar di beberapa host, pastikan jaringannya benar-benar menjangkau host-host tersebut. Lihat Memilih jaringan.

Sebuah node berstatus "NotReady" atau klaster "Degraded". Periksa apakah VM node tersebut sedang berjalan (mungkin dihentikan, atau host-nya mati). Setelah VM kembali menyala dan tersambung ke jaringan, node bergabung kembali dan status kesehatan pulih ke Healthy dengan sendirinya.

kubectl tidak bisa terhubung setelah kubeconfig diunduh. Pastikan KUBECONFIG mengarah ke berkas yang diunduh dan mesin Anda dapat menjangkau alamat node control plane di jaringan. Unduh ulang kubeconfig jika alamat klaster berubah.

Aplikasi kehilangan datanya setelah pod berpindah ke node lain. Ini terjadi pada tingkat penyimpanan Local Path, yang menyimpan data di satu node saja. Untuk data yang harus mengikuti aplikasi, gunakan tingkat Bersama (NFS) atau Replikasi (Longhorn). Lihat Penyimpanan untuk aplikasi Anda.


Topik terkait