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.

[ Hits: 17.222 ]

Por: evandro matos couto em 27/05/2015


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:

#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

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";
}
}

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

Página anterior     Próxima página

Páginas do artigo
   1. Definição / Cenário
   2. Configuração do OpenvSwitch
   3. Instalando o Docker
   4. Ajustando as Bridges
   5. Testando
   6. Criando os Containers
   7. Testando o ambiente
Outros artigos deste autor

Alta disponibilidade: CentOS 6 - configurando os pacotes DRBD com gfs2 - parte 1

HAproxy + Stunnel (https) + CentOS 6

CentOS 5.8 - MySQL Cluster 7.1 + HAProxy

Quota - Criando e administrando no CentOS

Clonagem de HDs com o PHANTOM & UDPCAST no CentOS

Leitura recomendada

O fantástico mundo dos instrumentos MIDI (parte 1)

Instalando e configurando OpenNMS em Ubuntu Linux

SIGERAR - Sistema de Gerenciamento de Requisitos

Sabayon Linux 5.3, versões futuras e seu potencial + remasterização

Rodando o Windows 3.1 no Linux

  
Comentários
[1] Comentário enviado por removido em 28/05/2015 - 21:24h

Excelente artigo, obrigado por publicá-lo.

*Gostei deste Open vSwitch, solução bem interessante.

------------------------------------------------------
¿? -> keyboard Error: No Keyboard Present, PRESS F1 to continue.

[2] Comentário enviado por vandocouto em 28/05/2015 - 21:52h

:)
Mais sobre docker e cloud visite o meu blog.
http://tutoriaisgnulinux.com

Abs,
Evandro Couto.

[3] Comentário enviado por cesarufmt em 01/06/2015 - 10:37h

Estou estudando esse tema (docker). Muito bom seu artigo. Obrigado pela contribuição! o/

[4] Comentário enviado por Lisandro em 28/06/2016 - 13:02h

Massa. Ótimo artigo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts