Visió general
Requisits
Script d'inici al núvol
Script PXE
Tallafoc
Posa'l en marxa
Visió general
RancherOS és un sistema operatiu increïblement lleuger (només uns 60 MB) que executa un dimoni Docker del "sistema" com PID 0
per executar serveis del sistema, (xarxes, accés a la consola, etc.), així com un dimoni Docker "d'usuari" per executar no contenidors del sistema, (MySQL, Rancher i més).
Rancher és una plataforma d'orquestració gestionada per contenidors per gestionar contenidors, així com aspectes més amplis de la infraestructura com ara amfitrions, entorns i molt més. Un servidor Rancher controla l'orquestració i un agent Rancher es desplega a cada host gestionat per Rancher.
En aquest article, seguirem els passos següents per implementar un servidor Rancher:
Cloud-init script
- Publiceu un fitxer d'inici al núvol per instal·lar i executar el servidor Rancher.
PXE script
- Escriviu un script PXE per recuperar el fitxer d'inici del núvol i arrenqueu l'amfitrió per primera vegada.
Firewall
- Creeu un grup de tallafocs, perquè la seguretat és primordial.
Start it up
- Proporcioneu l'amfitrió i instal·leu Rancher.
Requisits
- VPS amb un mínim d'1 GB de RAM: instal·larem el servidor Rancher en aquest amfitrió.
- Emmagatzematge de bloqueig: per emmagatzemar de manera persistent les dades, les configuracions, els usuaris i més del servidor Rancher.
- 1 Adreça IP reservada: per donar als agents de Rancher una IP coherent per utilitzar-la per unir-se a l'entorn Rancher.
Script d'inici al núvol
Deseu l'script següent en una ubicació accessible pel vostre amfitrió mitjançant HTTP/HTTPS
perquè pugui fer-hi referència des del seu script PXE.
Substituïu les ssh-...
peces amb la vostra clau pública SSH perquè pugueu SSH a l'amfitrió.
#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
Tingueu en compte que això és realment plantar un cloud-config.yml
dins d'un altre cloud-config.yml
. L'exterior es carrega quan iPXE arrenca l'amfitrió per primera vegada i s'instal·la Rancher a la unitat de l'amfitrió /dev/vda
. La configuració interna és per a arrencades posteriors i en realitat iniciarà el servidor Rancher.
Les dades de MySQL s'emmagatzemen a l'emmagatzematge de blocs /dev/vdb
, de manera que les dades i les configuracions crítiques del servidor Rancher poden sobreviure a la substitució de l'amfitrió VPS.
Podeu carregar l'script a qualsevol nombre d'ubicacions gratuïtes accessibles com a URL públicament, o podeu allotjar-lo en un VPS diferent, de manera que només els vostres amfitrions hi puguin accedir mitjançant una xarxa privada.
Script PXE
Copieu el següent com a script d'inici PXE anomenat " Rancher Server
" mentre el substituïu CLOUD_CONFIG_URL
per l'URL del vostre cloud-config.yml
fitxer (alguna cosa com 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
Això extreu l'últim ISO de RancherOS i l'arrencarà a la memòria mitjançant el vostre script d'inici al núvol. Aleshores, el vostre script d'inici al núvol procedirà a instal·lar RancherOS al disc i el segon arrencada executarà el contenidor del servidor Rancher.
Tallafoc
Quan Rancher estigui disponible per primera vegada, qualsevol persona que arribi al punt final tindrà immediatament privilegis d'administrador.
Per evitar que persones estrangeres segrestin el vostre servidor Rancher, creeu un tallafoc anomenat "Servidor Rancher" amb les regles següents:
TCP 22
a la vostra IP, de manera que podeu SSH a l'amfitrió.
TCP 8080
a la vostra IP, perquè pugueu carregar la pàgina web del servidor Rancher.
TCP 8080
per a qualsevol host d'agent de Rancher, perquè es puguin registrar al servidor de Rancher.
Posa'l en marxa
Proporcioneu el vostre amfitrió de més d'1 GB a la mateixa regió que el vostre emmagatzematge de blocs i configureu Server Type
-lo a l'script d'inici personalitzat iPXE "Rancher Server".
Un cop arrencat, assegureu-vos de convertir la seva IP en una IP reservada perquè els vostres agents de Rancher tinguin un punt final amb el qual es puguin registrar de manera coherent.
L'iPXE trigarà uns 4 minuts a extreure la ISO de RancherOS, la primera arrencada a instal·lar RancherOS a /dev/vda
, i la segona arrencada a extreure la rancher/server:stable
imatge de Docker i engegar els seus contenidors.
Un cop estigui a punt, podreu arribar-hi a http://YOUR_RESERVED_IP:8080
.
Enhorabona, acabeu de configurar el servidor Rancher a RancherOS.
Podeu reiniciar la vostra instància o fins i tot destruir-la/reinstal·lar-la, i l'emmagatzematge de blocs conservarà les vostres dades i configuracions mentre que la vostra IP reservada permetrà que els nous agents de Rancher sàpiguen on trobar el vostre servidor.
Alguns passos següents:
Set up access control
- Com a mínim, creeu un usuari administrador local amb una contrasenya segura.
Add hosts
- a la Add Hosts -> Custom
secció, copieu l'URL que conté un testimoni llarg específic per al vostre servidor Rancher. Ho necessitareu per registrar els agents de Rancher al vostre servidor.
Explore
l' última documentació del servidor de Rancher .