Dorukcloud uzerinden Docker Calistirmak – Openstack

Docker herkesin ilgilisini ceken , anlatmak istedigi, kullanmak istedigi, uygulamak istedigi fenomen birsey.

Bende bu makalede size DorukNet’in Openstack Cloud’u uzerinde nasil Docker calistirabileceginizi kisaca anlatacagim.

Docker-machine Openstack driver’i sayesinde Docker icin gidip elle bir instance (VM) yaratmayip , docker-machine kullanarak herseyi uzaktan yapicak olmamiz. Elimde bir adet Windows Enterprise 10 ve/veya Mac OS X ve uzerine docker-toolbox kurulu, icersindede docker-machine bileseni var. Ilgili bilesenleri kurmadiysaniz kurulum sekli ilgili makalede mevcut.

docker-machine create komutu –driver parametresi size ister Digital Ocean ister Amazaon , ister Azure ve Openstack ile isterseniz dorukcloud uzerindede diger cloud saglayicilar gibi Docker nodelarini otomatik kurmanizi ve uzaktan yonetmenizi saglar. Tum driver listesi icin bakiniz. Openstack parametreleri icin bakiniz.

Baslamadan once bilmemiz gereken birkac sey var ; 

  • dorukcloud openstack kullanici adiniz : demo_user1
  • dorukcloud openstack kullanici sifreniz : demo_user1_sifre
  • dorukcloud openstack auth-url : https://o.dorukcloud.com:5000/v2.0
    • istenir ise identity version 3 kullanilabilir
  • dorukcloud openstack tenant adi : Ilgili Docker instance’ini kuracaginiz proje adi , benim icin demo
  • dorukcloud openstack imaj adi : Ubuntu-Xenial (Ubuntu 16.04)
  • dorukcloud openstack flavor id : m1.medium (2 vcpu 4 gb ram 40 gb disk alani)
  • Ubuntu-Xenial imajinin varsayili kullanici adi : ubuntu (Sifreye gerek yok key based auth yapilacak)
  • dorukcloud openstack network adi : Demo-DBServers-Network1 (Docker instance’in ip alacagi sanal/gercek network (vxlan/GRE/VLAN))
  • dorukcloud openstack floating ip pool : ext-net (Instance’in internet’den erisilebilir olmasi icin atanacak gercek ip)
  • dorukcloud openstack instance adi : DockerSunucu1

Once Security Group

Docker-machine uzak Docker instance’larini 2376 nolu portdan yapiyor , ek olarak kurulum sirasinda yaratilan instance’a SSH yapilip bir dizi komut calistirilmasi lazim , onun icin ya yeni bir security group yada var olan default security group’u guncelleyebilirsiniz. Ben var olan default security-group’a 22 ve 2376 portlarindan any erisim verdim.

screen-shot-2016-11-17-at-15-05-29

Floating-ip Hakkinda

Floating-ip adresini oncesinden set etmek zorunda degilsiniz, islem sirasindan dorukcloud openstack tarafindan atanacaktir veya oncesinden herhangi bir instance’a atanmamis floating-ip var ise once bu ip adresi kullanilacaktir.

Not : Yapicaginiz denemelerde ayni floating-ip adresini atamalarinda ssh key known_hosts’larda olabilir dikkat!

Bu bilgiler isiginda  DorukNet’in Openstack Cloud’u uzerinde Docker Host’umuzu yaratalim. Asagidaki komuy Mac OS X uzerinden. Burada yukarda anlatmadigim “–openstack-insecure” parametresi var. Su anda tam nedenini bilmedigim muhtemelen CA sertifikasi hakkinda bir durum var, aynisini Windows Client uzerinde gormedim, simdilik insecure/self-signed sertifikayi kullanici adi ve sifre dogrulamasinda aktive ediyorum.

