Обзор
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://docs.okd.io
- https://docs.okd.io/3.11/install/index.html
- https://docs.okd.io/3.11/install/prerequisites.html
- https://docs.okd.io/3.11/install/host_preparation.html
Оригинал: «https://dev.to/mesadhan/openshift-origin-3-11-okd-installation-on-a-centos-7-multi-node-cluster-1j11»