Kako razmjestiti Docker kontejnere s OpenStack toplinom

Dakle, implementirali ste OpenStack infrastrukturu. Čuli ste i za Dockera i svjesni ste ogromne količine zujanja koje je stvorio. Pa, OpenStack i Docker su dvije komplementarne tehnologije koje pojednostavljuju rad timova koji rade u uobičajenim centrima podataka. Docker je program otvorenog koda koji se automatski koristi za slaganje aplikacija u spremnike. Komoditizira rješenje LXC (Linux Containers) i omogućuje korisnicima pokretanje brojnih spremnika na jednom poslužitelju. S druge strane, OpenStack pruža otvoreni API usredotočen na umrežavanje, pohranu, računala i druge usluge. Pojednostavljuje potrošnju infrastrukture kako bi se olakšalo vrijeme rada kontejnera i operativni sustavi (više o tome možete pročitati u našem vodiču o hostingu kontejnera)


Jedan od načina poboljšanja OpenStack-a je upotreba Docker dodataka. Docker se lako može integrirati u OpenStack Nova kao hipervizor. Ali jedna od najboljih tehnika za kombiniranje OpenStack-a i Dockera jest orkestriranje njegovih spremnika s OpenStack Heat-om.

Ako vas zanima integracija ovih tehnologija, onda ste sletjeli na pravu stranicu. Ovaj priručnik pomoći će vam da naučite kako integrirati Docker u OpenStack. Osim toga, dat će vam detaljni vodič o tome kako besprijekorno instalirati Docker spremnike s OpenStack Heatom. Orkestracija je detaljno opisana uz jednostavno praćenje, korak po korak upute kako bi bila pogodna za sve, uključujući početnike.

Spreman? Idemo!

Posebna napomena: prije razmještanja Docker spremnika pomoću OpenStackHeat trebat će vam Linux virtualni poslužitelj. Posavjetujte se s Hostadviceom kako biste pronašli najbolje Linux hosting pružatelje, zajedno s stvarnim korisničkim recenzijama.

Prvi dio: Instalirajte Docker dodatak

Prvi korak: preuzmite dodatak

Dodatak Docker nalazi se u mapi Heat (zip mapa) koja je na GitHubu dostupna putem:

https://github.com/openstack/heat/tree/stable/icehouse

Preuzmite mapu i raspakujte je koristeći:

raspakirajte toplotno stabilno stanovište.zip

Nakon što raspakujete mapu, pronađite mapu s testovima i uklonite je kako biste izbjegli sukobe:

cd toplinski stabilna ledenica / doprinos /
rm -rf docker / docker / testovi

2. korak: Stvorite direktorij

Zatim upotrijebite naredbu dolje za modiranje novog direktorija u mapi / usr / lib / heat /:

cp -r docker / * / usr / lib / heat / docker-plugin

Korak 3: Instalirajte dodatak

Sada je postavljena faza za instalaciju Docker dodatka. Za pokretanje zadatka pokrenite sljedeću naredbu.

cd / usr / lib / heat / docker-plugin
apt-get instaliraj python-pip
pip install -r zahtjevi.txt

Prije ponovnog pokretanja usluge datoteku /etc/heat/heat.conf potrebno je urediti. Upotrijebite naredbu u nastavku za uređivanje ove datoteke:

vi /etc/heat/heat.conf
(dodati)
plugin_dirs = / usr / lib / topline / doker-dodatak / doker

Sada možete ponovno pokrenuti usluge pomoću naredbe:

ponovno pokretanje usluge heat-api
ponovno pokretanje usluge heat-api-cfn
servisni ponovno pokretanje motora

Drugi dio: Stvorite predložak topline

U ovom ćemo vodiču dockerzirati i implementirati LAMP aplikaciju. Iz tog razloga moramo stvoriti dva Docker spremnika; jedan koji radi na MySQL bazi podataka i drugi koji se izvodi na Apacheu s PHP-om.
Izdvajamo OS :: Heat :: SoftwareConfig resurs koji definira konfiguraciju i još jedan OS :: Heat :: SoftwareDeployement resurs za raspoređivanje konfiguracija na docker poslužitelju. Tada možemo povezati plutajući IP na OS :: Nova :: poslužitelj kako bismo mu omogućili povezivanje s internetom. Također ćemo izraditi dva Docker spremnika u obliku DockerInc :: Docker :: Container na našem Docker host.

