Deploy de VCH – VIC 1.5.3

Fez o deploy do VIC e agora não sabe qual passo seguir? Não se preocupe, esse post foi criado para você!

Minha ideia é mostrar como fazer o deploy do VCH usando linha de comando. É possível fazer pelo plugin do VIC na interface HTML5 do vCenter mas vocês vão ver que, uma vez com o comando montado, criar e deletar VCHs é extremamente rápido! O wizard pela interface gráfica acabou sendo lento demais pro meu gosto hehe

O VCH ou virtual container host irá servir como um endpoint para comandos Docker. É por meio dele que será possível provisionar containers na infraestrutura VMware. A impressão que teremos é que estamos subindo containers dentro do VCH, mas por trás, cada container será uma máquina virtual no vCenter.

Mas vamos lá!

Primeiro passo é baixar os binários necessários para criar o nosso VCH. Eles estão disponíveis na página de gerencia do seu VIC! A URL é https://[IP_DO_VIC]:9443. Você pode clicar na parte destacada em vermelho para realizar o download!

Uma vez feito o download, você irá ver binários para Linux e para Windows. Nesse post eu vou usar uma VM com centOS7 e com o pacote docker instalado para realizar o deploy do VCH. Você pode jogar os arquivos dentro da VM via WinSCP, ou se você gosta de pular passos pode baixa-los diretamente da sua VM! Basta rodar os seguintes comandos:

wget [https]://[VIC_IP]:9443/files/vic_v1.5.3.tar.gz –-no-check-certificate

tar -zxvf vic_v1.5.2.tar.gz

Após extrair os arquivos, ele irá criar uma pasta chamada vic com todos os binários e arquivos necessários para subir um VCH!

Bom, agora chegou a hora de montar nosso comando. Abra o seu editor favorito (o meu tem sido o sublime!) e mãos à obra! Vou tentar separar aqui por partes! Como eu disse, nesse post irei usar o binário vic-machine-linux!

A primeira parte você vai dizer em qual ambiente será feito o deploy do seu VCH. Então vamos informar qual o vCenter, qual o Datacenter e o usuário que fará o deploy.

./vic-machine-linux create

–target vc01.nuvem.local/Datacenter

–compute-resource Cluster_MGMT

–user ‘[email protected]

–password ‘VMware1!’

Depois vamos informar quais certificados o VCH irá utilizar. Nesse post irei pedir para que seja criado um certificado auto-assinado, tanto para o VCH como para nossos clientes que irão se conectar ao VCH depois! Atenção: A pasta que guardará os certificados deve estar vazia ok? Senão ele reclama.

–tls-cname vch1.nuvem.local

–tls-cert-path /tmp/VIC_1.5.3/vic/Certs/

–organization NUVEM

–certificate-key-size 2048

Agora irei informar quais datastores o VCH poderá utilizar para armazenar imagens e volumes.

–image-store DS_NUVEM/VCH1_IMAGES

–base-image-size 8GB

–volume-store DS_NUVEM/VCH1_VOLUMES:ds_nuvem

Não podemos esquecer da rede! Para fazer o deploy de um VCH é obrigatório ter um port group para ser a rede BRIDGE do nosso VCH. É nessa rede que os nossos containers serão conectados quando forem criados! Outra rede que é obrigatória é a rede pública! Nessa rede iremos configurar um IP para que o VCH possa se comunicar com registros externos, ou seja, é interessante ele ter acesso à internet! No nosso caso, estará passando por essa interface também os tráfegos de clientes e de gerência. Não se preocupe, é possível separá-los casso seja necessário na arquitetura.

–bridge-network vch-bridge

–bridge-network-range 172.16.0.0/12

–bridge-network-width 16

–public-network MGMT

–public-network-ip 10.0.0.12/24

–public-network-gateway 10.0.0.254

–dns-server 10.0.0.2

O registro que iremos utilizar é o que já vem junto com o vSphere Integrated Container. Como no nosso caso ele está com um certificado autoassinado, eu preciso avisar ao VCH que ele pode aceitar esse Registry, mesmo ele sendo inseguro. A linha de baixo diz exatamente isso!

–insecure-registry vic01.nuvem.local

E por fim, o nome que será utilizado para criar a maquina virtual do VCH e o thumbprint do certificado do vCenter Server!

–name vch1

–thumbprint DE:6E:54:14:6B:D0:48:42:95:96:B2:6A:6C:6F:B6:7B:79:AF:61:04

Se você não sabe aonde pegar o thumbprint do certificado do vCenter, basta seguir as imagens abaixo.

Ufa! Eu sei que parece mais demorado do que seria pela interface gráfica, mas só precisamos montar esse comando uma vez. Depois podemos reaproveita-lo para subir outros VCHs, ou o mesmo várias e várias vezes 😊

Achou muito longo e não quer montar dessa forma? Quer só copiar e substituir pelas informações do seu ambiente? Acesse o comando pronto no arquivo vch_linux_cute no meu GitHub e use-o à vontade: https://github.com/priscillagr/VIC.git . Eles tem algumas opções a mais, mas é só retirá-las para ficar igual o desse post ok?

Ok. Agora que você tem o comando montado, você deve rodar ele dentro da pasta vic, aquela que tem o nosso binário vic-machine-linux! Vai ficar assim:

Aperte Enter e aguarde o deploy finalizar! Caso algo esteja errado, esse comando é bem bom de avisar o que pode ser. Tente ajeitar o que está de errado e tente novamente! A tela de instalação deve seguir assim:

Após finalizar, você terá essa tela da felicidade aqui:

Ele já te passa qual comando você deve rodar para puxar as informações do seu novo VCH! O meu comando no caso seria:

Ao rodar ele você vai ter essa saída aqui com todas as informações do seu VCH:

Mas peraí? Que trambolho de comando é esse? Não dá para ficar passando tudo isso de parâmetro toda vez que formos rodar algum comando no nosso VCH certo? Mas relaxa que o VIC facilitou para a gente! Se você lembra vem, você apontou uma pasta na qual os certificados foram criados. No meu caso é a pasta Certs. Dentro dela tem diversos certificados e um arquivo com o nome do nosso vch, chamado vch1.env. Esse arquivo possui as variáveis de ambiente que podemos exportar para o nosso terminal!

Ao exporta-las, podemos rodar um comando muito mais simples: Docker info! Ele já vai sabe para qual Docker host enviar.

Com isso nós temos o nosso VCH no ar, prontinho para ser utilizado. No próximo post irei mostrar como adicioná-lo a interface gráfica do VIC e como subir o seu primeiro container no ambiente VMware. Até lá!

Copy link
Powered by Social Snap