Skip to content

emka.web.id

Banner 1
Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Cara Install Kubernetes Cluster Menggunakan Kubespray


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.
Artikel Diperbarui pada: March 13, 2023
Kontributor: Syauqi Wiryahasana
Model: Haifa Manik Intani
Banner 1
Seedbacklink

Recent Posts

  • Meta/Facebook Bakal Bikin Koin Crypto (lagi)?
  • Apa itu Rudal Balistik Antar Benua (ICBM)?
  • Benarkah Ada Perang Inggris-Belanda Di Zaman VOC?
  • Adakah Partai Komunis di Palestina?
  • Mengenal Apa itu Sapi Laut (Hydrodamalis gigas)
  • Inilah Landak Moncong Pendek (Tachyglossus aculeatus)
  • Inilah Tata Surya Baru, TRAPPIST-1 dengan 7 Planet Mirip Bumi
  • Wafat: José Mujica Presiden Termiskin Didunia
  • Review Suzuki eVitara 2025
  • Antonov An-225 Akan Dibuat Kembali 2025!
  • Auto KAYA Tambang Dasar Laut: Nodul Polimetalik
  • Huawei Gebrak Amerika dengan OS PC dan Prosesor Kirin X90
  • Review Rumah Cantik SMR House Audriecw
  • Review Mazda EZ-6 Sports Edition China
  • Ini Loh Syarat Masuk SMA Unggulan Garuda 2025
  • Gaji 13 PNS/PPPK 2025, Ini Besarannya
  • Bukan IPA/IPS/Bahasa, Ini Maksud Rumpun Mapel SMA
  • Inilah Daftar Beasiswa Pemerintah untuk S1,S2,S3 LENGKAP!
  • Taksi Driverless Pony.ai Insiden Alami Kebakaran Pertama
  • Baidu Akan Ekspansi Robotaxi ke Eropa, Indonesia Tertinggal Makin Jauh
  • Trump Jago Dagang, Qatar Beli 210 Pesawat Boeing Jumbojet
  • AS dan Arab Saudi Deal Jual-Beli Senjata 142 Miliar Dollar
  • Sejarah Injil Thomas dan Kristen Gnostik yang Terlarang
  • Sejarah Mufti Palestina Berkoalisi dengan NAZI Jerman
  • Trik Licik Bandar Judi Online yang Kamu Belum Tahu

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically