Apžvalga
Reikalavimai
Cloud-init scenarijus
PXE scenarijus
Ugniasienė
Pradėkite tai
Apžvalga
RancherOS yra neįtikėtinai lengva operacinė sistema (tik apie 60 MB), kurioje veikia "sisteminis" Docker demonas, PID 0
skirtas sistemos paslaugoms paleisti (tinklo kūrimas, prieiga prie konsolės ir pan.), taip pat "vartotojo" Docker demonas, skirtas paleisti ne sistemos konteineriai (MySQL, Rancher ir kt.).
„Rancher“ yra konteinerių valdoma orkestravimo platforma, skirta konteineriams valdyti, taip pat platesniems infrastruktūros aspektams, pvz., prieglobai, aplinkai ir kt. „Rancher“ serveris kontroliuoja orkestravimą, o „Rancher“ agentas yra įdiegtas kiekviename „Rancher“ valdomame pagrindiniame kompiuteryje.
Šiame straipsnyje mes atliksime šiuos veiksmus, norėdami įdiegti Rancher serverį:
Cloud-init script
- Paskelbkite debesies inicijavimo failą, kad įdiegtumėte ir paleistumėte Rancher serverį.
PXE script
- Parašykite PXE scenarijų, kad gautumėte debesies inicijavimo failą ir pirmą kartą paleistumėte pagrindinį kompiuterį.
Firewall
- Sukurkite ugniasienės grupę, nes saugumas yra svarbiausias.
Start it up
- Pateikite pagrindinį kompiuterį ir įdiekite „Rancher“.
Reikalavimai
- VPS su mažiausiai 1 GB RAM – šioje priegloboje įdiegsime Rancher serverį.
- Blokuoti saugyklą – nuolat saugoti Rancher serverio duomenis, konfigūracijas, vartotojus ir kt.
- 1 Rezervuotas IP adresas – suteikti Rancher agentams nuoseklų IP, kurį jie gali naudoti prisijungdami prie Rancher aplinkos.
Cloud-init scenarijus
Išsaugokite šį scenarijų toje vietoje, kurią jūsų priegloba HTTP/HTTPS
gali pasiekti, kad jis galėtų nurodyti jį iš savo PXE scenarijaus.
Pakeiskite ssh-...
dalis savo viešuoju SSH raktu, kad galėtumėte SSH patekti į pagrindinį kompiuterį.
#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
Atkreipkite dėmesį, kad tai iš tikrųjų yra cloud-config.yml
kito sodinimas cloud-config.yml
. Išorinis įkeliamas, kai „iPXE“ pirmą kartą paleidžia pagrindinį kompiuterį, ir jis įdiegia „Rancher“ pagrindinio kompiuterio diske /dev/vda
. Vidinė konfigūracija skirta vėlesniam paleidimui ir iš tikrųjų paleis Rancher serverį.
MySQL duomenys saugomi bloko saugykloje /dev/vdb
, todėl svarbūs Rancher serverio duomenys ir konfigūracijos gali išgyventi pakeitus VPS pagrindinį kompiuterį.
Galite įkelti scenarijų į bet kokį skaičių nemokamų vietų, kurios yra viešai pasiekiamos kaip URL, arba galite jį priglobti kitame VPS, kad jį galėtų pasiekti tik jūsų prieglobos per privatų tinklą.
PXE scenarijus
Nukopijuokite toliau pateiktą kaip PXE paleisties scenarijų, vadinamą " Rancher Server
", pakeisdami CLOUD_CONFIG_URL
savo cloud-config.yml
failo URL (kažkas panašaus į 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
Tai ištrauks naujausią RancherOS ISO ir paleis jį į atmintį naudojant debesies inicijavimo scenarijų. Tada jūsų debesies inicijavimo scenarijus pradės diegti RancherOS diske, o antrasis įkrovimas paleis Rancher serverio konteinerį.
Ugniasienė
Kai „Rancher“ bus prieinama pirmą kartą, kiekvienas, pasiekęs galutinį tašką, iš karto turės administratoriaus teises.
Norėdami neleisti pašaliniams asmenims užgrobti jūsų Rancher serverio, sukurkite užkardą pavadinimu „Rancher Server“ su šiomis taisyklėmis:
TCP 22
savo IP, kad galėtumėte SSH patekti į pagrindinį kompiuterį.
TCP 8080
savo IP, kad galėtumėte įkelti Rancher serverio tinklalapį.
TCP 8080
bet kokiems „Rancher“ agentų priegloboms, kad jie galėtų užsiregistruoti „Rancher“ serveryje.
Pradėkite tai
Suteikite savo 1+ GB pagrindinį kompiuterį tame pačiame regione, kaip ir bloko saugyklą, ir nustatykite jį Server Type
į „Rancher Server“ iPXE tinkintą paleisties scenarijų.
Kai jis bus paleistas, būtinai konvertuokite jo IP į rezervuotą IP, kad jūsų Rancher agentai turėtų galutinį tašką, su kuriuo galėtų nuolat registruotis.
Prireiks ~ 4 minučių, kol iPXE ištrauks „RancherOS ISO“ – pirmąjį įkrovą, kad įdiegs „RancherOS“ /dev/vda
, o antrasis įkrovimas ištrauks „ rancher/server:stable
Docker“ vaizdą ir paleis jo konteinerius.
Kai jis bus atidarytas, galėsite jį pasiekti adresu http://YOUR_RESERVED_IP:8080
.
Sveikiname, ką tik nustatėte „Rancher“ serverį „RancherOS“.
Galite iš naujo paleisti egzempliorių arba net sunaikinti / iš naujo įdiegti, o bloko saugykla išsaugos jūsų duomenis ir konfigūracijas, o jūsų rezervuotas IP leis naujiems Rancher agentams žinoti, kur rasti jūsų serverį.
Keli tolesni žingsniai:
Set up access control
- bent jau sukurkite vietinį administratoriaus vartotoją su saugiu slaptažodžiu.
Add hosts
- Add Hosts -> Custom
skiltyje nukopijuokite URL, kuriame yra ilgas prieigos raktas, būdingas jūsų Rancher serveriui. To reikės norint užregistruoti Rancher agentus savo serveryje.
Explore
vėliau Rancher serveris dokumentacija .