Pregled
Zahtjevi
Skripta pokretanja oblaka
PXE skripta
Vatrozid
Pokreni ga
Pregled
RancherOS je nevjerojatno lagan operativni sustav (samo oko 60 MB) koji pokreće "sistemski" Docker demon PID 0za pokretanje sistemskih usluga (mreža, pristup konzoli i tako dalje), kao i "korisnički" Docker demon za pokretanje ne- spremnike sustava (MySQL, Rancher i više).
Rancher je platforma za orkestraciju kojom upravljaju kontejneri za upravljanje kontejnerima, kao i širim aspektima infrastrukture kao što su domaćini, okruženja i još mnogo toga. Rancher poslužitelj kontrolira orkestraciju, a Rancher agent je raspoređen na svaki host kojim Rancher upravlja.
U ovom članku ćemo proći kroz sljedeće korake za implementaciju Rancher poslužitelja:
Cloud-init script - Objavite cloud-init datoteku za instalaciju i pokretanje Rancher poslužitelja.
PXE script - Napišite PXE skriptu za dohvaćanje Cloud-init datoteke i podizanje hosta po prvi put.
Firewall - Napravite grupu vatrozida, jer je sigurnost najvažnija.
Start it up - Omogućite host i instalirajte Rancher.
Zahtjevi
- VPS s minimalno 1 GB RAM-a - Instalirat ćemo Rancher poslužitelj na ovaj host.
- Blokirajte pohranu - za trajno pohranjivanje podataka, konfiguracija, korisnika i još mnogo toga Rancher poslužitelja.
- 1 Rezervirana IP adresa - Da bi se Rancher agentima dao konzistentan IP za korištenje za pridruživanje Rancher okruženju.
Skripta pokretanja oblaka
Spremite sljedeću skriptu na lokaciju do koje može doći vaš host putem HTTP/HTTPSkako bi je mogao referencirati iz svoje PXE skripte.
Zamijenite ssh-...dijelove svojim SSH javnim ključem kako biste mogli SSH pristupiti hostu.
#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
Imajte na umu da je ovo zapravo sadnja cloud-config.ymlunutar drugog cloud-config.yml. Vanjski se učitava kada iPXE prvi put diže host i instalira Rancher na pogon hosta /dev/vda. Unutarnja konfiguracija je za naknadno pokretanje i zapravo će pokrenuti Rancher poslužitelj.
MySQL podaci pohranjeni su u blok memoriji /dev/vdb, tako da kritični podaci i konfiguracije Rancher poslužitelja mogu preživjeti zamjenu VPS hosta.
Skriptu možete prenijeti na bilo koji broj besplatnih lokacija koje su javno dostupne kao URL ili je možete hostirati na drugom VPS-u kako bi joj mogli pristupiti samo vaši domaćini putem privatne mreže.
PXE skripta
Kopirajte sljedeće kao skriptu za pokretanje PXE pod nazivom " Rancher Server" dok zamijenite CLOUD_CONFIG_URLURL-om svoje cloud-config.ymldatoteke (nešto poput 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
Ovo će povući najnoviji RancherOS ISO i pokrenuti ga u memoriju pomoću vaše skripte za pokretanje oblaka. Vaša cloud-init skripta će zatim nastaviti s instalacijom RancherOS-a na disk, a drugo pokretanje pokrenut će spremnik Rancher poslužitelja.
Vatrozid
Kada Rancher prvi put postane dostupan, svatko tko pogodi krajnju točku odmah će imati administratorske privilegije.
Kako biste spriječili da stranci otmu vaš Rancher poslužitelj, stvorite vatrozid pod nazivom "Rancher Server" sa sljedećim pravilima:
TCP 22 na vašem IP-u, tako da možete SSH ući u host.
TCP 8080 na svoj IP, tako da možete učitati web stranicu Rancher poslužitelja.
TCP 8080 za sve hostove Rancher agenta, tako da se mogu registrirati na Rancher poslužitelju.
Pokreni ga
Omogućite svoj host od 1+ GB u istoj regiji kao i vaša blok pohrana i postavite ga Server Typena prilagođenu skriptu za pokretanje iPXE "Rancher Server".
Nakon što se pokrene, svakako pretvorite njegov IP u rezervirani IP kako bi vaši Rancher agenti imali krajnju točku na koju se mogu dosljedno registrirati.
Trebat će ~4 minute da iPXE povuče RancherOS ISO, prvo pokretanje za instalaciju RancherOS-a na /dev/vda, a drugo pokretanje da povuče rancher/server:stableDocker sliku i pokrene svoje spremnike.
Nakon što se pokrene, moći ćete je doći na http://YOUR_RESERVED_IP:8080.
Čestitamo, upravo ste postavili Rancher poslužitelj na RancherOS.
Možete ponovno pokrenuti svoju instancu ili je čak uništiti/reinstalirati, a blok za pohranu će sačuvati vaše podatke i konfiguracije dok će vaš rezervirani IP omogućiti novim Rancher agentima da znaju gdje pronaći vaš poslužitelj.
Nekoliko sljedećih koraka:
Set up access control - u najmanju ruku stvorite lokalnog administratora sa sigurnom lozinkom.
Add hosts- u Add Hosts -> Customodjeljku kopirajte URL koji sadrži dugi token specifičan za vaš Rancher poslužitelj. Ovo će vam trebati da registrirate Rancher agente na vašem poslužitelju.
Explorenajnovije Rancher poslužitelj dokumentaciju .