Anda harus mengonfigurasi sistem operasi dasar mesin node untuk menggunakan GKE di Bare Metal. Halaman ini berisi langkah-langkah yang perlu Anda lakukan untuk menyelesaikan konfigurasi yang diperlukan. Untuk mengetahui informasi selengkapnya tentang memecahkan masalah GKE terkait persyaratan Bare Metal, lihat masalah umum.
Sebelum memulai
Pastikan Anda menggunakan versi sistem operasi yang didukung dan kernel Ubuntu Hardware Enablement (HWE). Untuk mengetahui daftar versi yang didukung, lihat Memilih sistem operasi Anda.
Aktifkan compiler Tepat Waktu BPF
Kernel untuk sistem operasi Anda harus mengaktifkan opsi compiler Just In Time BPF (CONFIG_BPF_JIT=y
).
Untuk mengetahui apakah opsi ini diaktifkan, jalankan perintah berikut:
grep CONFIG_BPF_JIT /boot/config-$(uname -r)
Memvalidasi pengelola paket
Gunakan perintah berikut untuk memvalidasi bahwa pengelola paket beroperasi dengan benar:
sudo apt-get check
Output seharusnya tidak menampilkan error dan terlihat mirip dengan contoh berikut:
# Reading package lists... Done # Building dependency tree # Reading state information... Done
Nonaktifkan Firewall yang Tidak Kompleks (UFW)
Nonaktifkan
ufw
:sudo ufw disable
Pastikan
ufw
dinonaktifkan:sudo ufw status # Status: inactive
Mengonfigurasi Docker di workstation Anda
GKE di Bare Metal membantu Anda menginstal Docker pada mesin bare metal dalam skenario berikut:
- Jika mesin bare metal Anda belum menginstal Docker,
bmctl
akan menginstal 20.10.0 atau yang lebih baru. - Jika mesin bare metal Anda menginstal Docker versi 19.03.5 atau yang lebih lama,
bmctl
akan mengupgrade Docker ke versi 20.10.0 atau yang lebih baru.
Ikuti langkah-langkah berikut untuk menginstal Docker secara manual:
Hapus versi Docker sebelumnya:
sudo apt-get remove docker docker-engine docker.io containerd runc
Update pengelola paket Anda:
sudo apt-get update
Instal Docker 20.10.0+:
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common \ docker.io
Pastikan Anda saat ini menjalankan versi 20.10.0+:
sudo docker version
Bandingkan output Anda dengan contoh berikut untuk memastikan versi Klien dan Server adalah 20.10.0+ :
Client: Docker Engine - Community Version: 25.0.3 ... Server: Docker Engine - Community Engine: Version: 25.0.3
Menyiapkan sinkronisasi waktu
Sinkronisasi waktu terdiri dari penyetelan jam pada mesin node, dengan menggunakan
referensi waktu eksternal yang ditetapkan. Sinkronisasi waktu penting untuk
aktivitas cluster yang peka waktu, seperti logging peristiwa dan pengumpulan metrik.
Kernel mesin node Anda mengontrol jam dalam container yang berjalan pada
node. Untuk memastikan sinkronisasi waktu yang tepat, instal layanan protokol waktu jaringan (NTP) di komputer Anda, menggunakan salah satu layanan yang tersedia: chrony
, systemd-timesyncd
, ntp
, atau ntpdate
. Jalankan timedatectl
untuk memastikan jam sistem
telah disinkronkan. Output timedatectl
harus berisi status berikut:
System clock synchronized: yes
Pastikan batas inotify
kernel Linux berada pada atau lebih tinggi dari batas minimum
Untuk komputer yang menjalankan Ubuntu 22.04, batas inotify
kernel Linux
untuk instance pengguna maksimum dan smartwatch pengguna harus lebih besar dari atau sama dengan
berikut:
fs.inotify.max_user_instances
:8192
fs.inotify.max_user_watches
:524288
Untuk memastikan nilai ini ditetapkan dengan benar pada mesin node Anda:
Periksa nilai
max_user_instances
:cat /proc/sys/fs/inotify/max_user_instances
Jika diperlukan, update
max_user_instances
ke nilai minimum:echo 'fs.inotify.max_user_instances=8192' | sudo tee --append /etc/sysctl.conf
Periksa nilai
max_user_watches
:cat /proc/sys/fs/inotify/max_user_watches
Jika diperlukan, update
max_user_watches
ke nilai minimum:echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.conf
Jika Anda telah memperbarui salah satu nilai tersebut, mulai ulang mesin.