: Mi samo stvaramo jednostavan predložak topline radi ovog vodiča. Poboljšani predložak može se stvoriti korištenjem više parametara poput imena, veza, veza, portova i još mnogo toga. Poboljšani predložak topline olakšava višestruku upotrebu Dockera. No dodatak Docker koji koristimo ne podržava te parametre.

1. korak: napravite predložak

Stvorite predložak u mapi doker-stack.yml i dodajte sljedeći sadržaj;

$ vi docker-stack.yml

heat_template_version: 2013-05-23

opis: >
Dockerize aplikaciju za više čvorova s ​​OpenStack Heat.
Ovaj predložak definira dva spremnika dokera koji rade
apache s php i mysql bazom podataka.

parametri:
ključ:
vrsta: string
opis: >
Naziv KeyPair-a za omogućavanje SSH pristupa instanci. Imajte na umu da je
zadani korisnik je korisnik ec2.
zadano: tipka1

okus:
vrsta: string
opis: Vrsta instancije za docker poslužitelj.
zadano: m1.medium

slika:
vrsta: string
opis: >
Naziv ili ID slike koja se koristi za Docker poslužitelj. To treba biti
izrađen pomoću alata za prikupljanje-konfiguraciju osnove Fedora slike.
zadano: fedora-software-config

public_net:
vrsta: string
opis: naziv javne mreže za koji će se dodijeliti plutajuće IP adrese.
zadano: nova

