Integrasi Talos Linux dengan Vcenter
Salam untuk semuanya.
Panduan ini bertujuan untuk membantu Anda dalam perjalanan Talos. Saya akan berbagi masalah dan solusi yang saya hadapi dalam perjalanan ini.
Jadi, kita bisa memulai!
Pertama-tama, kita perlu memiliki talosctl di bastion (untuk arsitektur saya) yang dapat diunduh dengan perintah:
ikal -sL https://talos.dev/install | sh
Kami menggunakan mesin bastion untuk penyeimbang beban eksternal, host talosctl dan kubectl.
Untuk sisi Vcenter kami memasang iso langsung dari talos linux yang dapat diunduh dengan tautan ini:
X86: https://github.com/siderolabs/talos/releases/download/v1.5.0/metal-amd64.iso (untuk arsitektur saya, saya menggunakan gambar x86)
ARM64: https://github.com/siderolabs/talos/releases/download/v1.5.0/metal-arm64.iso
Saya menggunakan persyaratan sistem yang direkomendasikan untuk pengaturan saya:
(Dari dokumentasi resmi)
Setelah kita memasang iso langsung Talos ke host kita, kita perlu membuat konfigurasi awal dari Vcenter Cli untuk koneksi server ips statis, dns, dan ntp!
Untuk konfigurasi titik akhir talos kami memiliki beberapa opsi,
Tentukan Titik Akhir Kubernetes
Titik akhir Kubernetes API Server, agar memiliki ketersediaan tinggi, harus dikonfigurasikan dengan cara yang menggunakan semua node bidang kontrol yang tersedia. Ada tiga cara umum untuk melakukannya: menggunakan penyeimbang beban, menggunakan fungsionalitas VIP bawaan Talos Linux, atau menggunakan beberapa rekaman DNS.
Penyeimbang Beban Khusus
Jika Anda menggunakan penyedia cloud atau memiliki penyeimbang beban sendiri (seperti HAProxy, Nginx reverse proxy, atau penyeimbang beban F5), penyeimbang beban khusus adalah pilihan yang tepat. Buat frontend yang sesuai untuk titik akhir, dengarkan pada port TCP 6443, dan arahkan backend ke alamat masing-masing node bidang kontrol Talos. Titik akhir Kubernetes Anda akan menjadi alamat IP atau nama DNS dari front end penyeimbang beban, dengan port yang ditambahkan (misalnya https://myK8s.mydomain.io:6443 ).
Catatan: penyeimbang beban HTTP tidak dapat digunakan, karena server API Kubernetes melakukan penghentian TLS dan autentikasi TLS bersama.
Lapisan 2 VIP IP Bersama
Talos telah mengintegrasikan dukungan untuk melayani Kubernetes dari alamat IP bersama/virtual. Ini memerlukan konektivitas Layer 2 antara node bidang kontrol.
Pilih alamat IP yang tidak digunakan pada subnet yang sama dengan node bidang kontrol untuk VIP. Misalnya, jika IP node bidang kontrol Anda adalah:
- 192.168.0.10
- 192.168.0.11
- 192.168.0.12
Anda dapat memilih IP tersebut 192.168.0.15
sebagai alamat IP VIP Anda. (Pastikan IP tersebut 192.168.0.15
tidak digunakan oleh mesin lain dan dikecualikan dari rentang DHCP.)
(Dari dokumentasi resmi)
Untuk pengaturan saya, saya tidak menangani konfigurasi titik akhir dengan loadbalancer atau virtualIP. Saya hanya menyediakan ip node master seperti yang ditunjukkan di bawah ini dalam talosconfig saya:
konteks: konteks mycluster : mycluster: titik akhir: - 127.0 .0 .1 - simpul controlplaneip : - controlplaneip - pekerja1 - pekerja2
Untuk membuat file konfigurasi, jalankan perintah berikut (titik akhir perintah bergantung pada ip virtual dan penggunaan loadbalancer):
$ talosctl gen config mycluster https://192.168.0.2:6443
menghasilkan PKI dan token
yang dibuat /Users/taloswork/controlplane.yaml
dibuat /Users/taloswork/worker.yaml
dibuat /Users/taloswork/talosconfig
Ketika Anda menjalankan perintah ini, tiga file dibuat di direktori Anda saat ini:
controlplane.yaml
worker.yaml
talosconfig
File-file tersebut .yaml
adalah Konfigurasi Mesin: file-file tersebut menjelaskan semuanya mulai dari disk tempat Talos harus diinstal, hingga pengaturan jaringan. controlplane.yaml
File tersebut juga menjelaskan bagaimana Talos harus membentuk kluster Kubernetes.
Berkas tersebut talosconfig
adalah berkas konfigurasi klien lokal Anda, yang digunakan untuk menghubungkan dan mengautentikasi akses ke kluster.
(Dari dokumentasi resmi)
Catatan: Untuk file globalconfig Anda dapat menambahkan talosconfig ke jalur sebagai konfigurasi ke /root/.talos/config (ini opsional jika Anda tidak menambahkan ini, Anda perlu menentukan file konfigurasi dengan setiap perintah dengan — parameter talosconfig)
Di sinilah bagian yang sulit bagi Vcenter. Ketika Anda menjalankan perintah untuk menerapkan konfigurasi mesin ke Talos Linux live iso sehingga dapat menghadapi masalah ini. Saya akan menunjukkan eksekusi perintah dan kesalahan di bawah ini:
$ talosctl apply- config --insecure -n 192.168.0.2 (ganti dengan controlplaneip) --file controlplane.yaml
error saat menerapkan konfigurasi baru: rpc error : code = InvalidArgument desc = validasi konfigurasi gagal: 1 error terjadi:
* disk instalasi yang ditentukan tidak ada: "/dev/sda"
Biasanya Anda perlu mengubah partisi disk dari controlplane.yaml sehubungan dengan output perintah berikut:
$ talosctl -n 192.168.0.2 (ganti dengan controlplaneip) disks --insecure
DEV MODEL SERIAL TYPE UUID WWID MODALIAS NAME SIZE BUS_PATH
di sini
/dev/vda - - HDD - - virtio:d00000002v00001AF4 - 69 GB /pci0000:00/0000:00:06.0/virtio2/
Dalam kasus saya saat saya menjalankan perintah ini, ia mengembalikan prompt kosong, setelah saya melakukan penelitian tentangnya, saya menyadari bahwa saya perlu menambahkan konfigurasi berikut ke dalam pengaturan mesin saya melalui Vcenter:
Setelah itu Anda dapat menjalankan perintah:
$ talosctl apply-config --insecure -n 192.168 .0 .2 (ganti dengan controlplaneip) --file controlplane .yaml
Ini akan memakan waktu beberapa saat dan setelah itu Anda menyelesaikan instalasi controlplane:
Selama instalasi ada peringatan bahwa Anda harus menjalankan perintah untuk bootstrapping:
talosctl bootstrap --nodes 192.168.0.2(ip bidang kontrol) --endpoint 192.168.0.2(ip bidang kontrol) \
--talosconfig=./talosconfig
Setelah itu Anda dapat melanjutkan dengan node pekerja:
talosctl terapkan - konfigurasi --tidak aman \
--nodes 192.168.0.2(workernodeip) \
--file pekerja.yaml
Itu juga akan memakan waktu.
Akhirnya dengan perintah ini Anda dapat mengekstrak kubeconfig dan Anda dapat mulai menggunakan perintah kubectl:
talosctl kubeconfig --nodes 192.168.0.2 --titik akhir 192.168.0.2
Terima kasih atas waktu Anda dan saya harap panduan ini bermanfaat.
Tidak ada komentar:
Posting Komentar