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 repositório:

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

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:

Atenção. Só execute os comandos do git abaixo caso vocẽ não tenha criado os arquivos pela web console conforme mostrado nas imagens acima.

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

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

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

Catalog -> Pesquise por 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 app-s2i

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

Repare que no campo Git Repository URL você deve trocar o <seu-usuario-do-github> pelo usuário da sua conta do github.

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 em Applications > Routes 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.

Para saber o nome do seu projeto no Openshift, basta executar:

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

Escalar para 4 PODs

Em Overview, clique na seta 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:

Para saber o nome do seu projeto no Openshift, basta executar:

Mais informações:

Last updated