Skip to content

Latest commit

 

History

History
167 lines (96 loc) · 5.07 KB

File metadata and controls

167 lines (96 loc) · 5.07 KB

2.1.5 - 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

Caso você encontre o erro abaixo durante o build:

E execute novamente o build clicando em

  1. Builds -> Builds
  2. Clique em Workshop ocp
  3. No canto direito clique em Start Build

Assim que finalizado o build, acesse a url gerada 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

Caso sua aplicação não abra e mostre a seguinte tela:

Isso pode ser devido a um bug no template do Openshift. Para corrigir, basta alterar a porta que a nossa route está utilizando.

Se olharmos a nossa rota, ela está direcionando o acesso para a porta 80.

Quando abrimos o serviço, percebemos que nosso container utiliza também outras portas:

Nosso apache está escutando na porta 8080 e não na 80.

Vamos alterar a rota para apontar para essa porta. Primeiro abrimos a rota do Apache.

Logo em seguida, clicamos no menu lateral direito Action -> Edit

E trocamos a porta que nossa rota está utilizando para a 8080

Agora, nossa aplicação já deve estar disponível.

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