Рубрики
Uncategorized

OpenSHift Origin 3.11 (OBD) Установка на CentOS 7 Multi-Node Cluster

Обзор OPenShift Origin (OKD) — это распределение сообщества Kubernetes, которые Powers Re … Теги с DevOps, OpenShift, Kubernetes, PrivateCloud.

Обзор

OpenShift Origin (OKD) — это распределение сообщества Kubernetes, которые способны красной шапкой. Построен вокруг ядра упаковки контейнера OCI и управление контейнером Kubernetes, OKD также дополняется функциональными возможностями управления жизненным циклом приложений и разработкой. OBD предоставляет полный контейнерную платформу с открытым исходным контейнером

🔰1. Предварительные условия

Мы можем планировать установить 3 физических машины или виртуальной машины, и они должны быть подключены в интернете

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

Примечание. Упомянутый IP-адрес и учетные данные используют только для ссылок. Пожалуйста, посмотрите на Официальные предпосылки

🔰2. Для удаленного доступа к имени пользователя и пароль, необходимо установить и включить OpenSSH

📗 Установите пакеты OpenSSH и NET-Tools, запуск и отображение состояния службы SSH, запустите автоматическую после перезагрузки и, наконец, показать IP-адрес машины.

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

systemctl start sshd
systemctl status sshd
systemctl enable sshd
ifconfig

Примечание. Теперь мы сможем получить доступ к этим услугам через терминал или замазку

🔰3. Обычные шаги для всех машин или узлов [здесь, Master, Compute, Infra], Войдите в каждую машину

📗 Шаг1: Установите базовые пакеты

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

📗 Шаг2: Установите хосты для всех узлов, поэтому будущие неизбежные могут общаться со всеми машинами для автоматизации

Откройте этот файл и vi/etc/hosts включить содержимое

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

Сейчас, Перезагрузите сетевую службу

service network restart

📗 Шаг3: Войдите в каждую единую машину и установите имя хоста для всех узлов

hostnamectl set-hostname hostname..nip.io

Примеры для всех машин:

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

Примечание. Помните, что каждая машина имеет только одно имя хоста, поэтому не помещайте все имени хоста в одну машину.

📗 Шаг4: изменить ‘/etc/Networkmanager/networkmanager.conf ‘так после перезагрузки WiFi-роутера каждый раз, DNS не должен меняться.

Откройте этот файл VI/etc/etc/NetworkManager/NetworkManager.conf включить содержимое

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

📗 Шаг5: изменить ifconfig этикетка информация и используйте Google DNS

ifconfig
cd /etc/sysconfig/network-scripts

Здесь, шахтная этикетка была ifcfg-ens33 Итак, vi ifcfg-ens33 и включить содержимое

PEERDNS="no"
DNS1="8.8.8.8"

📗 Шаг6: Модифицировать resolv.conf Файл, чтобы обновить имен и поиск по глобально

открытым vi/etc/resolv.conf. включить содержимое

search nip.io
nameserver 8.8.8.8

📗 Step7: Перезагрузите сетевой менеджер и сетевой сервис

systemctl перезагрузка NetworkManager Сервисная сеть перезагрузиться

📗 Шаг 8: Изменить настройку SELinux на Master, Compute, Infra

открыть vi/etc/elinux/config включить содержимое

SELINUX=enforcing
SELINUXTYPE=targeted

📗 Шаг9: Перезагрузите машину

reboot

Примечание. Для неизвестного поведения мы можем перезагрузить сетевой менеджер и обслуживание

🔰4. Наконец, войти в главную машину и следуйте инструкциям ниже,

📗 Шаг1: Создание клавиши SSH и скопируйте открытый ключ на другие машины или узлы, FSO мы можем общаться без имени пользователя и пароля. Это необходимо для 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

📗 Шаг2: После загрузки все машины мы можем пинговать от внешнего терминала или команды

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

Примечания:

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

📗 Шаг3: Установите Anbible 2.7 в главном узле

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

📗 Шаг4: Теперь клон openshift-ansible Репозиторий и переключатель 3.11 Выпуск ветвь

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

📗 Шаг5: Создать Anbible Hosts.ini конфигурация,

# 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'

📗 Step5: Выполните аналимые игровые книги с Hosts.ini конфигурация,

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

Примечание: если вы Предварительные условия.yml не бросить какую-либо ошибку, тогда вы можете готовить для deploy_cluster.yml Отказ Через несколько часов вы можете увидеть этот экран. Я надеюсь, что ваше лицо накачивается, как мой! 🤩.

📗 Step6: создайте пользователь администратора, чтобы мы могли войти в веб-консоль мы также можем видеть URL-адрес веб-консоли

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

Примечание. Мы уже создали пользователи администратора, поэтому используйте эти учетные данные для перемещения вперед.

Через 5 часов (зависит от интернет-скорости и ресурсов узлов), успешно в состоянии установить частное облако на платформе приложений контейнера с открытым исходным кодом с использованием CentOS 7 с 3 узлами. Это много веселья. Это может произойти ошибки, если вы подключены к сетевым подключением, являются плохими и машинами или узлами (CPU, RAM) не правильно.

👌 Поздравляем. & Спасибо за ваше время и страсть. Не стесняйтесь комментариям, если у вас есть какие-либо проблемы и запросы.

🔰 Ссылки:

Оригинал: «https://dev.to/mesadhan/openshift-origin-3-11-okd-installation-on-a-centos-7-multi-node-cluster-1j11»