Minggu, 13 Oktober 2024

TALOS-vmware

 

Integrasi Talos Linux dengan Vcenter

https://medium.com/@ugur.mendi/talos-linux-with-vcenter-integration-9174ce55b428
Ugur Mendi

Mengikuti

Waktu baca 5 menit

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!

Arsitektur Dasar Sistem

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.15sebagai alamat IP VIP Anda. (Pastikan IP tersebut 192.168.0.15tidak 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 .yamladalah Konfigurasi Mesin: file-file tersebut menjelaskan semuanya mulai dari disk tempat Talos harus diinstal, hingga pengaturan jaringan. controlplane.yamlFile tersebut juga menjelaskan bagaimana Talos harus membentuk kluster Kubernetes.

Berkas tersebut talosconfigadalah 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:

Tambahkan pengontrol Sata dan pengontrol SCSI

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