Oversigt
Krav
Cloud-init script
PXE script
Firewall
Start den op
Oversigt
RancherOS er et utroligt let operativsystem (kun omkring 60 MB), der kører en "system" Docker-dæmon som PID 0
til at køre systemtjenester (netværk, konsoladgang og så videre), samt en "bruger" Docker-dæmon til at køre ikke- systemcontainere, (MySQL, Rancher og mere).
Rancher er en containerdrevet orkestreringsplatform til styring af containere såvel som bredere aspekter af infrastruktur såsom værter, miljøer og mere. En Rancher-server styrer orkestreringen, og en Rancher-agent er indsat til hver vært, der administreres af Rancher.
I denne artikel gennemgår vi følgende trin for at implementere en Rancher-server:
Cloud-init script
- Udgiv en cloud-init-fil for at installere og køre Rancher-serveren.
PXE script
- Skriv et PXE-script for at hente cloud-init-filen og starte værten op for første gang.
Firewall
- Opret en firewall-gruppe, for sikkerhed er i højsædet.
Start it up
- Forsyn værten og installer Rancher.
Krav
- VPS med minimum 1 GB RAM - Vi installerer Rancher server på denne vært.
- Bloker lagring - For vedvarende at gemme Rancher-serverens data, konfigurationer, brugere og mere.
- 1 Reserveret IP-adresse - For at give Rancher-agenter en ensartet IP-adresse, som de kan bruge til at deltage i Rancher-miljøet.
Cloud-init script
Gem følgende script til en placering, som din vært kan nå via, HTTP/HTTPS
så den kan referere til det fra sit PXE-script.
Udskift ssh-...
delene med din offentlige SSH-nøgle, så du kan SSH ind i værten.
#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
Bemærk, at dette faktisk er at plante en cloud-config.yml
inde i en anden cloud-config.yml
. Den ydre indlæses, når iPXE starter værten op for første gang, og den installerer Rancher på værtens drev /dev/vda
. Den indre konfiguration er til efterfølgende opstarter og vil faktisk starte Rancher-serveren.
MySQL-dataene gemmes på bloklageret /dev/vdb
, så de kritiske Rancher-serverdata og konfigurationer kan overleve udskiftning af VPS-værten.
Du kan uploade scriptet til et hvilket som helst antal gratis steder, der er offentligt tilgængelige som en URL, eller du kan hoste det på en anden VPS, så det kun er tilgængeligt for dine værter via et privat netværk.
PXE script
Kopier følgende som et PXE-startscript kaldet " Rancher Server
", mens du erstatter CLOUD_CONFIG_URL
med URL'en på din cloud-config.yml
fil (noget i stil med 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 trækker den nyeste RancherOS ISO og starter den op i hukommelsen ved hjælp af dit cloud-init-script. Dit cloud-init-script vil derefter fortsætte med at installere RancherOS på disken, og den anden boot vil køre Rancher-servercontaineren.
Firewall
Når Rancher først bliver tilgængelig, vil enhver, der rammer slutpunktet, straks have administratorrettigheder.
For at forhindre udefrakommende i at kapre din Rancher-server, skal du oprette en firewall kaldet "Rancher Server" med følgende regler:
TCP 22
på din IP, så du kan SSH ind i værten.
TCP 8080
på din IP, så du kan indlæse Rancher-serverens webside.
TCP 8080
for alle Rancher-agentværter, så de kan registrere sig hos Rancher-serveren.
Start den op
Giv din 1+ GB vært i samme region som dit Server Type
bloklager , og indstil den til "Rancher Server" iPXE-tilpasset opstartsscript.
Når den er startet, skal du sørge for at konvertere dens IP til en reserveret IP, så dine Rancher-agenter har et slutpunkt, de kan registrere sig med konsekvent.
Det vil tage ~4 minutter for iPXE at trække RancherOS ISO, den første boot at installere RancherOS til /dev/vda
, og for den anden boot at trække rancher/server:stable
Docker-billedet og starte dens containere.
Når det er op, vil du kunne nå det på http://YOUR_RESERVED_IP:8080
.
Tillykke, du har lige konfigureret Rancher-serveren på RancherOS.
Du kan genstarte din instans eller endda ødelægge/geninstallere den, og bloklageret vil bevare dine data og konfigurationer, mens din reserverede IP vil tillade nye Rancher-agenter at vide, hvor de kan finde din server.
Et par næste trin:
Set up access control
- Opret i det mindste en lokal administratorbruger med en sikker adgangskode.
Add hosts
- i Add Hosts -> Custom
sektionen skal du kopiere URL'en, der indeholder et langt token specifikt for din Rancher-server. Du skal bruge dette for at registrere Rancher-agenter på din server.
Explore
den seneste Rancher server dokumentation .