-
Introdução ao docker
-
dockerhub & images
-
Demo
Executa o fedora docker run -it fedora cat /etc/fedora-release
Executa uma segunda versão do fedora e mostra persistencia
docker run -it fedora:22 cat /etc/fedora-release cd /home && mkdir cliente [fecha o container] docker commit <id container> <nome da imagem> docker run --rm -it <imagem cliente> /bin/bash
Executa uma imagem do jboss wildfly
docker run -it -p 8080:8080 jboss/wildfly curl http://localhost:8080
Cria uma app
mkdir cliente echo "<h1> Hello :) </h1>" > index.html mkdir WEB-INF jar cvf cliente.war . rm -rf WEB-INF index.html
Cria uma nova imagem com a app criada
vim Dockerfile FROM jboss/wildfly ADD cliente.war $JBOSS_HOME/standalone/deployments curl http://localhost:8080/cliente
-
Criação do projeto no gogs e no JBDS
-
Abrir gogs http://gogs-devops.cloudapps.example.com/
-
Criar um projeto com nome do cliente
-
Marcar como publico
-
Criar um README e trocar o nome por index.php. Conteudo:
<?php echo "<h1>Olá Mundo v1.0 on</h1>"; echo $_SERVER['SERVER_ADDR'] ?>
-
Abrir JBDS 9
-
Importar um projeto do git
-
Criar um novo projeto do openshift pelo JBDS
-
-
Criar a aplicação
-
Entrar no projeto criado anteriormente
-
Add to project
php 5.6 Name: cliente git repo: http://gogs-devops.cloudapps.example.com/root/cliente.git
-
Mostrar build log
-
Mostrar metricas, logs, terminal do pod
-
-
Scaling
-
Escalar para 10
-
Mostrar o balancamento (apagando o cookie pelo browser)
-
-
Pod isolation
-
Ir no projeto do cliente
-
Escalar para 2 copias
-
Editar o DC e alterar o campo deploymentconfig na parte de labels
-
-
Port Forwarding
-
Liveness e Readiness
-
Abri projeto liveness e readiness — readiness
touch /tmp/readiness
-
— liveness
touch /tmp/liveness
-
Rolling update com possibilidade de falha
-
Alterar a versão da app para 2.0 no JBDS
-
Commitar e dar push
-
Fazer build manual
-
JBDS → build-config → start-build
-
Mostrar o build-log pelo JBDS — Rodar o comando curl
while [ true ]; do curl http://rolling-update-rolling-update.cloudapps.example.com; echo; done
-
Abrir projeto rolling-update
-
Criar uma app
-
Altera o webhook no gitlab
https://ose-master.example.com:8443/oapi/v1/namespaces/rolling-update/buildconfigs/rolling-update/webhooks/Ap2bRuAa2LcyShvRwJnG3VlGSMhnp1pFwM6VxSF3/github
-
Alterar versão e fazer um novo commit
-
Rodar o comando curl
while [ true ]; do curl rolling-update-rolling-update.cloudapps.example.com; echo done
-
— Escalar para 10 pela linha de comando
-
Rolling update
-
Subir uma instancia da aplicação
-
executar
-
while [ true ]; do curl http://rolling-update-rolling-update.cloudapps.example.com; echo; done
-
Aumentar o numero de instancias
-
Host evacuation
-
-
oadm manage-node <node1> --schedulable=false
-
oadm manage-node <node1> --evacuate
10) REST API
curl -k https://ose-master.example.com:8443/oapi/v1/projects -H "Authorization: Bearer eyQUq8Npk1ZuZguuQ1oX9fGhqrLjVMuUsrpiyJ2U0aY"
-
Auto scaling
-
Abrir projeto autoscaling e subir uma instancia
-
Rodar o ab ab -n 100000 -c 50 http://autoscaler-auto-scaling.cloudapps.example.com/
-
-
Blue green deployment
-
Cria uma aplicação v1.0
-
Cria uma segunda aplicação v2.0 mas sem route
-
Edita a rota da primeira app para apontar para a segunda aplicação
-
Adiciona a annotation
haproxy.router.openshift.io/balance: roundrobin
-
-
Job — oc create -f job.json
-
Quota
-
Mostrar partes de quota na web console
-
Criar um pod sem limites de recursos
oc create -f quota/pod-without-resources.yaml
-
Cria o limits
oc create -f quota/limits.yaml
-
executa novamente a criação do pod-without-resources.yaml
-
Template com quota
-
Estouro de memoria e cpu
while :; do _+=( $((++__)) ); done
-
Logar no node onde está o pod e executar
-
docker stats <id do pod>
-
-
Build Pipeline
oc new-project pipelineproject oc new-app -f https://raw.githubusercontent.com/openshift/origin/master/examples/jenkins/pipeline/samplepipeline.yaml Use 'oc start-build sample-pipeline' to start a build. Use 'oc start-build nodejs-mongodb-example' to start a build. Run 'oc status' to view your app.