Installeer Rancher Server op RancherOS
Overzicht RancherOS is een ongelooflijk lichtgewicht besturingssysteem (slechts ongeveer 60 MB) dat een systeem Docker-daemon draait als PID 0 voor het uitvoeren van systeemservices
Deze gids laat u zien hoe u een Docker-zwerm maakt en configureert met behulp van meerdere Alpine Linux 3.9.0-servers en Portainer. Houd er rekening mee dat Vultr een Docker-app met één klik biedt die momenteel zowel CentOS 7 x64 als Ubuntu 16.04 x64 ondersteunt.
Om te beginnen heb je minimaal twee VC2-servers nodig waarop Alpine Linux 3.9.0 draait. Binnen uw Docker-zwerm fungeert een van deze servers als een manager node
interface met externe netwerken en delegeert taken naar werkknooppunten. De andere server zal dan fungeren als worker node
- het uitvoeren van taken die door de manager node zijn gedelegeerd.
Merk op dat u meer dan twee servers kunt starten als uw applicatie redundantie en / of meer rekenkracht vereist, en de stappen in deze handleiding zijn nog steeds van toepassing.
Bezoek de Vultr- serverimplementatie-interface .
Zorg ervoor dat het Vultr Cloud (VC2)
tabblad bovenaan de pagina is geselecteerd.
U kunt elke locatie in de Server Location
sectie selecteren, maar alle servers moeten zich op dezelfde locatie bevinden , anders is het niet mogelijk om er een Docker-zwerm op in te zetten.
Selecteer het ISO Library
tabblad van de Server Type
sectie en kies de Alpine Linux 3.9.0 x86_64
afbeelding.
Selecteer een geschikte optie in de Server Size
sectie. In deze handleiding wordt de grootte van de SSD-server van 25 GB gebruikt, maar dit kan onvoldoende zijn om aan de bronnenvereisten van uw toepassing te voldoen. Hoewel Vultr het gemakkelijk maakt om de grootte van een server te upgraden nadat deze al is gestart, moet u nog steeds zorgvuldig overwegen welke servergrootte uw toepassing nodig heeft om optimaal te presteren.
In de Additional Features
sectie moet u de Enable Private Networking
optie selecteren. Hoewel de andere opties niet vereist zijn om deze gids te volgen, moet u overwegen of ze allemaal wel of niet logisch zijn in de context van uw toepassing.
Als je de Multiple Private Networks
optie eerder in je account hebt ingeschakeld , moet je een bestaand netwerk selecteren of een nieuw privénetwerk voor je servers maken. Als je dit niet hebt ingeschakeld, kun je deze sectie negeren. Raadpleeg deze handleiding voor informatie over het handmatig configureren van privé-netwerken .
Sla de Firewall Group
sectie voorlopig over. Alleen de server die fungeert als een managementknooppunt in de Docker-zwerm, heeft blootgestelde poorten nodig en dit moet worden geconfigureerd na de implementatie van de server.
Onderaan de pagina moet u Server Qty
minimaal twee invoeren . Zoals eerder vermeld, hebt u mogelijk meer dan twee servers nodig, maar twee zijn voldoende om deze handleiding te volgen.
Server Hostname & Label
Voer ten slotte in de sectie zinvolle en gedenkwaardige hostnamen en labels in voor elke server. Ten behoeve van deze handleiding de hostnaam en label van de eerste server docker-manager
en Docker Manager
, respectively- en docker-worker
en Docker Worker
de tweede resp.
Nadat u al uw configuraties dubbel heeft gecontroleerd, kunt u vervolgens op de Deploy Now
knop onderaan de pagina klikken om uw servers te starten.
Omdat je een besturingssysteem hebt gekozen uit de ISO-bibliotheek van Vultr, moet je Alpine Linux 3.9.0 handmatig installeren en configureren op elke server.
Nadat u Vultr een minuut of twee de tijd heeft gegeven om uw servers toe te wijzen, klikt u op het drievoudige puntpictogram more options
voor de Docker Manager
server op de serverbeheerinterface en kiest u vervolgens de View Console
optie.
U zou moeten worden omgeleid naar een console met een aanmeldingsprompt. Zo niet, wacht dan nog een minuut totdat Vultr klaar is met het implementeren van uw servers.
Voer bij die aanmeldingsprompt root
de gebruikersnaam in. Voor de live versie van Alpine Linux 3.9.0 (dat is wat uw servers momenteel draaien) hoeft de superuser geen wachtwoord in te voeren bij het inloggen.
Nadat u zich met succes hebt aangemeld bij het root-account, ziet u een welkomstbericht gevolgd door een shell-prompt die er als volgt uitziet:
localhost:~#
Voer het volgende commando in om het Alpine Linux-installatieprogramma te starten:
# setup-alpine
Kies eerst een geschikte toetsenbordindeling. Deze gids gebruikt de us
lay-out en variant.
Kies bij het instellen van de hostnaam dezelfde hostnaam die u tijdens de implementatie voor deze server hebt ingesteld. Als je deze gids precies hebt gevolgd, zou de hostnaam moeten zijn docker-manager
.
Er moeten twee netwerkinterfaces beschikbaar zijn: eth0
en eth1
. Als u alleen ziet eth0
, betekent dit dat u het privé-netwerk van uw servers niet correct heeft geconfigureerd. Initialiseer eth0
met dhcp
en initialiseer eth1
met het privé-IP-adres, netmask en de gateway die tijdens de implementatie aan deze server is toegewezen. U hebt toegang tot deze details via de instellingeninterface van uw server. Voer desgevraagd geen handmatige netwerkconfiguratie uit.
Voer een nieuw wachtwoord in voor het root-account en selecteer vervolgens een tijdzone die geschikt is voor de locatie waarop u deze servers wilt implementeren.
Als u van plan bent een HTTP / FTP-proxy te gebruiken, voer dan de URL in, anders stelt u geen proxy-URL in.
Kies een NTP-client om de synchronisatie van de systeemklok te beheren. Deze gids zal gebruiken busybox
.
Wanneer u wordt gevraagd om een pakketrepository mirror om te gebruiken, kiest u er een expliciet door het nummer in te voeren; automatisch de snelste detecteren en selecteren door in te voeren f
; of bewerk het configuratiebestand van de repository handmatig door het in te voeren e
, wat niet wordt aanbevolen, tenzij je bekend bent met Alpine Linux. Deze gids gebruikt de eerste spiegel.
Als u van plan bent SSH te gebruiken om toegang te krijgen tot uw servers of om een op SSH gebaseerd bestandssysteem te hosten, selecteer dan een SSH-server die u wilt gebruiken. Deze gids zal gebruiken openssh
.
Kies schijf vda
als sys
type wanneer u wordt gevraagd om een schijf die u wilt gebruiken .
Alpine Linux 3.9.0 zou nu op uw server moeten zijn geïnstalleerd. Herhaal dit proces voor alle andere servers die u eerder hebt geïmplementeerd, en zorg ervoor dat u de juiste waarden vervangt voor hostnaam en de eth1
netwerkinterface.
Op dit moment gebruiken uw servers nog steeds de live ISO-versie van Alpine Linux 3.9.0. Om op te starten vanaf de SSD-installatie, gaat u naar de instellingeninterface van uw server, navigeert u naar het Custom ISO
zijmenu-item en klikt u op de Remove ISO
knop. Dit zou de server opnieuw moeten opstarten. Als dit niet het geval is, start u handmatig opnieuw op.
Zodra de server opnieuw is opgestart, navigeert u terug naar de webconsole voor de server Docker Manager
.
Log in op het root-account met het wachtwoord dat u eerder tijdens het installatieproces hebt ingesteld.
Schakel de opslagplaats van het gemeenschapspakket in door de derde regel van het /etc/apk/repositories
gebruik ongedaan te maken vi
. U kunt de edge- en testrepository's op een vergelijkbare manier inschakelen, maar ze zijn niet verplicht om deze handleiding te volgen.
Synchroniseer de lokale pakketindex van de server met de externe repository die u eerder hebt geselecteerd door de volgende shell-opdracht in te voeren:
# apk update
Upgrade dan verouderde pakketten:
# apk upgrade
Herhaal zoals eerder dit configuratieproces voor elke server die u eerder hebt geïmplementeerd.
Voordat u het Docker-pakket zelf installeert, wilt u misschien een afzonderlijke docker
gebruiker maken. U kunt dit doen met de volgende opdracht:
# adduser docker
Opmerking: deze nieuwe gebruiker en alle gebruikers die aan de nieuwe docker
groep zijn toegevoegd , zullen rootrechten hebben zodra het Docker-pakket is geïnstalleerd. Zie het volgende probleem uit de Moby Github-repository:
Vanwege de
--privileged
in docker is iedereen die is toegevoegd aan de 'docker'-groep root-equivalent. Iedereen in de docker-groep heeft een achterdeur rond het beleid voor escalatie van bevoegdheden en audits op het systeem.Dit is iets anders dan dat iemand sudo naar root kan uitvoeren, waar hij beleid voor heeft, en controle op heeft toegepast.
Als je sudo toestemming wilt geven aan de docker
gebruiker, installeer dan eerst het sudo
pakket:
# apk add sudo
Maak dan een sudo
groep aan:
# addgroup sudo
Voeg ten slotte de docker
gebruiker toe aan de sudo
groep:
# adduser docker sudo
Nu kunt u stap 4 van deze handleiding volgen om het configureren van sudo te voltooien.
Op dit punt bent u klaar om het Docker-pakket te installeren. Merk op dat het niet strikt noodzakelijk is om een aparte, sudo-capabele docker
gebruiker te hebben om Docker te installeren en configureren, maar deze gids volgt die conventie.
Installeer het Docker-pakket met de volgende opdracht:
# apk add docker
Schakel vervolgens het Docker init-script in:
# rc-update add docker
Start ten slotte de Docker-daemon:
# rc-service docker start
U kunt controleren of Docker wordt uitgevoerd met deze opdracht:
# docker info
Herhaal, net als de vorige keer, dit Docker-installatieproces voor elke server die u aan het begin hebt geïmplementeerd.
Met al die instellingen afgehandeld, ben je eindelijk klaar om de Docker-zwerm te maken.
Navigeer terug naar de webconsole van uw Docker Manager
server. U configureert deze server als een manager-knooppunt in uw zwerm. Als je ervoor hebt gekozen om de docker
gebruiker eerder te maken, log dan in met dat account in plaats van met de superuser.
Voer de volgende opdracht in, maar vervang 192.0.2.1
door het privé (niet het openbare) IP-adres dat aan uw Docker Manager
server is toegewezen:
$ docker swarm init --advertise-addr 192.0.2.1
Docker geeft een opdracht weer die u op andere servers in het particuliere netwerk kunt uitvoeren om ze als werkknooppunten aan deze nieuwe zwerm toe te voegen. Bewaar deze opdracht.
Navigeer nu naar de webconsole van uw Docker Worker
server en log in met de docker
gebruiker als u deze heeft gemaakt.
Om deze server als werkknooppunt toe te voegen aan de zojuist gemaakte zwerm, voert u de opdracht uit die u hebt opgeslagen vanaf de uitvoer van de opdracht voor het maken van zwermen. Het ziet er ongeveer als volgt uit:
$ docker swarm join --token SWMTKN-1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXX 192.0.2.1:2377
Docker zal uitvoeren of het knooppunt zich bij de zwerm kon voegen. Als u problemen ondervindt bij het toevoegen van werkknooppunten aan de zwerm, controleer dan uw privé-netwerkconfiguratie en raadpleeg deze handleiding voor probleemoplossing.
Als u in het begin meer dan twee servers heeft geïmplementeerd, kunt u de rest als werkknooppunten aan uw zwerm toevoegen met behulp van de bovenstaande opdracht, waardoor de hoeveelheid beschikbare middelen voor uw toepassing toeneemt. Als alternatief kunt u extra manager-knooppunten toevoegen, maar dat valt buiten het bestek van deze handleiding.
Op dit punt is uw Docker-zwerm klaar voor gebruik. U kunt echter optioneel een Portainer-stapel starten op het manager-knooppunt in uw zwerm. Portainer biedt een handige webinterface voor het beheer van uw zwerm en de knooppunten daarin.
Het is nu tijd om een firewallgroep voor je zwerm te maken. Tenzij uw toepassing dit specifiek vereist, stelt u alleen poorten bloot op uw manager-knooppunten . Het blootstellen van poorten op uw werkknooppunten zonder zorgvuldige afweging kan kwetsbaarheden veroorzaken.
Navigeer naar de interface voor firewallbeheer en maak een nieuwe firewallgroep aan. Uw toepassing moet bepalen welke poorten moeten worden weergegeven, maar u moet op zijn minst een poort 9000
voor Portainer vrijgeven. Pas deze firewallgroep toe op de Docker Manager
server.
Hoewel het niet vereist is, wordt het sterk aanbevolen om Portainer met SSL te beveiligen. In het belang van deze handleiding gebruikt u alleen een zelfondertekend OpenSSL-certificaat, maar u zou moeten overwegen om Let's Encrypt in productie te gebruiken.
Navigeer naar de webconsole van de Docker Manager
server, log in met de docker
gebruiker en gebruik de volgende opdrachten om een zelfondertekend OpenSSL-certificaat te genereren:
$ mkdir ~/certs
$ openssl genrsa -out ~/certs/portainer.key 2048
$ openssl req -new -x509 -sha256 -key ~/certs/portainer.key -out ~/certs/portainer.pem -days 3650
Maak een nieuw bestand aan ~/portainer-agent-stack.yml
met de volgende inhoud:
version: '3.2'
services:
agent:
image: portainer/agent
environment:
AGENT_CLUSTER_ADDR: tasks.agent
CAP_HOST_MANAGEMENT: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
- /:/host
networks:
- agent_network
deploy:
mode: global
portainer:
image: portainer/portainer
command: -H tcp://tasks.agent:9001 --tlsskipverify --ssl --sslcert /certs/portainer.pem --sslkey /certs/portainer.key
ports:
- target: 9000
published: 9000
protocol: tcp
mode: host
volumes:
- portainer_data:/data
- /home/docker/certs:/certs
networks:
- agent_network
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role == manager]
networks:
agent_network:
driver: overlay
attachable: true
volumes:
portainer_data:
Nadat u dit configuratiebestand van de Docker-stack hebt aangepast aan uw vereisten, kunt u het implementeren:
$ docker stack deploy --compose-file ~/portainer-agent-stack.yml portainer
Om te controleren of Portainer werkt, voert u de volgende opdracht uit nadat u Docker een minuut of twee de tijd heeft gegeven om de stapel te implementeren:
$ docker ps
U ziet twee containers met de afbeeldingen portainer/portainer:latest
en portainer/agent:latest
controleren of Portainer correct is gestart.
U kunt nu uw Docker-zwerm configureren en beheren door met HTTPS het openbare IP-adres van uw Docker Manager
server op de poort te bezoeken 9000
.
Overzicht RancherOS is een ongelooflijk lichtgewicht besturingssysteem (slechts ongeveer 60 MB) dat een systeem Docker-daemon draait als PID 0 voor het uitvoeren van systeemservices
Harbor is een open-source registerserver van ondernemingsklasse die Docker-images opslaat en distribueert. Harbor breidt de open source Docker Distribution uit b
Gebruikt u een ander systeem? Docker is een applicatie waarmee programmas kunnen worden geïmplementeerd die als containers worden uitgevoerd. Het is geschreven in het populaire Go-programma
Dit artikel laat zien hoe u uw Node-toepassing kunt implementeren in een Docker-container. Opmerking: in deze zelfstudie wordt ervan uitgegaan dat Docker is geïnstalleerd en gelezen
Gebruikt u een ander systeem? Introductie Rancher is een open source platform voor het draaien van containers en het bouwen van een eigen containerservice. Rancher is basis
Overzicht Dit artikel is bedoeld om u te helpen in een mum van tijd een Kubernetes-cluster aan de praat te krijgen met kubeadm. In deze handleiding worden twee servers geïmplementeerd
In dit artikel wordt uitgelegd hoe u docker-compose installeert op CoreOS. In CoreOS is de map / usr / onveranderlijk, dus het standaard / usr / local / bin-pad is niet beschikbaar voor
LXC-containers (Linux-containers) zijn een besturingssysteemfunctie in Linux die kan worden gebruikt om meerdere geïsoleerde Linux-systemen op één host uit te voeren. Thes
Inleiding Docker is een applicatie waarmee we programmas kunnen implementeren die als containers worden uitgevoerd. Het is geschreven in de populaire programmeertaal Go
Gebruikt u een ander systeem? Docker is een applicatie waarmee software kan worden geïmplementeerd in virtuele containers. Het is geschreven in het Go-programma
Kubernetes is een open-sourceplatform dat is ontwikkeld door Google voor het beheren van container-apps op een cluster van servers. Het bouwt voort op een decennium en
Gebruikt u een ander systeem? Introductie Sentry is een open source-oplossing voor het volgen van fouten. Sentry houdt uitzonderingen en andere nuttige berichten bij
Gebruikt u een ander systeem? Inleiding Docker Swarm verandert uw individuele servers in een cluster van computers; het vergemakkelijken van schaalvergroting, hoge beschikbaarheid en
Deze tutorial legt de basisprincipes van het starten met Docker uit. Ik neem aan dat Docker al is geïnstalleerd. Stappen in deze tutorial werken op een
Wanneer u een webtoepassing uitvoert, wilt u normaal gesproken het meeste uit uw bronnen halen zonder dat u uw software hoeft te converteren om multithreading o te gebruiken
Dankzij Docker-containertechnologie kunt u applicaties uitvoeren in een specifieke en geïsoleerde omgeving. Docker Community Edition (CE) is de nieuwe naam voor de fre
We kennen en houden allemaal van Docker, een platform voor het maken, beheren en distribueren van applicatiecontainers over meerdere machines. Docker Inc. biedt een service t
Vereisten Docker-engine 1.8+. Minimaal 4 GB schijfruimte. Minimaal 4 GB RAM. Stap 1. Docker installeren Om SQL-Server te installeren, Docker mus
Gebruikt u een ander systeem? Inleiding Docker is een applicatie waarmee software kan worden geïmplementeerd in virtuele containers. Het stond in de G
Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek
ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.
WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+
Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.
Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie
13 Commerciële data-extractietools voor big data
Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true
Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.
Een inzicht in 26 Big Data-analysetechnieken: deel 1
AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.