2.4 - Source to Image (S2I)

Criar nova aplicação no github

Usaremos uma aplicação php como exemplo, sinta-se à vontade para usar a sua linguagem de preferência, mas tenha em mente que depois conectaremos a um banco de dados e utilizaremos variáveis de ambiente.

Crie um repositório no github com o nome workshop-ocp

Depois informe o nome do repositorio:

Crie o arquivo index.php com o seguinte conteúdo

<?php
echo "<h1>Openshift Workshop v1.0</h1> ";
echo $_SERVER['SERVER_ADDR'];
?>

Essa linha com o conteudo $_SERVER é opcional, ela irá mostrar na tela o IP do pod em que está sendo executada.

Conteúdo do arquivo.

Clique em commit new file para criar o arquivo.

Os passos mostrados acima também podem ser feitos pela linha de comando conforme abaixo:

Faça o clone deste novo repositório e crie a página inicial index.php

git clone https://github.com/<seu-usuario>/workshop-ocp.git && cd workshop-ocp

Faça o commit do código para o servidor git.

git add index.php
git commit -am "first commit"
git push -u origin master

No final de tudo, devemos ter um arquivo index.php no nosso repositório do github.

Agora que já temos uma aplicação, podemos prosseguir.

Deploy utilizando S2I

Browse Catalog

Seleciona PHP

  • Selecione no menu superior Add to project

  • Selecione o template PHP no submenu Browser Catalog.

  • Selecione o template PHP na versão 7.0.

  • Preencha o campo Name com o valor workshop-ocp

  • Preencha o campo Git Repository URL com o valor https://github.com/<seu-usuario-do-github>/workshop-ocp.git

Um novo build será executado assim que for clicado em Create

Assim que finalizado o build, acesse a url indicada pelo Route e verifique a aplicação em funcionamento. O resultado deve ser algo similar a isso:

Você também pode usar a linha de comando para fazer o S2I.

oc new-app https://github.com/<seu-usuario>/workshop-ocp.git -n <nome do seu projeto do openshift>

Nesse caso, o Openshfit irá tentar adivinhar qual a linguagem que você utilizou na sua aplicação.

Escalar para 4 PODs

Através da seta para cima na lateral do círculo do pod, clique até escalar a aplicação para 4 pods.

Source-to-Image com outras imagens (Opcional)

Iremos agora utilizar o S2I com um template do Apache HTTPD. Já existe um repositório com um arquivo de exemplo para testarmos essa funcionalidade.

  1. No menu superior clique em Add to project

  2. Na busca, digite httpd

  3. Selecione o template Httpd versão 2.4

Logo em seguida, preencha os valores conforme abaixo:

  • Name: apache

  • Git Repository Url: Clique no botão try it

Prontinho, basta acessar a URL indicada pelo Route.

Para limpar nosso ambiente, execute o seguinte comando:

oc delete all -l app=apache -n <nome do seu projeto no openshift>

Mais informações:

https://docs.openshift.com/container-platform/3.6/using_images/s2i_images/index.html

https://docs.openshift.com/container-platform/3.6/creating_images/s2i.html

Last updated