Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Install Kubernetes Cluster Menggunakan Kubespray

Posted on March 13, 2023

Apakah Anda mencari panduan mudah tentang cara menginstal Kubernetes (k8s) menggunakan kubespray?

Panduan langkah demi langkah di halaman ini akan menunjukkan kepada Anda cara menginstal Kubernetes Cluster menggunakan kubespray pada sistem linux.

Kubesprayadalah alat sumber terbuka dan gratis yang menyediakan playbook yang memungkinkan untuk men-deploy dan mengelola cluster Kubernetes. Ini dirancang untuk menyederhanakan proses instalasi klaster Kubernetes di beberapa node, memungkinkan pengguna untuk menerapkan dan mengelola klaster Kubernetes siap produksi dengan cepat dan mudah.

Mendukung berbagai sistem operasi, termasuk Ubuntu, CentOS, Rocky Linux, dan Red Hat Enterprise Linux, dan dapat menerapkan Kubernetes pada berbagai platform, termasuk bare metal, cloud publik, dan cloud pribadi.

Dalam panduan ini, kami menggunakan lab berikut,
Ansible Node (Kubespray Node): Minimal menginstal Ubuntu 22.04 LTS (192.168. 1.240)3 Node Pengontrol: Rocky Linux 9 Terinstal Minimal (192.168.1.241/242/243)2 Node Pekerja: Rocky Linux 9 Terinstal Minimal (192.168.1.244/245)Persyaratan sistem minimum untuk kubesprayMaster Node: 1500 MB RAM, 2 CPU dan Ruang disk kosong 20 GB Node Pekerja: 1024 MB, 2 CPU, ruang disk kosong 20 GB Node yang Memungkinkan: 1024 MB, 1 CPU, dan ruang disk 20 GB Konektivitas internet pada setiap node Reguler dengan hak sudo admin
Tanpa penundaan lebih lanjut, mari d eep selami langkah-langkah instalasi,

Langkah 1) Konfigurasikan Kubespray Node

Login ke sistem Ubuntu 22.04 Anda dan instal yang memungkinkan. Jalankan rangkaian perintah berikut,
$ sudo apt update $ sudo apt install git python3 python3-pip -y $ git clone https://github.com/kubernetes-incubator/kubespray.git $ cd kubespray $ pip install -r requirements .txt

Verifikasi versi yang memungkinkan, run
$ ansible –version

Buat inventaris host, jalankan perintah di bawah dan jangan lupa untuk mengganti alamat IP yang sesuai dengan penerapan Anda.
$ cp -rfp inventarisasi/inventaris sampel/mycluster $ deklarasikan -a IPS =(192.168.1.241 192.168.1.241 192.168.1.242 192.168.1.243 192.168.1.244 192.168.1.245) $ CONFIG_FILE=inventaris/mycluster/hosts.yaml python3 contrib/inventory_builder/inventify@bfile.py. , setel 3 node kontrol dan 2 node pekerja
$ vi inventory/mycluster/hosts.yaml

Simpan dan tutup file

Review dan ubah parameter berikut dalam file “inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml”.
kube_version: v1.26.2 kube_network_plugin: calico kube_p ods_subnet: 10.233.64.0/18 kube_service_addresses: 10.233.0.0/18 cluster_name: linuxtechi.local

Untuk mengaktifkan addons seperti dasbor kuberenetes dan pengontrol masuknya, atur parameter sebagai diaktifkan di file “inventory/mycluster/group_vars/k8s_cluster/addons.yml”
$ vi inventory/mycluster/group_vars/k8s_cluster/addons.yml ———– dashboard_enabled: true ingress_nginx_enabled: true ingress_nginx_host_network: true ———–

save dan keluar dari file.

Langkah 2) Salin kunci-SSH dari node yang memungkinkan ke semua node lain

Pertama buat kunci-ssh untuk pengguna lokal Anda di node yang memungkinkan,
$ ssh-keygen

Salin kunci-ssh menggunakan perintah ssh-copy-id,
$ ssh-copy -id [email protected] $ ssh-copy-id [email protected] $ ssh-copy-id [email protected] $ ssh-copy-id [email protected] $ ssh-copy-id [email protected]

Baca Juga: Cara untuk Mengatur Login SSH Tanpa Kata Sandi di Linux dengan Keys

