Общ преглед
Изисквания
Скрипт за иницииране на облак
PXE скрипт
защитна стена
Стартирайте го
Общ преглед
RancherOS е невероятно лека операционна система (само около 60 MB), която изпълнява "системен" Docker демон PID 0
за стартиране на системни услуги (мрежа, достъп до конзола и т.н.), както и "потребителски" Docker демон за стартиране на не- системни контейнери (MySQL, Rancher и др.).
Rancher е платформа за оркестриране, управлявана от контейнери, за управление на контейнери, както и по-широки аспекти на инфраструктурата като хостове, среди и др. Сървър на Rancher контролира оркестрацията и агент на Rancher се разполага на всеки хост, който се управлява от Rancher.
В тази статия ще преминем през следните стъпки за внедряване на сървър на Rancher:
Cloud-init script
- Публикувайте файл за иницииране на облак, за да инсталирате и стартирате сървъра на Rancher.
PXE script
- Напишете PXE скрипт за извличане на файла за иницииране в облака и зареждане на хоста за първи път.
Firewall
- Създайте група за защитна стена, защото сигурността е от първостепенно значение.
Start it up
- Осигурете хоста и инсталирайте Rancher.
Изисквания
- VPS с минимум 1 GB RAM - Ще инсталираме Rancher сървър на този хост.
- Блоково съхранение - За постоянно съхраняване на данни, конфигурации, потребители и други на сървъра на Rancher.
- 1 Запазен IP адрес - За да се даде на агентите на Rancher последователен IP адрес, който да се използва, за да се присъединят към средата на Rancher.
Скрипт за иницииране на облак
Запазете следния скрипт на място, достъпно от вашия хост чрез, HTTP/HTTPS
за да може да го препраща от своя PXE скрипт.
Заменете ssh-...
частите с вашия публичен SSH ключ, за да можете да влезете в хоста чрез SSH.
#cloud-config
ssh_authorized_keys:
- ssh-...
write_files:
- path: /cloud-config.yml
permissions: "0700"
owner: root
content: |
#cloud-config
ssh_authorized_keys:
- ssh-...
mounts:
- ["/dev/vdb1", "/mnt", "ext4", ""]
rancher:
services:
rancher-server:
image: rancher/server:stable
ports:
- 8080:8080
restart: always
volumes:
- /mnt/rancher-server-mysql:/var/lib/mysql
- path: /opt/rancher/bin/start.sh
permissions: "0700"
owner: root
content: |
#!/bin/bash
echo y | ros install -f -c /cloud-config.yml -d /dev/vda
Имайте предвид, че това всъщност е засаждане на cloud-config.yml
вътре в друг cloud-config.yml
. Външният се зарежда, когато iPXE стартира хоста за първи път и инсталира Rancher на устройството на хоста /dev/vda
. Вътрешната конфигурация е за последващо зареждане и всъщност ще стартира сървъра на Rancher.
MySQL данните се съхраняват в блоковото хранилище /dev/vdb
, така че критичните данни и конфигурации на сървъра на Rancher могат да оцелеят при подмяна на VPS хоста.
Можете да качите скрипта на произволен брой безплатни места, които са достъпни като URL публично, или можете да го хоствате на друг VPS, така че да е достъпен само от вашите хостове чрез частна мрежа.
PXE скрипт
Копирайте следното като скрипт за стартиране на PXE, наречен " Rancher Server
", като го замените CLOUD_CONFIG_URL
с URL адреса на вашия cloud-config.yml
файл (нещо като https://example.com/cloud-config.yml
).
#!ipxe
# Location of Kernel/Initrd images
set base-url https://releases.rancher.com/os/latest
kernel ${base-url}/vmlinuz rancher.state.dev=LABEL=RANCHER_STATE -- rancher.cloud_init.datasources=[url:CLOUD_CONFIG_URL]
initrd ${base-url}/initrd
boot
Това ще изтегли най-новия RancherOS ISO и ще го зареди в паметта с помощта на вашия облачен скрипт. След това вашият облачен скрипт ще продължи да инсталира RancherOS на диск, а второто зареждане ще стартира контейнера на сървъра на Rancher.
защитна стена
Когато Rancher за първи път стане достъпен, всеки, който удари крайната точка, веднага ще има администраторски привилегии.
За да предотвратите външни лица да отвличат вашия сървър на Rancher, създайте защитна стена, наречена "Rancher Server" със следните правила:
TCP 22
на вашия IP, така че можете да влезете в хоста по SSH.
TCP 8080
на вашия IP, така че можете да заредите уеб страницата на сървъра на Rancher.
TCP 8080
за всички хостове на Rancher агент, за да могат да се регистрират със сървъра на Rancher.
Стартирайте го
Предоставете своя хост от 1+ GB в същия регион като вашето блоково хранилище и го задайте на Server Type
персонализирания скрипт за стартиране на iPXE „Rancher Server“.
След като се зареди, не забравяйте да преобразувате неговия IP в запазен IP, така че вашите агенти на Rancher да имат крайна точка, с която могат да се регистрират последователно.
Ще отнеме ~4 минути, за да може iPXE да изтегли RancherOS ISO, първото стартиране да инсталира RancherOS на /dev/vda
, а второто стартиране да изтегли rancher/server:stable
изображението на Docker и да стартира неговите контейнери.
След като е готов, ще можете да го достигнете на http://YOUR_RESERVED_IP:8080
.
Поздравления, току-що настроихте Rancher сървър на RancherOS.
Можете да рестартирате вашия екземпляр или дори да го унищожите / инсталирате отново, а блоковото хранилище ще запази вашите данни и конфигурации, докато вашият запазен IP ще позволи на новите агенти на Rancher да знаят къде да намерят вашия сървър.
Няколко следващи стъпки:
Set up access control
- най-малкото създайте потребител на локален администратор със сигурна парола.
Add hosts
- в Add Hosts -> Custom
секцията копирайте URL адреса, който съдържа дълъг токен, специфичен за вашия сървър на Rancher. Това ще ви е необходимо, за да регистрирате агенти на Rancher на вашия сървър.
Explore
най- новата документация за сървъра на Rancher .