Отже, ви реалізували інфраструктуру OpenStack. Ви також чули про Docker і знаєте про величезну кількість гуків, які він створив. Ну, OpenStack і Docker – це дві взаємодоповнюючі технології, що впорядковують операції команд, що працюють у звичних центрах обробки даних. Docker – це програма з відкритим кодом, яка використовується для автоматичного розташування програм у контейнери. Він комодизує рішення LXC (Linux Containers) і дозволяє користувачам запускати численні контейнери на одному сервері. З іншого боку, OpenStack пропонує відкритий API, орієнтований на мережу, зберігання, комп’ютер та інші послуги. Це спрощує споживання інфраструктури для полегшення режиму роботи контейнерів та операційних систем (детальніше про це ви можете прочитати в нашому посібнику з хостингу контейнерів)


Одним із способів вдосконалення OpenStack є використання плагінів Docker. Докер можна легко інтегрувати в OpenStack Nova як гіпервізор. Але одна з найкращих методик поєднання OpenStack з Docker – це упорядкування контейнерів з OpenStack Heat.

Якщо вам цікаво інтегрувати ці технології, то ви приземлилися на правій сторінці. Посібник допоможе вам навчитися інтегрувати Docker у OpenStack. Крім того, він дасть вам поглиблене керівництво про те, як бездоганно встановити контейнери Docker за допомогою OpenStack Heat. Оркестрація докладно описана з легкістю слідування, покрокові інструкції, щоб зробити її придатною для всіх, включаючи початківців.

Готові? Давайте покатаємо!

Особлива примітка: перед розгортанням контейнерів Docker за допомогою OpenStackHeat вам знадобиться віртуальний сервер Linux. Проконсультуйтеся з Hostadvice, щоб знайти найкращих хостингових постачальників Linux разом із реальними відгуками користувачів.

Частина перша: Встановіть плагін Docker

Крок перший: Завантажте плагін

Плагін Docker міститься в папці Heat (папка zip), яка доступна в GitHub через:

https://github.com/openstack/heat/tree/stable/icehouse

Завантажте папку та розпакуйте її за допомогою:

unzip heat-stable-icehouse.zip

Розпакувавши папку, знайдіть папку тестів та видаліть її, щоб уникнути конфліктів:

cd термостійкий-крижаний / вклад /
rm -rf docker / docker / тести

Крок 2: Створіть каталог

Потім скористайтеся командою нижче, щоб модифікувати новий каталог у папці / usr / lib / heat /:

cp -r docker / * / usr / lib / heat / docker-плагін

Крок 3: Встановіть плагін

Тепер встановлено етап встановлення плагіна Docker. Виконайте наступну команду, щоб ініціювати завдання.

cd / usr / lib / heat / docker-плагін
apt-get встановити python-pip
pip install -r вимоги.txt

Файл /etc/heat/heat.conf повинен бути відредагований перед перезапуском послуги. Скористайтеся командою нижче для редагування цього файлу:

vi /etc/heat/heat.conf
(додати)
plugin_dirs = / usr / lib / heat / docker-plugin / docker

Тепер ви можете перезапустити служби за допомогою команди:

сервісний тепло-api перезапуск
сервіс тепло-api-cfn перезапуск
обслуговування перезавантаження теплового двигуна

Частина друга: Створення шаблону нагрівання

У цьому посібнику ми докерізуємо та розгорнемо додаток LAMP. З цієї причини ми повинні створити два контейнери Docker; той, який працює на базі даних MySQL і інший, що працює на Apache з PHP.
Ми викладаємо ОС :: Heat :: SoftwareConfig, який визначає конфігурацію та ще одну ОС :: Heat :: SoftwareDeployement для розгортання конфігурацій на докер-сервері. Тоді ми можемо зв’язати плаваючий IP з сервером OS :: Nova ::, щоб дозволити йому підключитися до Інтернету. Ми також створимо два контейнери Docker у формі DockerInc :: Docker :: Container на нашому хості Docker.