resursi:
konfiguracija:
vrsta: OS :: Toplina :: SoftwareConfig
Svojstva:
grupa: skripta
config: |
#! / bin / bash -v
setenforce 0
yum – instalirate docker-io
cp /usr/lib/systemd/system/docker.service / etc / systemd / system /
sed -i -e ‘/ ExecStart / {s, fd: //, tcp: //0.0.0.0: 2375,}’ /etc/systemd/system/docker.service
systemctl start docker.service
docker -H: 2375 povući marouen / mysql
docker -H: 2375 povući marouen / apache

implementacija:
vrsta: OS: Toplina: SoftwareDeployment
Svojstva:
config: {get_resource: configuration}
poslužitelj: {get_resource: docker_server}

docker_server:
vrsta: OS :: Nova :: Server
Svojstva:
key_name: {get_param: tipka}
slika: {get_param: image}
ukus: {get_param: arom}
user_data_format: SOFTWARE_CONFIG

server_floating_ip:
tip: OS :: Nova :: FloatingIP
Svojstva:
bazen: {get_param: public_net}

associate_floating_ip:
tip: OS :: Nova :: FloatingIPAssociation
Svojstva:
floating_ip: {get_resource: server_floating_ip}
server_id: {get_resource: docker_server}

mysql:
vrsta: DockerInc :: Docker :: Container
ovisi_on: [implementacija]
Svojstva:
slika: marouen / mysql
port_specs:
– 3306
docker_endpoint:
str_replace:
predložak: http: // domaćin: 2375
parametri:
host: {get_attr: [docker_server, mreže, privatni, 0]}

Apache:
vrsta: DockerInc :: Docker :: Container
ovisi_on: [mysql]
Svojstva:
slika: marouen / apache
port_specs:
– 80
docker_endpoint:
str_replace:
predložak: http: // domaćin: 2375
parametri:
host: {get_attr: [docker_server, mreže, privatni, 0]}

izlazi:
uRL:
opis: Javna adresa apachea
vrijednost:
str_replace:
predložak: http: // domaćin
parametri:
host: {get_attr: [docker_server, mreže, privatni, 0]}

Treći dio: razmeštanje snopa

Jednom, stvorite predložak možete nastaviti s implementacijom vašeg sloga.

Korak 1: stvorite datoteku vjerodajnice

Prije nego što razmjestite snop, trebali biste stvoriti datoteku vjerodajnice pomoću sljedeće naredbe:

vi krediti

#Zalijepite sljedeće:
izvoz OS_TENANT_NAME = administrator
izvoz OS_TENANT_NAME = administrator
izvoz OS_PASSWORD = administrator_pass
izvoz OS_AUTH_URL ="http: // kontroler: 5000 / v2.0 /"

Slijedite korake u nastavku za izradu slike temeljene na Fedora

$ git klon https://git.openstack.org/openstack/diskimage-builder.git
git klon https://git.openstack.org/openstack/tripleo-image-elements.git
git klon https://git.openstack.org/openstack/heat-templates.git
git klon https://git.openstack.org/openstack/dib-utils.git
izvoz PATH ="$ {PWD} / Dib-utils / bin: $ PUT"
export ELEMENTS_PATH = tripleo-image-elements / elements: toplotni predlošci / vrući / software-config / elementi
diskimage-builder / bin / disk-image-create vm \
Fedora dozvoljena za selinux \
os-prikupiti-konfigurirati \
os-osvježi-konfigurira \
os-apply-config \
heat-config-ansible \
heat-config-cfn-init \
heat-config-docker \
heat-config-marioneta \
heat-config-sol \
heat-config-skripta \
-o fedora-software-config.qcow2
pogledati stvaranje slike – format diska qcow2 – format spremnika goli – ime fedora-softver-config < \
fedora-software-config.qcow2 $

Ako tek trebate stvoriti ključ, pokrenite sljedeću naredbu:

ssh-keygen
nova keypair-add –pub-key ~ / .ssh / id_rsa.pub key1

Da bismo omogućili pristup vašem Docker poslužitelju, u svoju zadanu sigurnosnu grupu ugrađujemo pravila:

$ Dozvoli ICMP (ping):

nova secgroup-add-rule zadana icmp -1 -1 0.0.0.0/0

$ Dopusti pristup sigurnoj školjci (SSH):

nova secgroup-add-rule zadana vrijednost tcp 22 22 0.0.0.0/0

$ Dozvoli pristup priključku 2375 (krajnja točka Dockera):

nova secgroup-add-rule zadana tcp 2375 2375 0.0.0.0/0

Zatim koristite sljedeću naredbu za proizvodnju privatne mreže:

izvori krediti

$ Stvorite privatnu mrežu:

nova mreža – stvorite privatni –bridge br100 –multi-host T –dns1 8.8.8.8 \
–pristupnik 172.16.0.1 – fiksni raspon-v4 172.16.0.0/24

Zatim stvorite plutajući IP bazen:

nova-upravljanje plutajući stvoriti –pool = nova –ip_range = 192.168.100.100 / 28

Korak 2: Stvorite svoj snop

Sada ćemo stvoriti našu paletu od novostvorenog predloška.

izvori krediti

heat stack-create -f docker-stack.yml docker-stack

Zatim provjerite je li vaš stack uspješno stvoren:

toplinski stack-list

Nakon pokretanja snopa pojavit će se prozor ispod:

Izvršite sljedeću naredbu da potvrdite da su spremnici uspješno kreirani:

ssh [email protected]

sudo docker -H: 2375 ps

Dobićete sljedeći izlaz:

To je to! Uspješno ste instalirali Docker spremnike s OpenStack Heat.

Pogledajte 3 glavne Linux hosting usluge

FastComet

Početna cijena:
$ 2,95


Pouzdanost
9.7


cijena
9.5


Korisnički
9.7


podrška
9.7


Značajke
9.6

Pročitajte recenzije

Posjetite FastComet

Hostinger

Početna cijena:
$ 0,99


Pouzdanost
9.3


cijena
9.3


Korisnički
9.4


podrška
9.4


Značajke
9.2

Pročitajte recenzije

Posjetite Hostinger

ChemiCloud

Početna cijena:
$ 2.76


Pouzdanost
10


cijena
9.9


Korisnički
9.9


podrška
10


Značajke
9.9

Pročitajte recenzije

Posjetite ChemiCloud

Povezani članci s uputama

  • Kako postaviti Docker Swarm Cluster na Ubuntu 16.04 VPS ili namjenski poslužitelj
    stručnjak
  • Kako postaviti skup Docker Swarm na CentOS 7 VPS ili namjenski poslužitelj
    stručnjak
  • Kako instalirati vlastiti oblak na namjenski poslužitelj Ubuntu 18.04 ili VPS
    srednji
  • Kako instalirati i konfigurirati Docker Compose na Ubuntu 18.04 VPS ili namjenski poslužitelj
    newbie
  • Kako instalirati Redis na CentOS 7 namjenski poslužitelj ili VPS
    srednji
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map