Oversikt
Krav
Cloud-init-skript
PXE-skript
Brannmur
Start den opp
Oversikt
RancherOS er et utrolig lett operativsystem (bare ca. 60 MB) som kjører en "system" Docker-demon som PID 0
for å kjøre systemtjenester (nettverk, konsolltilgang og så videre), samt en "bruker" Docker-demon for å kjøre ikke- systembeholdere, (MySQL, Rancher og mer).
Rancher er en containerdrevet orkestreringsplattform for å administrere containere, så vel som bredere aspekter av infrastruktur som verter, miljøer og mer. En Rancher-server kontrollerer orkestreringen, og en Rancher-agent distribueres til hver vert som administreres av Rancher.
I denne artikkelen vil vi gå gjennom følgende trinn for å distribuere en Rancher-server:
Cloud-init script
- Publiser en cloud-init-fil for å installere og kjøre Rancher-serveren.
PXE script
- Skriv et PXE-skript for å hente cloud-init-filen og starte opp verten for første gang.
Firewall
– Lag en brannmurgruppe, fordi sikkerhet er viktigst.
Start it up
- Forsyn verten og installer Rancher.
Krav
- VPS med minimum 1 GB RAM - Vi installerer Rancher-serveren på denne verten.
- Blokker lagring - For vedvarende å lagre Rancher-serverens data, konfigurasjoner, brukere og mer.
- 1 Reservert IP-adresse - For å gi Rancher-agenter en konsistent IP-adresse de kan bruke for å bli med i Rancher-miljøet.
Cloud-init-skript
Lagre følgende skript til et sted som verten din kan nå via, HTTP/HTTPS
slik at den kan referere til det fra PXE-skriptet.
Bytt ut ssh-...
delene med den offentlige SSH-nøkkelen din slik at du kan SSH inn i verten.
#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
Legg merke til at dette faktisk er å plante en cloud-config.yml
inni en annen cloud-config.yml
. Den ytre lastes inn når iPXE starter opp verten for første gang, og den installerer Rancher på vertens stasjon /dev/vda
. Den indre konfigurasjonen er for påfølgende oppstarter og vil faktisk starte Rancher-serveren.
MySQL-dataene lagres på blokklageret /dev/vdb
, slik at de kritiske Rancher-serverdataene og konfigurasjonene kan overleve utskifting av VPS-verten.
Du kan laste opp skriptet til et hvilket som helst antall gratis steder som er tilgjengelig som en URL offentlig, eller du kan være vert for det på en annen VPS slik at det bare er tilgjengelig for vertene dine via et privat nettverk.
PXE-skript
Kopier følgende som et PXE-oppstartsskript kalt " Rancher Server
" mens du erstatter CLOUD_CONFIG_URL
med URL-en til cloud-config.yml
filen din (noe sånt som 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
Dette vil hente den nyeste RancherOS ISO og starte den opp i minnet ved hjelp av cloud-init-skriptet ditt. Cloud-init-skriptet vil deretter fortsette å installere RancherOS til disk, og den andre oppstarten vil kjøre Rancher-serverbeholderen.
Brannmur
Når Rancher først blir tilgjengelig, vil alle som treffer endepunktet umiddelbart ha administratorrettigheter.
For å forhindre utenforstående fra å kapre Rancher-serveren din, lag en brannmur kalt "Rancher Server" med følgende regler:
TCP 22
på IP-en din, slik at du kan SSH inn i verten.
TCP 8080
på IP-en din, slik at du kan laste Rancher-serverens nettside.
TCP 8080
for alle Rancher-agentverter, slik at de kan registrere seg hos Rancher-serveren.
Start den opp
Gi verten din på 1+ GB i samme region som blokklagringen din, og sett den Server Type
til "Rancher Server" iPXE-tilpasset oppstartsskript.
Når den er startet opp, sørg for å konvertere IP-adressen til en reservert IP slik at Rancher-agentene dine har et endepunkt de kan registrere seg med konsekvent.
Det vil ta ~4 minutter for iPXE å trekke RancherOS ISO, den første oppstarten for å installere RancherOS til /dev/vda
, og for den andre oppstarten å trekke rancher/server:stable
Docker-bildet og starte opp beholderne.
Når den er oppe, vil du kunne nå den på http://YOUR_RESERVED_IP:8080
.
Gratulerer, du har nettopp satt opp Rancher server på RancherOS.
Du kan starte forekomsten på nytt eller til og med ødelegge/installere den på nytt, og blokklagringen vil bevare dataene og konfigurasjonene dine mens din reserverte IP vil tillate nye Rancher-agenter å vite hvor de skal finne serveren din.
Noen få neste trinn:
Set up access control
- Opprett i det minste en lokal administratorbruker med et sikkert passord.
Add hosts
- i Add Hosts -> Custom
seksjonen, kopier URL-en som inneholder et langt token som er spesifikt for din Rancher-server. Du trenger dette for å registrere Rancher-agenter på serveren din.
Explore
den nyeste dokumentasjonen for Rancher-serveren .