: Ми створюємо лише простий шаблон Тепло для цього посібника. Більш розширений шаблон може бути створений за допомогою декількох параметрів, таких як імена, посилання, прив’язки, порти тощо. Розширений шаблон Тепло сприяє багатогранному використанню Docker. Однак плагін Docker, який ми використовуємо, не підтримує ці параметри.

Крок 1: створити шаблон

Створіть шаблон у папці docker-stack.yml і додати наступний вміст;

$ vi docker-stack.yml

heat_template_version: 2013-05-23

опис: >
Докерізуйте додаток з декількома вузлами за допомогою OpenStack Heat.
Цей шаблон визначає два запущених контейнера докера
apache з php та mysql базою даних.

параметри:
ключ:
тип: рядок
опис: >
Ім’я KeyPair для включення SSH доступу до екземпляра. Зауважимо, що
Типовим користувачем є користувач ec2.
за замовчуванням: key1

аромат:
тип: рядок
Опис: Тип екземпляра для докерного сервера.
за замовчуванням: m1.medium

зображення:
тип: рядок
опис: >
Ім’я або ідентифікатор зображення, яке потрібно використовувати для сервера Docker. Це має бути
побудований за допомогою інструментів os-collection-config з базового зображення Fedora.
за замовчуванням: fedora-software-config

public_net:
тип: рядок
Опис: назва загальнодоступної мережі, для якої буде виділено плаваючі IP-адреси.
за замовчуванням: nova

