Prehľad
Požiadavky
Cloud-init skript
PXE skript
POŽARNE dvere
Spustite to
Prehľad
RancherOS je neuveriteľne ľahký operačný systém (iba asi 60 MB), na ktorom je spustený „systémový“ démon Docker PID 0
pre spustenie systémových služieb (sieť, prístup ku konzole atď.), ako aj „používateľský“ démon Docker na spúšťanie systémové kontajnery (MySQL, Rancher a ďalšie).
Rancher je kontajnerová orchestračná platforma na správu kontajnerov, ako aj širších aspektov infraštruktúry, ako sú hostitelia, prostredia a ďalšie. Server Rancher riadi orchestráciu a agent Rancher je nasadený na každého hostiteľa, ktorý spravuje Rancher.
V tomto článku prejdeme nasledujúcimi krokmi na nasadenie servera Rancher:
Cloud-init script
- Zverejnite súbor cloud-init na inštaláciu a spustenie servera Rancher.
PXE script
- Napíšte skript PXE na získanie súboru cloud-init a prvé spustenie hostiteľa.
Firewall
- Vytvorte skupinu brány firewall, pretože bezpečnosť je prvoradá.
Start it up
- Poskytnite hostiteľa a nainštalujte Rancher.
Požiadavky
- VPS s minimálne 1 GB RAM - Na tento hostiteľ nainštalujeme server Rancher.
- Blokovať úložisko – na trvalé ukladanie údajov, konfigurácií, používateľov a ďalších serverov Rancher.
- 1 Vyhradená IP adresa – poskytnúť agentom Rancher konzistentnú IP, ktorú môžu použiť na pripojenie sa do prostredia Rancher.
Cloud-init skript
Uložte nasledujúci skript na miesto dostupné pre váš hostiteľ, HTTP/HTTPS
aby naň mohol odkazovať zo svojho skriptu PXE.
Nahraďte ssh-...
časti svojim verejným kľúčom SSH, aby ste mohli SSH do hostiteľa.
#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
Všimnite si, že toto je vlastne výsadba cloud-config.yml
vnútri iného cloud-config.yml
. Vonkajší sa načíta pri prvom spustení hostiteľa iPXE a nainštaluje Rancher na hostiteľský disk /dev/vda
. Vnútorná konfigurácia je pre následné bootovanie a skutočne spustí Rancher server.
Údaje MySQL sú uložené na blokovom úložisku /dev/vdb
, takže kritické údaje a konfigurácie servera Rancher môžu prežiť výmenu hostiteľa VPS.
Skript môžete nahrať na ľubovoľný počet bezplatných miest, ktoré sú verejne dostupné ako adresa URL, alebo ho môžete hostiť na inom VPS, takže k nemu budú mať prístup len vaši hostitelia prostredníctvom súkromnej siete.
PXE skript
Skopírujte nasledujúci skript ako spúšťací skript PXE s názvom " Rancher Server
" a nahraďte CLOUD_CONFIG_URL
ho adresou URL vášho cloud-config.yml
súboru (niečo ako 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
Týmto sa stiahne najnovšia ISO RancherOS a spustí sa do pamäte pomocou skriptu cloud-init. Váš cloud-init skript potom bude pokračovať v inštalácii RancherOS na disk a pri druhom spustení sa spustí kontajner servera Rancher.
POŽARNE dvere
Keď bude Rancher prvýkrát dostupný, každý, kto zasiahne koncový bod, bude mať okamžite oprávnenia správcu.
Ak chcete zabrániť tomu, aby váš server Rancher uniesli cudzinci, vytvorte bránu firewall s názvom „Server Rancher“ s nasledujúcimi pravidlami:
TCP 22
na vašej IP, takže môžete SSH do hostiteľa.
TCP 8080
na vašej IP, aby ste mohli načítať webovú stránku servera Rancher.
TCP 8080
pre všetkých hostiteľov agentov Rancher, aby sa mohli zaregistrovať na serveri Rancher.
Spustite to
Poskytnite svojho hostiteľa s Server Type
veľkosťou 1+ GB v rovnakej oblasti ako vaše blokové úložisko a nastavte ho na vlastný spúšťací skript iPXE „Rancher Server“.
Po spustení nezabudnite previesť jeho IP na vyhradenú IP, aby vaši agenti Rancher mali koncový bod, s ktorým sa môžu dôsledne registrovať.
Bude trvať ~4 minúty, kým iPXE stiahne RancherOS ISO, prvé spustenie nainštaluje RancherOS do /dev/vda
a druhé spustenie stiahne rancher/server:stable
obraz Docker a spustí jeho kontajnery.
Keď bude hore, budete ho môcť dosiahnuť na adrese http://YOUR_RESERVED_IP:8080
.
Gratulujeme, práve ste nastavili Rancher server na RancherOS.
Môžete reštartovať svoju inštanciu alebo ju dokonca zničiť / preinštalovať a blokové úložisko zachová vaše údaje a konfigurácie, zatiaľ čo vaša vyhradená adresa IP umožní novým agentom Rancher vedieť, kde nájsť váš server.
Niekoľko ďalších krokov:
Set up access control
- prinajmenšom vytvorte lokálneho administrátora s bezpečným heslom.
Add hosts
- v Add Hosts -> Custom
sekcii skopírujte adresu URL, ktorá obsahuje dlhý token špecifický pre váš server Rancher. Budete to potrebovať na registráciu agentov Rancher na vašom serveri.
Explore
najnovšie Rancher dokumentáciu servera .