Untuk menggunakan Google Distributed Cloud, Anda harus mengonfigurasi sistem operasi dasar Red Hat Enterprise Linux (RHEL) di mesin node Anda. Menyiapkan pengelola paket, parameter kernel, dan layanan sistem yang diperlukan akan mempersiapkan node Anda untuk deployment cluster. Untuk mendapatkan bantuan pemecahan masalah, lihat masalah umum.
Sebelum memulai
Pastikan Anda menggunakan versi sistem operasi yang didukung. Untuk mengetahui daftar versi yang didukung, lihat Memilih sistem operasi.
Mengaktifkan cgroupsv2
Google Distributed Cloud khusus software untuk bare metal versi 1.35 dan yang lebih baru memerlukan
cgroupsv2. Sistem operasi Anda harus mendukung cgroupsv2 agar dapat membuat atau mengupgrade cluster.
Google Distributed Cloud mencegah pembuatan atau upgrade cluster jika cgroupsv1
terdeteksi selama pemeriksaan preflight. Untuk mengetahui petunjuk tentang cara memigrasikan sistem operasi Anda ke cgroupsv2, lihat Bermigrasi ke cgroup v2 dalam dokumentasi Kubernetes.
Untuk mengetahui petunjuk cara mengaktifkan cgroupsv2 di RHEL, lihat Mengaktifkan cgroup v2 di pusat informasi Red Hat.
Memvalidasi versi Python
Sebelum Anda melakukan inisialisasi atau mengupgrade node dengan software Google Distributed Cloud khusus
untuk bare metal versi 1.35 dan yang lebih tinggi, jalankan perintah: python3 --version untuk
memvalidasi versi Python saat ini.
Jika versi Python adalah 3.8 atau yang lebih rendah, Anda harus menginstal Python 3.9 di node tersebut.
Untuk menginstal Python 3.9 atau yang lebih tinggi dan memastikan node Anda diinisialisasi atau diupdate seperti yang diharapkan, lakukan hal berikut:
Instal Python 3.9:
sudo dnf install -y python39Pastikan file Python 3.9 berada di jalur
/usr/bin/python3.9.
Mengaktifkan compiler BPF Just In Time
Kernel untuk sistem operasi Anda harus mengaktifkan opsi compiler BPF Just In Time (CONFIG_BPF_JIT=y).
Untuk mengetahui apakah opsi ini diaktifkan, jalankan perintah berikut:
grep CONFIG_BPF_JIT /boot/config-$(uname -r)
Memvalidasi pengelola paket
Pastikan Anda memiliki nama pengguna dan sandi RedHat, serta memiliki akses root ke mesin yang Anda konfigurasi. Validasi Pengelola paket dengan langkah-langkah berikut:
Jika Anda belum mendaftarkan sistem operasi, daftar ke RedHat menggunakan nama pengguna dan sandi RedHat Anda untuk mendownload update:
sudo subscription-manager register sudo subscription-manager refresh sudo subscription-manager attach --autoPeriksa update:
sudo dnf check-updatePastikan output tidak memiliki error dan menyertakan pemeriksaan masa berlaku metadata terakhir. Contoh:
Updating Subscription Management repositories. ... # Last metadata expiration check: ... ...
Mengonfigurasi atau menonaktifkan firewalld
Firewalld dapat dikonfigurasi untuk digunakan dengan Google Distributed Cloud atau dinonaktifkan. Untuk mengetahui informasi tentang cara mengonfigurasi firewalld, lihat Mengonfigurasi port firewalld di halaman Persyaratan jaringan.
Petunjuk berikut menonaktifkan firewalld.
Nonaktifkan firewalld:
sudo systemctl stop firewalld sudo systemctl disable firewalldPeriksa status firewalld untuk memastikan bahwa firewalld dinonaktifkan:
sudo systemctl status firewalld | grep "Active" # Output # Active: inactive (dead)
Mengonfigurasi Docker di workstation Anda
Ikuti langkah-langkah berikut untuk menginstal Docker secara manual:
Hapus versi Docker sebelumnya:
sudo dnf remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engineHapus podman-manpages:
sudo dnf remove podman-manpagesInstal Docker 20.10.0+:
sudo dnf install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/rhel/docker-ce.repo sudo dnf install -y --allowerasing docker-ce docker-ce-cli containerd.io sudo systemctl start dockerPastikan Anda sekarang menjalankan versi 20.10.0+:
sudo docker versionBandingkan 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.3Pastikan Docker berjalan:
docker run hello-worldAnda akan melihat sesuatu yang mirip dengan ini:
Hello from Docker!This message shows that your installation appears to be working correctly.
Menyiapkan sinkronisasi waktu
Sinkronisasi waktu terdiri dari menyetel jam pada mesin node Anda, menggunakan
referensi waktu eksternal yang ditentukan. Sinkronisasi waktu penting untuk aktivitas cluster yang sensitif terhadap waktu, seperti logging peristiwa dan pengumpulan metrik.
Kernel mesin node Anda mengontrol jam di container yang berjalan di node. Untuk memastikan sinkronisasi waktu yang tepat, instal layanan protokol waktu jaringan (NTP) di mesin Anda, menggunakan salah satu layanan yang tersedia: chrony, systemd-timesyncd, ntp, atau ntpdate. Jalankan timedatectl untuk memverifikasi bahwa jam sistem telah disinkronkan. Output timedatectl harus berisi status berikut:
System clock synchronized: yes
Memastikan batas inotify kernel Linux berada pada atau lebih tinggi dari batas minimum
Untuk mesin yang menjalankan RHEL 9 dan 8.10, batas kernel Linux inotify
untuk instance pengguna maksimum dan watch pengguna harus lebih besar dari atau sama dengan
berikut:
fs.inotify.max_user_instances:8192fs.inotify.max_user_watches:524288
Pastikan nilai ini ditetapkan dengan benar di mesin node Anda:
Periksa nilai
max_user_instances:cat /proc/sys/fs/inotify/max_user_instancesJika diperlukan, update
max_user_instanceske nilai minimum:echo 'fs.inotify.max_user_instances=8192' | sudo tee --append /etc/sysctl.confPeriksa nilai
max_user_watches:cat /proc/sys/fs/inotify/max_user_watchesJika diperlukan, update
max_user_watcheske nilai minimum:echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.confJika Anda memperbarui salah satu nilai, reboot komputer.
Praktik terbaik
Untuk menyederhanakan penginstalan, sebaiknya konfigurasikan RHEL menggunakan penginstalan minimal dengan pengelolaan headless. Selain itu, pastikan untuk mengaktifkan
koneksi jaringan Anda
dan menggunakan DHCP default atau memberikan alamat IP statis dan
informasi jaringan yang valid. Pastikan mesin dapat terhubung ke
resource eksternal yang diperlukan,
seperti cloud.google.com.
Jika Docker gagal berjalan, pastikan daemon Docker berjalan dengan perintah berikut:
sudo systemctl start docker