Juga jalankan perintah berikut di setiap node.
$ echo “sysops SEMUA=(SEMUA) NOPASSWD:SEMUA” | sudo tee /etc/sudoers.d/sysops

Langkah 3) Nonaktifkan Firewall dan Aktifkan penerusan IPV4

Untuk menonaktifkan firewall di semua node, jalankan perintah berikut dari node yang memungkinkan,
$ cd kubespray $ ansible all -i inventory/mycluster/hosts.yaml – m shell -a “sudo systemctl stop firewalld && sudo systemctl disable firewalld”

Jalankan mengikuti perintah yang memungkinkan untuk mengaktifkan penerusan IPv4 dan menonaktifkan swap pada semua node,
$ memungkinkan semua -i inventori/mycluster/hosts.yaml -m shell -a ” echo ‘net.ipv4.ip_forward=1’ | sudo tee -a /etc/sysctl.conf” $ memungkinkan semua -i inventori/mycluster/hosts.yaml -m shell -a “sudo sed -i ‘/ swap / s/ ^(.*)$/#1/g’ /etc/fstab && sudo swapoff -a”

Langkah 4) Mulai penerapan Kubernetes

Sekarang, kita siap untuk memulai penerapan kluster Kubernetes, jalankan mengikuti playbook yang memungkinkan dari node yang memungkinkan,
$ cd kubespray $ ansible-playbook -i inventory/mycluster/hosts.yaml –become –become-user=root cluster.yml

Now pantau penerapan nt, mungkin diperlukan waktu 20 hingga 30 menit tergantung pada kecepatan internet dan sumber daya perangkat keras.

Setelah penerapan selesai, kita akan mendapatkan keluaran berikut di layar kita,

Bagus, keluaran di atas mengonfirmasi bahwa penerapan berhasil diselesaikan.

Langkah 5) Akses kluster Kubernetes

Login ke node master pertama, beralih ke pengguna root, jalankan perintah kubectl dari sana,
$ sudo su – # kubectl get nodes # kubectl get pods -A

Output,

Perfect, output di atas mengonfirmasi bahwa semua node dalam cluster dalam keadaan siap dan Pod dari semua namespace aktif dan berjalan. Ini menunjukkan bahwa klaster Kubernetes kita berhasil di-deploy.

Mari kita coba untuk men-deploy deployment berbasis nginx dan mengeksposnya sebagai nodeport, jalankan perintah kubectl berikut
$ kubectl create deployment demo-nginx-kubespray –image=nginx –replicas=2 $ kubectl expose deployment demo-nginx-kubespray –type NodePort –port=80 $ kubectl get  deployments.apps $ kubectl get pods $ kubectl get svc demo-nginx-kubespray

Output dari perintah di atas,

Sekarang coba akses aplikasi nginx ini menggunakan alamat IP dan node pekerja port (30050)

Gunakan perintah curl di bawah atau browser web untuk mengakses aplikasi ini.
$ curl 192.168.1.245:30050

Or

Sempurna, ini mengonfirmasi bahwa aplikasi dapat diakses di luar cluster kami.

Langkah 6) Dasbor Kubernetes (GUI)

Untuk mengakses dasbor Kubernetes , mari kita buat akun layanan terlebih dahulu dan tetapkan hak istimewa admin agar dapat mengakses dasbor menggunakan token.

Buat akun layanan dengan nama ‘ admin-user’ di kube-system namespace.
$ vi dashboard-adminuser.yml apiVersion: v1 kind: ServiceAccount metadata:   name: admin-user   namespace: kube-system

save dan tutup file.
$ kubectl apply -f dashboard-adminuser .yml serviceaccount/admin-user membuat $

Buat pengikatan peran kluster,
$ vi admin-role-binding.yml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata:   name: admin-user roleRef:   apiGroup: rbac.authorization.k8s.io   kind: ClusterRole   name: cluster-admin subject: – kind: ServiceAccount   name: admin-user   namespace: kube-system

save dan keluar dari file.
$ kubectl apply -f admin-role-binding.yml clusterrolebinding .rbac.authorization.k8s.io/admin-user membuat $

Sekarang, buat token untuk admin-user,
$ kubectl -n kube-system buat token admin-user

Salin token ini dan letakkan di tempat yang aman karena kita akan menggunakan token untuk login Kubernetes dashboard.

Hubungkan ke node master pertama dari sistem Anda menggunakan perintah ssh berikut
$ ssh -L8001:localhost:8001 [email protected]