vahric:~ vahricmuhtaryan$ docker-machine --debug create \
> --driver openstack \
> --openstack-auth-url https://o.dorukcloud.com:5000/v2.0/ \
> --openstack-insecure \
> --openstack-tenant-name demo \
> --openstack-username demo_user1 \
> --openstack-password demo_user1_sifre \
> --openstack-image-name Ubuntu-Xenial \
> --openstack-flavor-name m1.medium \
> --openstack-ssh-user ubuntu \
> --openstack-net-name Demo-DBServers-Network1 \
> --openstack-floatingip-pool ext-net \
> DockerSunucu2

Bakalim durum ne ? 

vahric:~ vahricmuhtaryan$ docker-machine ls

NAME            ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS

default         –        virtualbox   Stopped                                       Unknown

DockerNode1     –        generic      Running   tcp://10.111.21.160:2376            v1.12.3

DockerNode2     –        generic      Running   tcp://10.111.21.161:2376            v1.12.3

DockerSunucu1   –        openstack    Running   tcp://213.155.119.87:2376           v1.12.3   

DockerSunucu2   –        openstack    Running   tcp://213.155.119.88:2376           v1.12.3   

Yaratilan makineler hakkinda ssh key gibi , config.json gibi konfigrasyon dosyalarinin hepsi ilgili makinelerin ilgili dizinlerinde.

vahric:~ vahricmuhtaryan$ cd .docker/machine/machines/DockerSunucu1/

ca.pem          cert.pem        config.json     id_rsa          id_rsa.pub      key.pem         server-key.pem  server.pem

Eski aliskanlik makineye bir ssh yapalim diyorsaniz 

vahric:~ vahricmuhtaryan$ docker-machine ssh DockerSunucu1

Veya illa login olmaya gerek yok direk komutta calistirabiliriz

vahric:~ vahricmuhtaryan$ docker-machine ssh DockerSunucu1 df -h

Windows Enterprise 10 Uzerinde

Dikkat ederseniz windows uzerinde herhangi bir sekilde  “–openstack-insecure” parametersini kullanmadim.

C:\Users\vahric>docker-machine –debug create –driver openstack –openstack-auth-url https://o.dorukcloud.com:5000/v2.0 –openstack-tenant-name demo –openstack-username demo_user1 –openstack-password demo_user1_sifre –openstack-image-name Ubuntu-Xenial –openstack-flavor-name m1.small –openstack-ssh-user ubuntu –openstack-net-name Demo-DBServers-Network1 –openstack-floatingip-pool ext-net DockerSunucu3

Not : SSH icin native Go uyarlamasi olan  crypto/ssh kullanilmaktadir.

Herkesin yaptigi klasik hareketi yapalim , uzaktan bir Docker Host’u secip , nginx calistirip , security Group

eval $(docker-machine env DockerSunucu1)

Bakalim birsey var mi ? 

docker ps

Bom bossssss

Nginx Kuralim calistiralim

Asagidaki komutta kullandigimiz -P bize dis dunyaya expose edilecek portlari rastgele dis dunyadaki erisim port

vahric:~ vahricmuhtaryan$ docker run -d -P nginx

Portlari gorelim 

vahric:~ vahricmuhtaryan$ docker port de

443/tcp -> 0.0.0.0:32768

80/tcp -> 0.0.0.0:32769

Security Group guncellemesi

Isterseniz varsayili Security Group olan default’u veya yeni yarattiginiz bir SG’yi instance’a atayin

screen-shot-2016-11-17-at-16-38-12

Nginx’in kostugu Docker Host’un public ip adresini ogrenelim

vahric:~ vahricmuhtaryan$ docker-machine ip DockerSunucu1

213.155.119.87

Deneyelim …

http://213.155.119.87:32769

screen-shot-2016-11-17-at-16-46-33

Hepsi bu kadar !

Bizi @dorukcloud twitter hesabindan takip edebilirsiniz.

VM

Posted on 17/11/2016, in Docker, dorukcloud, Openstack and tagged , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: