Konfigurasi Sysctl Wajib untuk Kubernetes Networking di Linux
bash
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOFIsi output :
bash
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1Output itu normal dan menunjukkan bahwa file /etc/sysctl.d/k8s.conf berhasil dibuat dengan isi konfigurasi yang kamu tulis.
📌 Apa yang selesai dilakukan oleh command itu?
Command ini:
bash
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOFArtinya:
-
Membuat file
/etc/sysctl.d/k8s.conf -
Mengisinya dengan value sysctl berikut:
net.bridge.bridge-nf-call-iptables = 1net.bridge.bridge-nf-call-ip6tables = 1net.ipv4.ip_forward = 1
-
Output yang kamu lihat adalah isi file yang ditulis ulang oleh
tee→ itu bukan error.
🧩 Apa fungsi dari masing-masing konfigurasi?
1️⃣ net.bridge.bridge-nf-call-iptables = 1
Mengaktifkan iptables untuk traffic yang lewat Linux bridge. Wajib untuk kube-proxy & CNI (Flannel, Calico, Cilium).
2️⃣ net.bridge.bridge-nf-call-ip6tables = 1
Versi IPv6-nya dari rule di atas. Kepakai kalau cluster punya IPv6.
3️⃣ net.ipv4.ip_forward = 1
Mengaktifkan IP forwarding. Tanpa ini:
- Pod tidak bisa akses internet
- Node tidak bisa routing antar pod
- Banyak CNI akan gagal
👉 Langkah berikutnya: apply sysctl
Jalanin:
bash
sudo sysctl --systemIni untuk mengaktifkan semua config di /etc/sysctl.d/*.conf tanpa reboot.
✔️ Ingin cek apakah semuanya sudah aktif?
Jalankan:
bash
sysctl net.bridge.bridge-nf-call-iptables
sysctl net.bridge.bridge-nf-call-ip6tables
sysctl net.ipv4.ip_forwardSemua harus keluar = 1.