Implementați Kubernetes cu Kubeadm pe CentOS 7
Prezentare generală Acest articol este menit să vă ajute să obțineți un cluster Kubernetes și să funcționeze cu kubeadm în cel mai scurt timp. Acest ghid va implementa două servere, pe
Acest ghid vă va arăta cum puteți crea și configura un roi Docker folosind mai multe servere Alpine Linux 3.9.0 și Portainer. Rețineți că Vultr oferă o aplicație Docker One-Click care acceptă în prezent atât CentOS 7 x64, cât și Ubuntu 16.04 x64.
Pentru început, veți avea nevoie de cel puțin două servere VC2 care rulează Alpine Linux 3.9.0. În cadrul roiului Docker, unul dintre aceste servere va acționa ca o manager node
- interfațare cu rețele externe și delegarea de locuri de muncă către nodurile lucrătorilor. Celălalt server va acționa apoi ca worker node
- executarea lucrărilor delegate acestuia de către nodul manager.
Rețineți că puteți lansa mai mult de două servere dacă aplicația necesită redundanță și / sau mai multă putere de calcul, iar pașii prevăzuți în acest ghid se vor aplica în continuare.
Accesați interfața de implementare a serverului Vultr .
Asigurați-vă că Vultr Cloud (VC2)
fila este selectată în partea de sus a paginii.
Puteți selecta orice locație din Server Location
secțiune, cu toate acestea toate serverele trebuie să fie în aceeași locație , altfel nu va fi posibilă implementarea unui roi Docker.
Selectați ISO Library
fila Server Type
secțiunii și alegeți Alpine Linux 3.9.0 x86_64
imaginea.
Selectați o opțiune adecvată din Server Size
secțiune. Acest ghid va folosi dimensiunea serverului SSD de 25 GB, dar acest lucru poate fi insuficient pentru a satisface cerințele de resurse ale aplicației dvs. În timp ce Vultr simplifică actualizarea dimensiunii unui server după ce a fost deja lansat, ar trebui să luați în considerare cu atenție ce dimensiune a serverului trebuie să funcționeze optim.
În Additional Features
secțiune, trebuie să selectați Enable Private Networking
opțiunea. Deși celelalte opțiuni nu sunt necesare pentru a urma acest ghid, ar trebui să luați în considerare dacă fiecare are sens sau nu în contextul cererii dvs.
Dacă anterior ați activat Multiple Private Networks
opțiunea din contul dvs., va trebui să selectați o existentă sau să creați o rețea privată nouă pentru serverele dvs. Dacă nu l-ați activat, atunci puteți ignora această secțiune. Pentru informații despre configurarea manuală a rețelelor private, consultați acest ghid .
Salt Firewall Group
acum secțiunea. Doar serverul care acționează ca un nod de manager în roiul Docker va avea nevoie de porturi expuse și acest lucru ar trebui configurat după implementarea serverului.
În partea de jos a paginii, trebuie să introduceți Server Qty
cel puțin două. După cum am menționat anterior, este posibil să aveți nevoie de mai mult de două servere, dar două sunt suficiente pentru a urma acest ghid.
În cele din urmă, în Server Hostname & Label
secțiune, introduceți nume și etichete semnificative și memorabile pentru fiecare server. În sensul acestui ghid, numele de gazdă și eticheta primului server vor fi docker-manager
și Docker Manager
, respectiv, docker-worker
și Docker Worker
pentru al doilea, respectiv.
După ce ați verificat dublu toate configurațiile, puteți face clic pe Deploy Now
butonul din partea de jos a paginii pentru a lansa serverele.
Deoarece ați ales un sistem de operare din biblioteca ISO a Vultr, va trebui să instalați și să configurați manual Alpine Linux 3.9.0 pe fiecare server.
După ce acordați Vultr un minut sau două pentru a aloca serverele dvs., faceți clic pe more options
pictograma triplă punct pentru Docker Manager
serverul de pe interfața de gestionare a serverului , apoi alegeți View Console
opțiunea.
Ar trebui să fiți redirecționat către o consolă cu un prompt de conectare. În caz contrar, vă rugăm să așteptați încă un minut pentru ca Vultr să termine implementarea serverelor.
La acel prompt de conectare, introduceți root
ca nume de utilizator. Versiunea live a Alpine Linux 3.9.0 (care funcționează în prezent serverele dvs.) nu necesită introducerea unei parole la superuser.
După ce v-ați autentificat cu succes în contul rădăcină, veți vedea un mesaj de bun venit urmat de un prompt de shell care arată astfel:
localhost:~#
Pentru a porni programul de instalare Alpine Linux, introduceți următoarea comandă:
# setup-alpine
Mai întâi, alegeți o dispunere adecvată a tastaturii. Acest ghid va folosi us
aspectul și varianta.
Când setați numele de gazdă, alegeți același nume de gazdă pe care l-ați setat pentru acest server în timpul implementării. Dacă urmați exact acest ghid, numele de gazdă ar trebui să fie docker-manager
.
Două interfețe de rețea ar trebui să fie disponibile: eth0
și eth1
. Dacă vedeți numai eth0
, asta înseamnă că nu ați configurat corect rețeaua privată a serverelor. Inițializați eth0
folosind dhcp
și inițializați eth1
folosind adresa IP privată, netmask și gateway acest server a fost atribuit în timpul implementării. Puteți accesa aceste detalii din interfața de setări a serverului dvs. Când vi se solicită, nu efectuați nicio configurație manuală a rețelei.
Introduceți o nouă parolă pentru contul rădăcină, apoi selectați un fus orar potrivit pentru locația în care ați ales să implementați aceste servere.
Dacă intenționați să utilizați un proxy HTTP / FTP, introduceți URL-ul, altfel nu setați o adresă URL proxy.
Alegeți un client NTP pentru a gestiona sincronizarea ceasului de sistem. Acest ghid va folosi busybox
.
Atunci când vi se solicită să folosiți o oglindă a depozitului de pachete, alegeți unul în mod explicit, introducând numărul său; detectează și selectează automat cel mai rapid introducând f
; sau editați manual fișierul de configurare al depozitului e
, introducând , ceea ce nu este recomandat decât dacă sunteți familiarizat cu Alpine Linux. Acest ghid va folosi prima oglindă.
Dacă intenționați să utilizați SSH pentru a vă accesa serverele sau pentru a găzdui un sistem de fișiere bazat pe SSH, selectați un server SSH pe care să-l utilizați. Acest ghid va folosi openssh
.
Atunci când vi se solicită pentru un disc pentru utilizare, pentru a alege pe disc vda
ca sys
tip.
Alpine Linux 3.9.0 ar trebui să fie acum instalat pe serverul dvs. Repetați acest proces pentru toate celelalte servere pe care le-ați implementat anterior, asigurându-vă că înlocuiți valorile corecte pentru numele de gazdă și pentru eth1
interfața de rețea.
În acest moment, serverele dvs. rulează în continuare versiunea ISO în direct a Alpine Linux 3.9.0. Pentru a porni de la instalarea SSD, accesați interfața de setări a serverului dvs., navigați la Custom ISO
intrarea în meniul lateral și faceți clic pe Remove ISO
buton. Aceasta ar trebui să repornească serverul. Dacă nu, reporniți manual.
După ce serverul a terminat repornirea, navigați înapoi la consola web pentru server Docker Manager
.
Conectați-vă la contul root folosind parola pe care ați setat-o mai devreme în timpul procesului de instalare.
Activați depozitul de pachete comunitare prin a descărca a treia linie de /etc/apk/repositories
utilizare vi
. Puteți activa depozitele de bord și de testare într-o manieră similară, dar nu trebuie să urmeze acest ghid.
Sincronizați indexul pachetului local al serverului cu depozitul de la distanță selectat mai devreme, introducând următoarea comandă shell:
# apk update
Apoi actualizați pachetele învechite:
# apk upgrade
Ca și înainte, repetați acest proces de configurare pentru fiecare server pe care l-ați implementat anterior.
Înainte de a instala pachetul Docker în sine, poate doriți să creați un docker
utilizator separat . Puteți face acest lucru folosind următoarea comandă:
# adduser docker
Notă: Acest nou utilizator și orice utilizatori adăugați la noul docker
grup vor avea privilegii root odată ce pachetul Docker a fost instalat. Vedeți următorul număr din depozitul Moby Github:
Datorită funcției
--privileged
in docker, oricine se adaugă la grupul „docker” este echivalent rădăcină. Oricine din grupul de docker are o ușă din spate în jurul întregii politici de escaladare a privilegiilor și auditare a sistemului.Acest lucru este diferit de faptul că cineva poate să ruleze sudo la root, unde are politică și auditul aplicat acestora.
Dacă doriți să acordați sudo permisiunea docker
utilizatorului, instalați mai întâi sudo
pachetul:
# apk add sudo
Apoi creați un sudo
grup:
# addgroup sudo
În final, adăugați docker
utilizatorul la sudo
grup:
# adduser docker sudo
Acum puteți urma pasul 4 al acestui ghid pentru a termina configurarea sudo.
În acest moment, sunteți gata să instalați pachetul Docker. Rețineți că nu este strict necesar să aveți un utilizator separat, sudo capabil docker
să instaleze și să configureze Docker, dar acest ghid urmărește această convenție.
Instalați pachetul Docker cu următoarea comandă:
# apk add docker
Apoi activați scriptul de inițiere Docker:
# rc-update add docker
În cele din urmă, porniți demonul Docker:
# rc-service docker start
Puteți verifica dacă Docker rulează cu această comandă:
# docker info
Ca și data trecută, repetați acest proces de instalare Docker pentru fiecare server pe care l-ați implementat la început.
Cu toate aceste setări tratate, sunteți în sfârșit gata să creați roiul Docker.
Navigați înapoi la consola web a Docker Manager
serverului dvs. Vei configura acest server ca nod de manager în roiul tău. Dacă ați ales să creați docker
utilizatorul mai devreme, conectați-vă utilizând acel cont și nu utilizatorul.
Introduceți următoarea comandă, dar înlocuiți 192.0.2.1
cu adresa IP privată, (nu publică), pe Docker Manager
care a fost atribuit serverul dvs .:
$ docker swarm init --advertise-addr 192.0.2.1
Docker va afișa o comandă pe care o puteți executa pe alte servere din rețeaua privată pentru a le adăuga ca noduri de lucru la acest nou roi. Salvați această comandă.
Acum navigați la consola web a Docker Worker
serverului dvs. , conectându-vă la docker
utilizator dacă ați creat-o.
Pentru a adăuga acest server ca nod muncitor la roiul pe care tocmai l-ați creat, executați comanda pe care ați salvat-o de la ieșirea comenzii de creare a roiului. Va arăta similar cu următoarele:
$ docker swarm join --token SWMTKN-1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXX 192.0.2.1:2377
Docker va emite dacă nodul a fost capabil să se alăture roiului. Dacă întâmpinați probleme cu adăugarea de noduri pentru lucrători la roi, verificați de două ori configurația rețelei private și consultați acest ghid pentru depanare.
Dacă ați implementat mai mult de două servere la început, puteți adăuga restul ca noduri de lucrător la roiul dvs. folosind comanda de mai sus, mărind resursele disponibile pentru aplicația dvs. În mod alternativ, puteți adăuga noduri de manager suplimentare, dar acest lucru nu depășește scopul acestui ghid.
În acest moment, roiul Docker este gata de utilizare. Puteți, totuși, să lansați opțional o stivă Portainer pe nodul managerului din roiul dvs. Portainer oferă o interfață web convenabilă pentru gestionarea roiului și a nodurilor din acestea.
Acum este timpul să creați un grup de firewall pentru roiul dvs. Cu excepția cazului în care aplicația dvs. o cere în mod specific, expuneți doar porturile pe nodurile managerului . Expunerea porturilor pe nodurile lucrătorului dvs. fără luarea în considerare atentă poate introduce vulnerabilități.
Navigați la interfața de gestionare a firewallului și creați un nou grup de firewall. Aplicația dvs. ar trebui să dicteze ce porturi trebuie expuse, dar, cel puțin, trebuie să expuneți portul 9000
pentru Portainer. Aplicați acest grup de firewall pe Docker Manager
server.
Deși nu este necesar, securizarea Portainer cu SSL este recomandată. De dragul acestui ghid, veți utiliza doar un certificat OpenSSL autofirmat, dar ar trebui să luați în considerare utilizarea „Encrypt” în producție.
Navigați la consola web a Docker Manager
serverului, conectați-vă cu docker
utilizatorul și utilizați următoarele comenzi pentru a genera un certificat OpenSSL autofirmat:
$ mkdir ~/certs
$ openssl genrsa -out ~/certs/portainer.key 2048
$ openssl req -new -x509 -sha256 -key ~/certs/portainer.key -out ~/certs/portainer.pem -days 3650
Creați un nou fișier ~/portainer-agent-stack.yml
, cu următorul conținut:
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:
După modificarea acestui fișier de configurare stivă Docker pentru a se conforma cerințelor dvs., puteți să îl implementați:
$ docker stack deploy --compose-file ~/portainer-agent-stack.yml portainer
Pentru a verifica dacă Portainer funcționează, executați următoarea comandă după ce i-a dat lui Docker un minut sau două pentru a implementa stiva:
$ docker ps
Vei vedea două containere cu imaginile portainer/portainer:latest
și portainer/agent:latest
, verificând că Portainer a început corect.
Acum puteți configura și gestiona roiul Docker vizitând adresa IP publică a Docker Manager
serverului dvs. în port 9000
utilizând HTTPS.
Prezentare generală Acest articol este menit să vă ajute să obțineți un cluster Kubernetes și să funcționeze cu kubeadm în cel mai scurt timp. Acest ghid va implementa două servere, pe
Rancher OS este o distribuție Linux foarte ușoară construită în jurul Docker. Sistemul de operare în sine cântărește în jur de 20 MB. Acest tutorial vă va pune în funcțiune
Introducere Docker este o aplicație care ne permite să implementăm programe rulate sub formă de containere. A fost scris în popularul limbaj de programare Go
Folosind un sistem diferit? Docker este o aplicație care permite implementarea software-ului în containerele virtuale. A fost scris în programul Go
Folosind un sistem diferit? Introducere Rancher este o platformă open source pentru rularea containerelor și construirea unui serviciu de containere private. Rancher este de bază
Aplicațiile PHP sunt de obicei compuse dintr-un server web, un sistem relațional de baze de date și însuși interpretul limbii. În acest tutorial vom fi levierul
Acest articol explică cum se instalează docker-compose pe CoreOS. În CoreOS, folderul / usr / este imutabil, astfel că calea standard / usr / local / bin nu este disponibilă fo
Folosind un sistem diferit? Introducere Rancher este o platformă open source pentru rularea containerelor și construirea unui serviciu de containere private. Rancher este de bază
Folosind un sistem diferit? Introducere Docker Swarm transformă serverele dvs. individuale într-un grup de calculatoare; facilitarea scalării și disponibilității ridicate
Cu ajutorul aplicației Vultr Docker, puteți să implementați cu ușurință Docker pe instanța serverului dvs. Vultr. Între timp, puteți facilita sarcina de gestionare a Docker
Cu toții cunoaștem și iubim Docker, o platformă pentru a crea, gestiona și distribui containerele de aplicații pe mai multe mașini. Docker Inc. oferă un serviciu
Folosind un sistem diferit? Introducere Sentry este o soluție open source pentru urmărirea erorilor. Sentry urmărește excepțiile și alte mesaje utile
Harbour este un server de registru open-source de tip enterprise care stochează și distribuie imagini Docker. Harbour extinde distribuția Docker sursa deschisă b
Prezentare generală RancherOS este un sistem de operare incredibil de ușor (doar aproximativ 60 MB) care rulează un sistem daemon Docker ca PID 0 pentru rularea serviciilor sistemului
Kubernetes este o platformă open-source dezvoltată de Google pentru gestionarea aplicațiilor containerizate într-un grup de servere. Se construiește peste un deceniu și
Folosind un sistem diferit? Introducere Docker Swarm transformă serverele dvs. individuale într-un grup de calculatoare, facilitând scalarea, disponibilitatea ridicată
Acest tutorial explică elementele de bază pentru a începe cu Docker. Presupun că aveți deja Docker instalat. Pașii acestui tutorial vor funcționa pe un an
Când executați o aplicație web, în mod normal doriți să profitați la maximum de resursele dvs. fără a fi necesar să convertiți software-ul pentru a utiliza multitreading
Condiții preliminare Motor Docker 1.8+. Minim de 4 GB spațiu pe disc. Minim de 4 GB RAM. Pasul 1. Instalează Docker Pentru a instala SQL-Server, Docker mus
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe