OpenShift - Pengaturan Lingkungan
Dalam bab ini, kita akan belajar tentang pengaturan lingkungan OpenShift.
Persyaratan Sistem
Untuk mengatur OpenShift perusahaan, seseorang harus memiliki akun Red Hat yang aktif. Karena OpenShift berfungsi pada master Kubernetes dan arsitektur node, kita perlu menyiapkan keduanya pada mesin terpisah, di mana satu mesin bertindak sebagai master dan yang lainnya bekerja pada node. Untuk menyiapkan keduanya, ada persyaratan sistem minimum.
Konfigurasi Mesin Utama
Berikut adalah persyaratan sistem minimum untuk konfigurasi mesin master.
Mesin dasar yang dihosting secara fisik, virtual, atau di lingkungan cloud mana pun.
Setidaknya Linux 7 dengan paket yang diperlukan pada instance itu.
2 inti CPU.
Minimal RAM 8 GB.
Memori hard disk internal 30 GB.
Konfigurasi Mesin Node
- Gambar dasar fisik atau virtual seperti yang diberikan untuk mesin master.
- Setidaknya Linux 7 di mesin.
- Docker diinstal dengan tidak di bawah versi 1.6.
- 1 inti CPU.
- RAM 8 GB.
- Hard disk 15 GB untuk hosting gambar dan 15 GB untuk menyimpan gambar.
Panduan Langkah demi Langkah untuk Pengaturan OpenShift
Dalam deskripsi berikut, kita akan menyiapkan lingkungan lab OpenShift, yang nantinya dapat diperluas ke cluster yang lebih besar. Karena OpenShift memerlukan penyiapan master dan node, kami memerlukan setidaknya dua mesin yang dihosting di cloud, mesin fisik, atau virtual.
Step 1- Pertama-tama instal Linux di kedua mesin, di mana Linux 7 adalah versi yang paling sedikit. Ini dapat dilakukan dengan menggunakan perintah berikut jika seseorang memiliki langganan Red Hat yang aktif.
# subscription-manager repos --disable = "*"
# subscription-manager repos --enable = "rhel-7-server-rpms"
# subscription-manager repos --enable = "rhel-7-server-extras-rpms"
# subscription-manager repos --enable = "rhel-7-server-optional-rpms"
# subscription-manager repos --enable = "rhel-7-server-ose-3.0-rpms"
# yum install wget git net-tools bind-utils iptables-services bridge-utils
# yum install wget git net-tools bind-utils iptables-services bridge-utils
# yum install python-virtualenv
# yum install gcc
# yum install httpd-tools
# yum install docker
# yum update
Setelah kita menginstal semua paket dasar di atas di kedua mesin, langkah selanjutnya adalah mengatur Docker di mesin masing-masing.
Step 2- Konfigurasi Docker sehingga harus mengizinkan komunikasi yang tidak aman hanya di jaringan lokal. Untuk ini, edit file Docker di dalam / etc / sysconfig. Jika file tidak ada maka Anda perlu membuatnya secara manual.
# vi /etc/sysconfig/docker
OPTIONS = --selinux-enabled --insecure-registry 192.168.122.0/24
Setelah mengkonfigurasi Docker di mesin master, kita perlu mengatur komunikasi tanpa kata sandi antara kedua mesin. Untuk ini, kami akan menggunakan otentikasi kunci publik dan pribadi.
Step 3 - Buat kunci pada mesin master dan kemudian salin kunci id_rsa.pub ke file kunci resmi dari mesin node, yang dapat dilakukan dengan menggunakan perintah berikut.
# ssh-keygen
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
Setelah Anda memiliki semua pengaturan di atas, selanjutnya adalah mengatur OpenShift versi 3 pada mesin master.
Step 4 - Dari mesin master, jalankan perintah curl berikut.
# sh <(curl -s https://install.openshift.com/ose)
Perintah di atas akan menempatkan pengaturan untuk OSV3. Langkah selanjutnya adalah mengkonfigurasi OpenShift V3 di mesin.
Jika Anda tidak dapat mengunduh dari Internet secara langsung, maka itu dapat diunduh dari https://install.openshift.com/portable/oo-install-ose.tgz sebagai paket tar tempat penginstal dapat berjalan di mesin master lokal.
Setelah kita menyiapkan pengaturan, maka kita perlu memulai dengan konfigurasi OSV3 yang sebenarnya di mesin. Penyiapan ini sangat spesifik untuk menguji lingkungan untuk produksi aktual, kami memiliki LDAP dan hal-hal lain di tempat.
Step 5 - Pada mesin master, konfigurasikan kode berikut yang terletak di bawah /etc/openshift/master/master-config.yaml
# vi /etc/openshift/master/master-config.yaml
identityProviders:
- name: my_htpasswd_provider
challenge: true
login: true
provider:
apiVersion: v1
kind: HTPasswdPasswordIdentityProvider
file: /root/users.htpasswd
routingConfig:
subdomain: testing.com
Selanjutnya, buat pengguna standar untuk administrasi default.
# htpasswd -c /root/users.htpasswd admin
Step 6- Karena OpenShift menggunakan registri Docker untuk mengkonfigurasi gambar, kita perlu mengkonfigurasi registri Docker. Ini digunakan untuk membuat dan menyimpan image Docker setelah build.
Buat direktori di mesin node OpenShift menggunakan perintah berikut.
# mkdir /images
Selanjutnya, masuk ke mesin master menggunakan kredensial admin default, yang dibuat saat menyiapkan registri.
# oc login
Username: system:admin
Beralih ke proyek yang dibuat default.
# oc project default
Step 7 - Buat Registry Docker.
#echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"registry"}}' | oc create -f -
Edit hak pengguna.
#oc edit scc privileged
users:
- system:serviceaccount:openshift-infra:build-controller
- system:serviceaccount:default:registry
Buat dan edit registri gambar.
#oadm registry --service-account = registry --
config = /etc/openshift/master/admin.kubeconfig --
credentials = /etc/openshift/master/openshift-registry.kubeconfig --
images = 'registry.access.redhat.com/openshift3/ose-${component}:${version}' --
mount-host = /images
Step 8 - Buat perutean default.
Secara default, OpenShift menggunakan OpenVswitch sebagai jaringan perangkat lunak. Gunakan perintah berikut untuk membuat perutean default. Ini digunakan untuk load balancing dan perutean proxy. Router mirip dengan registri Docker dan juga berjalan di registri.
# echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"router"}}' | oc create -f -
Selanjutnya, edit hak istimewa pengguna.
#oc edit scc privileged
users:
- system:serviceaccount:openshift-infra:build-controller
- system:serviceaccount:default:registry
- system:serviceaccount:default:router
#oadm router router-1 --replicas = 1 --
credentials = '/etc/openshift/master/openshift-router.kubeconfig' --
images = 'registry.access.redhat.com/openshift3/ose-${component}:${version}'
Step 9 - Konfigurasi DNS.
Untuk menangani permintaan URL, OpenShift membutuhkan lingkungan DNS yang berfungsi. Konfigurasi DNS ini diperlukan untuk membuat kartu liar, yang diperlukan untuk membuat kartu liar DNS yang mengarah ke router.
# yum install bind-utils bind
# systemctl start named
# systemctl enable named
vi /etc/named.conf
options {listen-on port 53 { 10.123.55.111; };
forwarders {
10.38.55.13;
;
};
zone "lab.com" IN {
type master;
file "/var/named/dynamic/test.com.zone";
allow-update { none; };
};
Step 10- Langkah terakhir adalah menyiapkan server github pada mesin master OpenShift V3, yang bersifat opsional. Ini dapat dilakukan dengan mudah menggunakan urutan perintah berikut.
#yum install curl openssh-server
#systemctl enable sshd
# systemctl start sshd
# firewall-cmd --permanent --add-service = http
# systemctl reload firewalld
#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-
#yum install gitlab-ce
# gitlab-ctl reconfigure
Setelah penyiapan di atas selesai, Anda dapat memverifikasi dengan menguji dan menerapkan aplikasi, yang akan kita ketahui lebih lanjut di bab-bab selanjutnya.