SMT SAT GAQ12023V1
Crie um fork do repositório a seguir com sua conta GitHub: (https://github.com/system-manager-br/openshift-test-drive)
- Acesse https://github.com com a sua conta pessoal, ou crie um conta:
- Acesse https://github.com/system-manager-br/openshift-test-drive e crie um "fork":
Obs.: Anote a URL gerada após o fork.
- Acesso via Web Console - Insira suas credenciais:
(O instrutor irá apresentar os itens abaixo)
- Console
- Perfil admin
- Perfil dev
Execute os comandos utilizando o client "oc" ou "kubectl":
$ oc project
$ oc projects
$ oc get pods
$ oc get nodes
O Red Hat OpenShift Pipelines é uma solução de integração e entrega contínua (CI/CD) nativa da nuvem para criar pipelines usando Tekton. Tekton é uma estrutura flexível de CI/CD de código aberto nativa do Kubernetes, que permite automatizar implantações.
- Altere para o perfil de desenvolvedor
- Selecione o menu +Add;
- Valide que o projeto (namespace), que possui o mesmo nome da sua conta de acesso, está selecionado ao lado direito do perfil de desenvolvedor;
- Clicar em "Git Repository - Import from Git";
- Preencha os dados solicitados:
- No campo Git Repo URL: insira a url gerada ao realizar o fork na etapa de pré-requisitos;
- Nos campos Appplication name e Name, altere os valores para: app<número do seu projeto)> (ex: usuário redhat40 -> app40)
- Marcar o checkbox Add pipeline;
- Desmarcar o checkbox Create a route to the Application;
- Cilcar em Resource limits;
- Preencha com os seguintes valores para os limites de recursos computacionais:
- CPU
- Request = 20 milicores;
- Limit = 50 milicores;
- Memory
- Request = 70 Mi;
- Limit = 150 Mi;
- CPU
- Clique no botão "Create";
Aguarde o processo de construção (build) e escalação da aplicação (0 para 1).
Acompanhe os logs da execução em: Pipelines > app<número do seu projeto> > PipelineRuns > app<número do seu projeto>-xyz > Logs**;
- Clique em Topology ;
- Clique em cima do circulo azul da sua aplicação app<número do seu projeto>;
- Explore as opções apresentadas (Details, Resources, Observe);
- Clique em Project no canto esquerdo do console;
- Clique em Route > Create Route, e preencha conforme abaixo:
- Name: http-app<número do seu projeto>
- Hostname: app<número do seu projeto>.(dominio-wildcard-do-cluster-openshift)
- Service: app<número do seu projeto>
- Target port: 8080 -> 8080 (TCP)
- Clicar em Create;
- Acesse a rota em seu navegador;
- Anote a rota em um bloco de notas;
- Clique em Project no canto esquerdo do console;
- Clique em Route > Create Route, e preencha conforme abaixo:
- Name: https-app<número do seu projeto>
- Hostname: secure-app<número do seu projeto>.(dominio-wildcard-do-cluster-openshift)
- Service: app<número do seu projeto>
- Target port: 8080 -> 8080 (TCP)
- Marque o checkbox Secure Route;
- TLS termination: Edge
- Insecure traffic: Redirect
- Clicar em Create;
- Acesse a rota em seu navegador;
- Tente acessar a rota recém criada como HTTP e veja o comportamento do "Redirect";
- Anote a rota em um bloco de notas;
- Envie ambas as rotas (HTTP e HTTPS) no chat.
- Clique em Topology no menu lateral, e abra a URL do POD chamado "Triggers", conforme abaixo:
- Copie a URL;
- Acesse seu repositório (repoistório clonado anteriormente), e clique nas seguintes opções: Settings -> Webhooks -> Add webhook:
- No formulario que aparecerá insira a URL do Trigger no campo "Payload URL", e em "Content type" selecione a opção "aplication/json", depois clique no botão "Add webhook";
Acesse seu GitHub e abra o repositório clonado para executar as tarefas abaixo.
- Alterar o arquivo "/views/main.erb" na linha 26. No lugar de "Cliente", insira seu nome. (não remova nada antes ou depois da linha 26)
-
Após essa alteração clique no botão "commit changes";
-
No console do OCP, voce pode acompahar a Pipeline iniciando um novo build e deploy da nova versão da Aplicação;
- Acessar no menu lateral a opção "Topology", clique no icone do POD da aplicação e na sessão "Resources" clique "View logs":
- Faça algumas requisições na URL (atualize a página) e veja os logs.
- Clique em Topology;
- Clique em cima do circulo azul da sua aplicação app<número do seu projeto>;
- Clique em Details > botão de "Increase"
- Acione o "Descrease" para 01 réplica.
- Acessar no menu lateral a opção "Topology", clique no icone do POD da aplicação e na sessão "Actions" clique na opcão "Add HorizontalPodAutoscaler":
- Será aberto um formulario para preenchimento dos parâmetros. Insira os valores, conforme o exemplo abaixo, e clique no botão "Save".
- No menu lateral clique em "+Add" e em "All services":
- Procure por por "httpd" e clique na primeira opção, depois em "Instantiate Template":
- Mude o nome para "apache-benchmark" e clique em "create":
- Acesse o seu projeto (namespace) via Web Terminal, e entre no terminal do Apache Benchmark. Em seguida execute o comando para disparar a carga na URL da aplicação e observe novas instâncias sendo criadas para atender a carga.