Catatan : Ganti alamat IP yang sesuai dengan env.

AndaSetelah masuk, alihkan ke pengguna root dan jalankan perintah ‘kubectl proxy’,
$ sudo su – # kubectl proxy Mulai melayani pada 127.0.0.1:8001

Buka browser web sistem Anda, atur pengaturan proxy seperti yang ditunjukkan di bawah ini,

Setelah Anda selesai dengan pengaturan proxy, rekatkan url berikut di browser,

http://localhost:8001/ api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#/logi

Pilih mekanisme login sebagai Token dan tempel token yang telah Anda buat di atas untuk admin-pengguna lalu klik ‘Masuk’

Sekian dari panduan ini, saya harap Anda menganggapnya informatif. Mohon kirimkan pertanyaan dan umpan balik Anda di bagian komentar di bawah.

Terbaru

  • Cara Membuat Newsletter di Outlook 365
  • Sering Telepon di Tempat Berisik? Fitur Baru Expressive Call dari Google Bakal Jadi Penyelamat Kalian!
  • Google Pixel 10 Pro Akan Punya Integrasi Play Points Lebih Dalam
  • Stop Cara Kuno! Ini Trik Supaya Manajemen Karyawan Jadi Lebih Cepat dan Anti Ribet
  • Bug di Aplikasi Cuaca Wear OS Google: Update Tidak Ngaruh!
  • Samsung Kembangkan Sensor Kamera Baru Pakai Teknologi Global Shutter dan Efek Blur Bergerak
  • Cara Membuat Anggaran Otomatis di Excel
  • Baseus X1 Pro Kamera: Kamera Ringkas dengan Fitur Canggih dan Harga yang Menarik
  • Profil Sosmed Kalian Sepi? Gini Caranya Makeover Bio Biar Makin Dilirik Sama Netizen!
  • Cara Mengatasi Error ‘Disk is Full or Read-Only’
  • Belum Tahu? Inilah Trik Ampuh Atasi Error ‘We Were Unable To Create Your Notebook’ di OneNote
  • Trik Instagram Stories 2025: Ubah Viewer Jadi Loyal Follower dengan Fitur Sederhana Ini
  • Turning TikTok into a Money-Making Machine
  • Cara Ekstrak Driver Intel RST/VMD dari setuprst.exe: Panduan Lengkap
  • Pixel 8 dan 8 Pro Akan Punya Kamera Baru Resolusi 10.2MP, Hasil Lebih Baik di Kondisi Redup
  • Inilah Trik Website Kalian Lolos Core Web Vitals dan Ranking Naik
  • YouTube TV Uji Coba Fitur Tonton Rekaman Pertandingan Olahraga NFL,NBA, MLB Terbatas
  • Aawi Wireless Dua Habis Stok, Model Android Auto Tunggal Masih Diskon
  • Samsung Akan Luncurkan One UI 8.5 dengan Inspirasi ‘Liquid Glass’ yang Memukau
  • XBox Game Pass PC Tidak Bisa Address GPU ke Game
  • Your Pocket-Sized Doctors: 3 Health Apps Changing the Game on Android and iOS
  • Waymo Bawa Teknologi ‘Liquid Glass’ untuk Mobil Otonom
  • Rumor Google Akan Update UI Besar-besaran Desember 2025
  • Gemini Akan Masuk di Android Auto, Mobil Jadi Lebih Smart!
  • OpenAI Bantah Rencana Pasang Iklan di ChatGPT Berlangganan
  • Kenapa Komputer Sangat Panas Saat Gunakan Fitur Virtualisasi Hyper-V?
  • Apa itu Bug React2Shell? Sudah Serang Lebih dari 30 Organisasi dan 77.000 IP Address
  • Google Store Black Friday 2025: Penawaran Spesial untuk Pixel, Nest, dan Lainnya!
  • Boxville 2 Gratis di Playstore, Plus Diskon Lainnya!
  • Cara Atasi Masalah Pembacaan Suara (Read Aloud) di Windows Copilot Tidak Berfungsi
  • Cara Membuat Newsletter di Outlook 365
  • Sering Telepon di Tempat Berisik? Fitur Baru Expressive Call dari Google Bakal Jadi Penyelamat Kalian!
  • Google Pixel 10 Pro Akan Punya Integrasi Play Points Lebih Dalam

©2025 emka.web.id | Design: Newspaperly WordPress Theme