Instalar oc
Login CLI
Listar projetos
Entrar em um projeto
Deletar apps de um projeto
Listar buildConfig
Detalhes do buildConfig
Listar builds
Ver logs do build
Listar deploymentConfig
Escalar automático
Listar pods
Ver logs do pod
Conectar no pod
Detalhes do pod
Port-forward
Abaixo um guia de comandos para utilizar na plataforma Getup.
Instalar oc
Linux/Mac
$ bash <(curl -Ls https://api.getup.io/install)
Windows
Baixe o oc em https://api.getup.io/install/windows/ e utilize o executável dentro da pasta que ele foi extraído ou então mova para algum diretório da sua variável PATH para utilizar de qualquer lugar.
Exemplo 01. Instalação do oc
vander@llghost:~$ bash <(curl -Ls https://api.getup.io/install)
Instalando Openshift Origin Client Tools v1.2.0
######################################################################## 100,0%
Gostaria de configurar agora? [S/n] timeout...
O comando 'oc' foi instalado com sucesso.
Para executar, use:
$ /home/vander/bin/oc --help
Login CLI
$ oc login https://api.getupcloud.com -u <usuario>
Exemplo 02. Login na CLI
vander@llghost:~$ oc login https://api.getupcloud.com -u vander.nunes@getupcloud.com
Authentication required for https://api.getupcloud.com:443 (openshift)
Username: vander.nunes@getupcloud.com
Password:
Login successful.
You have access to the following projects and can switch between them with 'oc project <projectname>':
* howto (current)
* nunes
Using project "howto".
Listar projetos
$ oc get projects
Exemplo 03. Listar projetos
vander@llghost:~$ oc get projects
NAME DISPLAY NAME STATUS
nunes Tests and Everything Active
howto howto Active
Entrar em um projeto
$ oc project <project-name>
Exemplo 04. Entrando em um projeto
vander@llghost:~$ oc project howto
Now using project "howto" on server "https://api.getupcloud.com:443".
Deletar todos os objetos de um projeto
$ oc delete all --all -n <project-name>
Exemplo 05. Deletando todos os objetos de um projeto
vander@llghost:~$ oc delete all --all -n howto
buildconfig "php" deleted
imagestream "php" deleted
deploymentconfig "php" deleted
deploymentconfig "postgresql" deleted
route "php" deleted
service "php" deleted
service "postgresql" deleted
Listar buildConfig
$ oc get bc
Exemplo 06. Listar buildConfig
vander@llghost:~$ oc get bc
NAME TYPE FROM LATEST
wordpress Source Git 1
Detalhes de um buildConfig
$ oc describe bc/<bc-name>
Exemplo 07. Descrever buildConfig
vander@llghost:~$ oc describe bc/wordpress
Name: wordpress
Created: About a minute ago
Labels: app=wordpress
getup.io/application-name=wordpress
getup.io/object-basename=wordpress
template=wordpress
Description: Defines how to build the application
Annotations: <none>
Latest Version: 1
Strategy: Source
URL: https://github.com/getupcloud/wordpress-ex.git
From Image: ImageStreamTag openshift/php:5.6
Output to: ImageStreamTag wordpress:latest
Triggered by: ImageChange, Config
Webhook GitHub: https://api.getupcloud.com:443/oapi/v1/namespaces/nunes/buildconfigs/wordpress/webhooks/2W3kTuAgWHlNF7UdPhaLgLGM7C2uqvIgoTSPnwuk/github
Build Status Duration Creation Time
wordpress-1 running running for 47s 2016-06-27 16:39:44 -0300 BRT
Listas builds
$ oc get builds
Exemplo 08. Listar builds
vander@llghost:~$ oc get builds
NAME TYPE FROM STATUS STARTED DURATION
wordpress-1 Source Git@01204e5 Running About a minute ago 1m49s
Ver logs do build
$ oc logs builds/<build> [-f]
Exemplo 09. Ver logs do build
vander@llghost:~$ oc logs builds/wordpress-1
W0627 19:39:49.496753 1 builder.go:55] Master version "v1.1.6.10" does not match Builder image version "v1.1.6"
..........
..........
I0627 19:41:01.798323 1 sti.go:334] Successfully built nunes/wordpress-1:55ae3dea
I0627 19:41:02.092549 1 cleanup.go:23] Removing temporary directory /tmp/s2i-build183285870
I0627 19:41:02.092599 1 fs.go:156] Removing directory '/tmp/s2i-build183285870'
I0627 19:41:03.206710 1 sti.go:267] Using provided push secret for pushing 172.30.34.145:5000/nunes/wordpress:latest image
I0627 19:41:03.206765 1 sti.go:271] Pushing 172.30.34.145:5000/nunes/wordpress:latest image ...
I0627 19:44:48.263267 1 sti.go:287] Successfully pushed 172.30.34.145:5000/nunes/wordpress:latest
Listas deploymentConfig
$ oc get dc
Exemplo 10. Listar deploymentConfig
vander@llghost:~$ oc get dc
NAME REVISION REPLICAS TRIGGERED BY
memcached 1 1 config
mysql 1 1 config
wordpress 1 1 config,image(wordpress:latest)
Escalar automático
$ oc autoscale dc/<app> --min=3 --max=10 --cpu-percent=65
Exemplo 11. Escalar automático
vander@llghost:~$ oc autoscale dc/wordpress --min=2 --max=5 --cpu-percent=65
deploymentconfig "wordpress" autoscaled
Listar pods
$ oc get pods
Exemplo 12. Listar pods
vander@llghost:~$ oc get pods
NAME READY STATUS RESTARTS AGE
php-1-build 0/1 Completed 0 2d
php-2-33f7o 1/1 Running 0 2d
postgresql-1-hwdg4 0/1 CrashLoopBackOff 822 2d
Ver logs do pod
$ oc logs <pod-name> [-f]
Exemplo 13. Exibir log do pod
vander@llghost:~$ oc logs wordpress-1-qr2u7
-> Cgroups memory limit is set, using HTTPD_MAX_REQUEST_WORKERS=34
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.1.6.44. Set the 'ServerName' directive globally to suppress this message
[Mon Jun 27 19:46:48.644835 2016] [auth_digest:notice] [pid 1] AH01757: generating secret for digest authentication ...
[Mon Jun 27 19:46:48.653662 2016] [lbmethod_heartbeat:notice] [pid 1] AH02282: No slotmem from mod_heartmonitor
Conectar em um pod
$ oc rsh <pod-name>
Exemplo 14. Conectando em um pod
vander@llghost:~$ curl ifconfig.co
177.46.87.213
vander@llghost:~$ oc rsh wordpress-1-qr2u7
sh-4.2$
sh-4.2$ curl ifconfig.co
104.41.57.12
No exemplo acima foi listado inicialmente meu IP e em seguida o IP de dentro do pod acessado para confirmar que estou conectado em um pod dentro da getup.
Detalhes do pod (inclusive portas dos containers)
$ oc describe pods <pod-name>
Exemplo 15. Listar detalhes do pod
vander@llghost:~$ oc describe pods wordpress-1-qrdu7
Name: wordpress-1-qrdu7
Namespace: nunes
Node: nodebr1.we3qg4rvmuenwqn5bvakisfe.nx.internal.cloudapp.net/10.1.2.8
Start Time: Mon, 27 Jun 2016 16:46:33 -0300
Labels: deployment=wordpress-1,deploymentconfig=wordpress,name=wordpress
Status: Running
IP: 10.2.6.22
...........
Image ID: docker://f1cdw11c6830995084afe0f2basf81b14c26787ac4db6d4e7dfda203ee0df93a
Port: 8080/TCP
...........
Environment Variables:
DATABASE_SERVICE_NAME: mysql
DATABASE_NAME: wordpress
DATABASE_USER: wordpress
DATABASE_PASSWORD: Yi23*a(as8vEj5
MEMCACHED_SERVICE_NAME: ${MEMCACHED_SERVICE_NAME}
...........
Port-forward de uma porta do container para uma porta local
$ oc describe <pod-name> | grep Port
Exemplo 16. Listar a porta do pod especificado a ser tunelada
vander@llghost:~$ oc describe pods mysql-1-jtsnv |grep Port
Port: 3306/TCP
$ oc port-forward <pod-name> <port>
Exemplo 17. Tunelamento da porta 3306 do pod mysql-1-jtsnv para o host local na porta 3306
vander@llghost:~$ oc port-forward mysql-1-jtsnv 3306
I0627 17:01:05.642520 18535 portforward.go:213] Forwarding from 127.0.0.1:3306 -> 3306
I0627 17:01:05.642960 18535 portforward.go:213] Forwarding from [::1]:3306 -> 3306
Comentários
0 comentário
Por favor, entre para comentar.