Selasa, 29 Oktober 2024

OPENSHIFT OKD-install centos7

 https://dev.to/mesadhan/openshift-origin-3-11-okd-installation-on-a-centos-7-multi-node-cluster-1j11

Instalasi OpenShift Origin 3.11 (OKD) pada Cluster Multi-Node CentOS 7

Ringkasan

OpenShift Origin (OKD) adalah Distribusi Komunitas Kubernetes yang mendukung Red Hat OpenShift. Dibangun berdasarkan inti pengemasan kontainer OCI dan manajemen kluster kontainer Kubernetes, OKD juga dilengkapi dengan fungsionalitas manajemen siklus hidup aplikasi dan perkakas DevOps. OKD menyediakan platform aplikasi kontainer sumber terbuka yang lengkap

🔰1. Prasyarat

Kita dapat merencanakan untuk menginstal 3 mesin fisik atau VM, dan mereka harus terhubung di Internet

Distribution: Centos 7 linux [Os Minimal Installation]
IP Address: 192.168.31.182 with 8 GB, 2 Core
IP Address: 192.168.31.144 with 4 GB RAM, 2 Core
IP Address: 192.168.31.94 with 4 GB RAM, 2 Core

Login username: root
Password: 123456

Note: Mentioned ip address and credential uses just for references. Please take a look at Prasyarat resmi

🔰2. Untuk mengakses dari jarak jauh melalui nama pengguna & kata sandi, perlu Menginstal dan Mengaktifkan OpenSSH

📗 Instal paket OpenSSH & net-tools, mulai dan tampilkan status layanan SSH, jalankan otomatis setelah reboot dan terakhir tampilkan Alamat IP mesin.

yum –y install openssh-server openssh-clients net-tools

systemctl start sshd
systemctl status sshd
systemctl enable sshd
ifconfig

Note: Now we can able to access those services through Terminal or Putty

🔰3. Langkah umum untuk semua mesin atau node [Di sini, Master, Compute, Infra], Login ke setiap mesin tunggal

📗 Langkah 1: Instal paket dasar

yum install -y wget git zile net-tools bind-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct openssl-devel httpd-tools python-cryptography python2-pip python-devel python-passlib java-1.8.0-openjdk-headless "@Development Tools"
yum update -y

yum install docker-1.13.1
systemctl start docker && systemctl enable docker && systemctl status docker

yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sed -i -e "s/^enabled=1/enabled=0/" /etc/yum.repos.d/epel.repo

📗 Langkah 2: Tetapkan host untuk semua node, sehingga ansible di masa mendatang dapat berkomunikasi dengan semua mesin untuk otomatisasi

Buka file itu dan vi /etc/hostssertakan isinya

192.168.31.182  master.192.168.31.182.nip.io
192.168.31.144  compute.192.168.31.144.nip.io
192.168.31.94  infra.192.168.31.94.nip.io

Sekarang, mulai ulang layanan jaringan

service network restart

📗 Langkah 3: Masuk ke setiap mesin dan atur nama host untuk semua node

hostnamectl set-hostname hostname.<machine-ip>.nip.io

Contoh untuk semua mesin:

hostnamectl set-hostname master.192.168.31.182.nip.io
hostnamectl set-hostname compute.192.168.31.144.nip.io
hostnamectl set-hostname infra.192.168.31.94.nip.io

Note: Remember each machine has only one hostname, so don't put all hostname in a single machine.

📗 Langkah4: Ubah '/etc/NetworkManager/NetworkManager.conf' sehingga setelah me-reboot wifi-router setiap kali, DNS tidak akan berubah.

buka file ini vi /etc/NetworkManager/NetworkManager.conf, sertakan kontennya

[main]
#plugins=ifcfg-rh,ibft
dns=none

📗 Langkah 5: Ubah ifconfig label information, dan gunakan DNS Google

ifconfig
cd /etc/sysconfig/network-scripts

Di sini, label saya adalah ifcfg-ens33, jadi vi ifcfg-ens33dan sertakan kontennya

PEERDNS="no"
DNS1="8.8.8.8"

📗 Langkah 6: Ubah resolv.conffile, untuk memperbarui nameserver & mencari secara global

terbuka vi /etc/resolv.conf, termasuk isi

search nip.io
nameserver 8.8.8.8

📗 Langkah 7: Mulai ulang pengelola jaringan & layanan jaringan

systemctl restart layanan NetworkManager
restart jaringan

📗 Langkah 8: Ubah pengaturan Selinux pada Master, Compute, Infra

terbuka vi /etc/selinux/config, termasuk isi

SELINUX=enforcing
SELINUXTYPE=targeted