ресурси:
конфігурація:
тип: ОС :: Тепло :: SoftwareConfig
властивості:
група: сценарій
config: |
#! / bin / bash -v
setenforce 0
ням – встановити докер-йо
cp /usr/lib/systemd/system/docker.service / тощо / systemd / system /
sed -i -e ‘/ ExecStart / {s, fd: //, tcp: //0.0.0.0: 2375,}’ /etc/systemd/system/docker.service
systemctl start docker.service
docker -H: 2375 тягнути marouen / mysql
docker -H: 2375 тягнути marouen / apache

розгортання:
тип: ОС :: Тепло :: SoftwareDeployment
властивості:
config: {get_resource: configuration}
сервер: {get_resource: docker_server}

docker_server:
тип: ОС :: Нова :: Сервер
властивості:
key_name: {get_param: key}
зображення: {get_param: image}
аромат: {get_param: смак}
user_data_format: SOFTWARE_CONFIG

server_floating_ip:
тип: ОС :: Nova :: FloatingIP
властивості:
пул: {get_param: public_net}

Associate_floating_ip:
тип: OS :: Nova :: FloatingIPAssociation
властивості:
floating_ip: {get_resource: server_floating_ip}
server_id: {get_resource: docker_server}

mysql:
тип: DockerInc :: Docker :: Контейнер
залежно_на: [розгортання]
властивості:
зображення: marouen / mysql
port_specs:
– 3306
docker_endpoint:
str_replace:
шаблон: http: // хост: 2375
парами:
хост: {get_attr: [docker_server, мережі, приватні, 0]}

апаш:
тип: DockerInc :: Docker :: Контейнер
залежно_на: [mysql]
властивості:
зображення: marouen / apache
port_specs:
– 80
docker_endpoint:
str_replace:
шаблон: http: // хост: 2375
парами:
хост: {get_attr: [docker_server, мережі, приватні, 0]}

Виходи:
URL:
Опис: Публічна адреса apache
значення:
str_replace:
шаблон: http: // хост
парами:
хост: {get_attr: [docker_server, мережі, приватні, 0]}

Частина третя: Розгортання стека

Після створення шаблону ви можете перейти до розгортання свого стека.

Крок 1. Створіть файл облікових даних

Перед тим, як розгорнути стек, слід створити обліковий файл, використовуючи таку команду:

vi кредити

#Вставте наступне:
експортувати OS_TENANT_NAME = адміністратор
експортувати OS_TENANT_NAME = адміністратор
експортувати OS_PASSWORD = admin_pass
експортувати OS_AUTH_URL ="http: // контролер: 5000 / v2.0 /"

Виконайте наведені нижче дії, щоб створити зображення на основі Fedora

$ git клон https://git.openstack.org/openstack/diskimage-builder.git
клон git https://git.openstack.org/openstack/tripleo-image-elements.git
git clone https://git.openstack.org/openstack/heat-templates.git
клон git https://git.openstack.org/openstack/dib-utils.git
експорт PATH ="$ {PWD} / dib-utils / bin: $ PATH"
export ELEMENTS_PATH = tripleo-image-elements / elements: тепла-шаблони / hot / software-config / elements
diskimage-builder / bin / disk-image-create vm \
Fedora selinux-дозвільний \
os-collection-config \
os-refresh-config \
os-apply-config \
тепло-налаштування-відповідальний \
heat-config-cfn-init \
heat-config-docker \
тепло-конфігурація-лялька \
тепло-конфігурація-сіль \
heat-config-script \
-o fedora-software-config.qcow2
погляд зображення-створення – формат диска qcow2 – формат контейнера голий – ім’я fedora-software-config < \
fedora-software-config.qcow2 $

Якщо ви ще не створили ключ, запустіть таку команду:

ssh-keygen
nova keypair-add –pub-key ~ / .ssh / id_rsa.pub key1

Щоб дозволити доступ до вашого сервера Docker, ми включили правила до нашої групи безпеки за замовчуванням:

$ Дозволити ICMP (ping):

nova secgroup-add-rule за замовчуванням icmp -1 -1 0.0.0.0/0

$ Дозволити захищений захист оболонки (SSH):

nova secgroup-add-rule за замовчуванням tcp 22 22 0.0.0.0/0

$ Дозвіл доступу до порту 2375 (кінцева точка Docker):

nova secgroup-add-rule за замовчуванням tcp 2375 2375 0.0.0.0/0

Потім використовуйте таку команду для створення приватної мережі:

джерела кредитів

$ Створіть приватну мережу:

nova network-create private –bridge br100 – multi-host T –dns1 8.8.8.8 \
–шлюз 172.16.0.1 – fixed-range-v4 172.16.0.0/24

Далі створіть плаваючий пул IP-адрес:

nova-управляє плаваючим створенням –pool = nova –ip_range = 192.168.100.100 / 28

Крок 2: Створіть свій стек

Тепер ми створимо наш стек із новоствореного шаблону.

джерела кредитів

heat stack-create -f docker-stack.yml docker-stack

Далі переконайтеся, що ваш стек успішно створений:

тепловий стек-лист

Після запуску стека з’явиться вікно внизу:

Виконайте наступну команду, щоб підтвердити, що ваші контейнери успішно створені:

ssh [email protected]

додо-судо -Н: 2375 пс

Ви отримаєте такий вихід:

Це воно! Ви успішно встановили контейнери Docker з OpenStack Heat.

Ознайомтеся з трьома найкращими хостинговими послугами Linux

FastComet

Стартова ціна:
2,95 дол


Надійність
9.7


Ціноутворення
9.5


Користувач
9.7


Підтримка
9.7


Особливості
9.6

Прочитайте відгуки

Відвідайте FastComet

Хостингер

Стартова ціна:
0,99 дол


Надійність
9.3


Ціноутворення
9.3


Користувач
9.4


Підтримка
9.4


Особливості
9.2

Прочитайте відгуки

Відвідайте хостинг

ChemiCloud

Стартова ціна:
2,76 дол


Надійність
10


Ціноутворення
9.9


Користувач
9.9


Підтримка
10


Особливості
9.9

Прочитайте відгуки

Відвідайте ChemiCloud

Пов’язані статті “Як”

  • Як налаштувати кластер кластера Docker Swarm на Ubuntu 16.04 VPS або виділений сервер
    експерт
  • Як налаштувати кластер кластера Docker Swarm на CentOS 7 VPS або виділений сервер
    експерт
  • Як встановити власну хмару на виділеному сервері Ubuntu 18.04 або VPS
    проміжний
  • Як встановити та налаштувати Docker Compose на Ubuntu 18.04 VPS або виділений сервер
    новачок
  • Як встановити Redis на виділеному сервері CentOS 7 або VPS
    проміжний
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me