Docker Linux Container - Open vSwitch Containers - Múltiplos Servidores
Neste tutorial, vou abordar de uma forma um pouco mais complexa a configuração do Docker Container. Pensando no conceito de Cloud Computing e também no conceito de múltiplas zonas, resolvi então implementar o Open vSwitch (OVS) no ambiente em que estou estudando.
Parte 3: Instalando o Docker
Passo 6: Instalando o repositório Epel em ambos servidores.
# yum install epel-release
# cd /etc/yum.repos.d/
# ls
CentOS-Base.repo
CentOS-Debuginfo.repo
CentOS-fasttrack.repo
CentOS-Media.repo
CentOS-Vault.repo
epel.repo
epel-testing.repo
Passo 7: Ativando o CentOS Plus no repositório CentOS-Base em ambos servidores.
# vim CentOS-Base.repo
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Modificar para:
Passo 6: Atualizando os servidores:
# yum update -y
Passo 7: Reiniciando os servidores:
# reboot
Passo 8: Instalando o "docker-io" em ambos servidores:
# yum install docker-io -y
Passo 9: Configurando o compartilhamento de memória para o LXC em ambos servidores.
# /etc/init.d/cgconfig stop
# cd /cgroup/memory/
# vim memory.use_hierarchy
Fechando o arquivo:
:x!
Passo 11: Configurando o Docker em ambos servidores, para que ele possa utilizar o LXC:
# vim /etc/sysconfig/docker
Passo 12: Reiniciando o cgconfig e o Docker em ambos servidores:
# /etc/init.d/cgconfig start
# /etc/init.d/docker start
# ifconfig
Servidor docker-centos6-5-srv2:
# ifconfig
Passo 13: Em ambos servidores, com o comando "docker images", será possível verificar quais imagens eles possuem.
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
Passo 14: Em ambos servidores, com o comando "docker pull ubuntu", será baixado do repositório oficial do Docker, as imagens do Ubuntu.
# docker pull ubuntu
# yum install epel-release
# cd /etc/yum.repos.d/
# ls
CentOS-Base.repo
CentOS-Debuginfo.repo
CentOS-fasttrack.repo
CentOS-Media.repo
CentOS-Vault.repo
epel.repo
epel-testing.repo
Passo 7: Ativando o CentOS Plus no repositório CentOS-Base em ambos servidores.
# vim CentOS-Base.repo
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Modificar para:
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Passo 6: Atualizando os servidores:
# yum update -y
Passo 7: Reiniciando os servidores:
# reboot
Passo 8: Instalando o "docker-io" em ambos servidores:
# yum install docker-io -y
Passo 9: Configurando o compartilhamento de memória para o LXC em ambos servidores.
# /etc/init.d/cgconfig stop
# cd /cgroup/memory/
# vim memory.use_hierarchy
...
group . {
memory {
memory.use_hierarchy = "1";
}
}
group . {
memory {
memory.use_hierarchy = "1";
}
}
Fechando o arquivo:
:x!
Passo 11: Configurando o Docker em ambos servidores, para que ele possa utilizar o LXC:
# vim /etc/sysconfig/docker
other_args="--exec-driver=lxc"
Passo 12: Reiniciando o cgconfig e o Docker em ambos servidores:
# /etc/init.d/cgconfig start
# /etc/init.d/docker start
Validando o ambiente
Servidor docker-centos6-5-srv1:# ifconfig
docker0 Link encap:Ethernet Endereço de HW 32:9A:D1:CF:86:19 inet end.: 172.17.42.1 Bcast:0.0.0.0 Masc:255.255.0.0 endereço inet6: fe80::309a:d1ff:fecf:8619/64 Escopo:Link UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 colisões:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:468 (468.0 b) eth0 Link encap:Ethernet Endereço de HW B2:5F:F5:7F:2B:5E inet end.: 192.168.0.227 Bcast:192.168.3.255 Masc:255.255.252.0 endereço inet6: fe80::b05f:f5ff:fe7f:2b5e/64 Escopo:Link UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1 RX packets:62586 errors:0 dropped:0 overruns:0 frame:0 TX packets:24331 errors:0 dropped:0 overruns:0 carrier:0 colisões:0 txqueuelen:1000 RX bytes:70933165 (67.6 MiB) TX bytes:1659087 (1.5 MiB) IRQ:24 lo Link encap:Loopback Local inet end.: 127.0.0.1 Masc:255.0.0.0 endereço inet6: ::1/128 Escopo:Máquina UP LOOPBACKRUNNING MTU:65536 Métrica:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 colisões:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Servidor docker-centos6-5-srv2:
# ifconfig
docker0 Link encap:Ethernet Endereço de HW 52:8D:70:58:06:20 inet end.: 172.17.42.1 Bcast:0.0.0.0 Masc:255.255.0.0 endereço inet6: fe80::508d:70ff:fe58:620/64 Escopo:Link UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 colisões:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:468 (468.0 b) eth0 Link encap:Ethernet Endereço de HW FE:25:F3:EF:2D:35 inet end.: 192.168.0.229 Bcast:192.168.3.255 Masc:255.255.252.0 endereço inet6: fe80::fc25:f3ff:feef:2d35/64 Escopo:Link UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1 RX packets:57854 errors:0 dropped:0 overruns:0 frame:0 TX packets:27404 errors:0 dropped:0 overruns:0 carrier:0 colisões:0 txqueuelen:1000 RX bytes:75305878 (71.8 MiB) TX bytes:1965270 (1.8 MiB) IRQ:24 lo Link encap:Loopback Local inet end.: 127.0.0.1 Masc:255.0.0.0 endereço inet6: ::1/128 Escopo:Máquina UP LOOPBACKRUNNING MTU:65536 Métrica:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 colisões:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Passo 13: Em ambos servidores, com o comando "docker images", será possível verificar quais imagens eles possuem.
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
Passo 14: Em ambos servidores, com o comando "docker pull ubuntu", será baixado do repositório oficial do Docker, as imagens do Ubuntu.
# docker pull ubuntu
*Gostei deste Open vSwitch, solução bem interessante.
------------------------------------------------------
¿? -> keyboard Error: No Keyboard Present, PRESS F1 to continue.