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.
Browse Catalog
Seleciona PHP
- Selecione no menu superior
Add to project
- Selecione o template
PHP
no submenuBrowser Catalog
. - Selecione o template
PHP
na versão7.0
. - Preencha o campo
Name
com o valorworkshop-ocp
- Preencha o campo
Git Repository URL
com o valorhttps://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
Builds
->Builds
- Clique em
Workshop ocp
- 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.
Através da seta para cima na lateral do círculo do pod, clique até escalar a aplicação para 4 pods.
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.
- No menu superior clique em Add to project
- Na busca, digite httpd
- 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>
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