Přehled
Požadavky
Cloud-init skript
PXE skript
Firewall
Spusťte to
Přehled
RancherOS je neuvěřitelně lehký operační systém (jen asi 60 MB), na kterém běží „systémový“ démon Docker PID 0
pro spouštění systémových služeb (sítě, přístup ke konzole atd.), stejně jako „uživatelský“ démon Docker pro spouštění jiných než systémové kontejnery (MySQL, Rancher a další).
Rancher je kontejnerová orchestrační platforma pro správu kontejnerů a také širších aspektů infrastruktury, jako jsou hostitelé, prostředí a další. Orchestraci řídí server Rancher a na každého hostitele, který spravuje Rancher, je nasazen agent Rancher.
V tomto článku projdeme následující kroky k nasazení serveru Rancher:
Cloud-init script
- Zveřejněte soubor cloud-init pro instalaci a spuštění serveru Rancher.
PXE script
- Napište skript PXE pro načtení souboru cloud-init a první spuštění hostitele.
Firewall
- Vytvořte skupinu brány firewall, protože bezpečnost je prvořadá.
Start it up
- Poskytněte hostitele a nainstalujte Rancher.
Požadavky
- VPS s minimálně 1 GB RAM - Na tento hostitel nainstalujeme server Rancher.
- Blokovat úložiště – K trvalému ukládání dat, konfigurací, uživatelů a dalšího serveru Rancher.
- 1 Vyhrazená IP adresa – Chcete-li dát agentům Rancher konzistentní IP, aby se mohli připojit k prostředí Rancher.
Cloud-init skript
Uložte následující skript do umístění dostupného vaším hostitelem přes, HTTP/HTTPS
aby na něj mohl odkazovat ze svého skriptu PXE.
Nahraďte ssh-...
části svým veřejným klíčem SSH, abyste mohli SSH do hostitele.
#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šimněte si, že toto je ve skutečnosti výsadba cloud-config.yml
uvnitř jiného cloud-config.yml
. Vnější se načte, když iPXE poprvé zavede hostitele, a nainstaluje Rancher na hostitelský disk /dev/vda
. Vnitřní konfigurace je pro následující bootování a ve skutečnosti spustí Rancher server.
Data MySQL jsou uložena na blokovém úložišti /dev/vdb
, takže kritická data a konfigurace serveru Rancher mohou přežít výměnu hostitele VPS.
Skript můžete nahrát na libovolný počet bezplatných míst, která jsou veřejně dostupná jako adresa URL, nebo jej můžete hostit na jiném VPS, takže k němu budou mít přístup pouze vaši hostitelé prostřednictvím privátní sítě.
PXE skript
Zkopírujte následující jako spouštěcí skript PXE s názvem " Rancher Server
" a nahraďte CLOUD_CONFIG_URL
jej adresou URL vašeho cloud-config.yml
souboru (něco jako 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ím se stáhne nejnovější ISO RancherOS a spustí se do paměti pomocí skriptu cloud-init. Váš cloud-init skript pak bude pokračovat v instalaci RancherOS na disk a druhé spuštění spustí kontejner serveru Rancher.
Firewall
Když bude Rancher poprvé k dispozici, každý, kdo zasáhne koncový bod, bude mít okamžitě oprávnění správce.
Chcete-li zabránit tomu, aby váš server Rancher unesli cizí lidé, vytvořte firewall s názvem „Rancher Server“ s následujícími pravidly:
TCP 22
na vaší IP, takže můžete SSH do hostitele.
TCP 8080
na vaší IP, takže můžete načíst webovou stránku serveru Rancher.
TCP 8080
pro všechny hostitele agentů Rancher, aby se mohli zaregistrovat na serveru Rancher.
Spusťte to
Poskytněte svého 1+ GB hostitele ve stejné oblasti jako vaše blokové úložiště a nastavte jej Server Type
na vlastní spouštěcí skript iPXE „Rancher Server“.
Jakmile bude spuštěn, nezapomeňte převést jeho IP na vyhrazenou IP, aby vaši agenti Rancher měli koncový bod, u kterého se mohou konzistentně registrovat.
Bude trvat ~4 minuty, než iPXE stáhne RancherOS ISO, první boot nainstaluje RancherOS do /dev/vda
a druhý boot vytáhne rancher/server:stable
obraz Docker a spustí jeho kontejnery.
Jakmile bude nahoře, budete jej moci dosáhnout na adrese http://YOUR_RESERVED_IP:8080
.
Gratulujeme, právě jste nastavili Rancher server na RancherOS.
Můžete restartovat svou instanci nebo ji dokonce zničit / znovu nainstalovat a blokové úložiště zachová vaše data a konfigurace, zatímco vaše vyhrazená IP umožní novým agentům Rancher vědět, kde najdou váš server.
Několik dalších kroků:
Set up access control
- Přinejmenším vytvořte místního administrátora s bezpečným heslem.
Add hosts
- v Add Hosts -> Custom
části zkopírujte adresu URL, která obsahuje dlouhý token specifický pro váš server Rancher. Budete to potřebovat k registraci agentů Rancher na vašem serveru.
Explore
nejnovější Rancher dokumentaci serveru .