📗 Langkah 9: Nyalakan ulang mesin

reboot

Note: For unknown behaviors, we can restart network manager & service

🔰4. Terakhir, masuk ke Master Machine dan ikuti petunjuk di bawah ini,

📗 Langkah 1: buat kunci ssh dan salin kunci publik ke mesin atau node lain, agar kita dapat berkomunikasi tanpa nama pengguna dan kata sandi. Ini diperlukan untuk SSH.

ssh-keygen

for host in master.192.168.31.182.nip.io \
master.192.168.31.182.nip.io \
compute.192.168.31.144.nip.io \
infra.192.168.31.94.nip.io; \
do ssh-copy-id -i ~/.ssh/id_rsa.pub $host;
done

📗 Langkah 2: Setelah mem-boot semua mesin, kita dapat melakukan ping dari terminal mesin eksternal atau perintah

ping google.com
ping master.192.168.31.182.nip.io
ping compute.192.168.31.144.nip.io
ping infra.192.168.31.94.nip.io

Catatan:

ping VM to VM = Ok
ping Host to VM = Ok
ping www.google.com = Ok 

📗 Langkah 3: instal ansible 2.7 di node master

rpm -Uvh https://releases.ansible.com/ansible/rpm/release/epel-7-x86_64/ansible-2.7.10-1.el7.ans.noarch.rpm
ansible --version

📗 Langkah 4: Sekarang, klon openshift-ansiblerepositori, dan ganti cabang rilis 3.11

git clone https://github.com/openshift/openshift-ansible.git
cd openshift-ansible && git fetch && git checkout release-3.11

📗 Langkah 5: Buat hosts.inikonfigurasi anible,

# Create an OSEv3 group that contains the masters, nodes, and etcd groups
[OSEv3:children]
masters
nodes
etcd

# Set variables common for all OSEv3 hosts
[OSEv3:vars]
# SSH user, this user should allow ssh based auth without requiring a password
ansible_ssh_user=root
# If ansible_ssh_user is not root, ansible_become must be set to true
ansible_become=true
openshift_master_default_subdomain=app.192.168.31.94.nip.io
deployment_type=origin

[nodes:vars]
openshift_disable_check=disk_availability,memory_availability,docker_storage
[masters:vars]
openshift_disable_check=disk_availability,memory_availability,docker_storage
# uncomment the following to enable htpasswd authentication; defaults to DenyAllPasswordIdentityProvider
openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}]

# host group for masters
[masters]
192.168.31.182

# host group for etcd
[etcd]
192.168.31.182

# host group for nodes, includes region info
[nodes]
192.168.31.182  openshift_node_group_name='node-config-master'
192.168.31.144  openshift_node_group_name='node-config-compute'
192.168.31.94  openshift_node_group_name='node-config-infra'

📗 Langkah 5: Jalankan playbook ansible dengan hosts.inikonfigurasi,

ansible-playbook -i hosts.ini playbooks/prerequisites.yml
ansible-playbook -i hosts.ini playbooks/deploy_cluster.yml

Catatan: Jika Anda prerequisites.ymltidak mengalami kesalahan apa pun, maka Anda dapat bersiap untuk deploy_cluster.yml. Setelah beberapa jam kemudian, Anda dapat melihat layar ini. Saya harap wajah Anda akan berseri-seri seperti wajah saya! 🤩

Teks Alternatif

📗 Langkah 6: Buat Pengguna Admin, sehingga kita dapat masuk ke konsol web, kita juga dapat melihat URL konsol web

htpasswd -c /etc/origin/master/htpasswd admin
oc status

Teks Alternatif

Catatan: Kami telah membuat pengguna admin, jadi gunakan kredensial tersebut untuk melanjutkan.

Setelah 5 jam (tergantung pada kecepatan internet dan sumber daya node), berhasil memasang private cloud pada platform aplikasi kontainer open-source menggunakan centos 7 dengan 3 node. Sangat menyenangkan. Mungkin terjadi kesalahan jika koneksi jaringan Anda buruk dan sumber daya mesin atau node (CPU, RAM) tidak berfungsi dengan baik.

👌 Selamat. Terima kasih atas waktu dan semangat Anda.
Jangan ragu untuk berkomentar, jika Anda memiliki masalah dan pertanyaan.

🔰 Referensi:

Apakah postingan ini bermanfaat bagi Anda?

Terima kasih telah mengunjungi Komunitas DEV. Silakan sampaikan apresiasi Anda dengan mengomentari postingan ini!

Hanya butuh satu menit dan bermanfaat bagi karier Anda.

Tidak ada komentar:

Posting Komentar