Início
Operações Comuns
Tipos de Objetos
Operações básicas CLI
Modificação de aplicações na CLI
Operações de Build e Deployment na CLI
Operações de Debugging e Troubleshooting
Início
Este tópico traz informações para operações na CLI por desenvolvedores. Você deve configurar e logar na CLI antes de executar os próximos passos.
A CLI para desenvolvedores utiliza o comando oc, e é usado para operações dos projetos. Este guia é diferente da CLI para administradores, que usam o comando oadm para tarefas mais avançadas de administração.
Operações Comuns
A CLI para desenvolvedores permite a interação com varios tipos de objetos que são gerenciados pelo OpenShift. Muitas operações com o comando oc são realizadas seguindo a seguinte sintaxe:
$ oc <action> <object_type> <object_name_or_id>
Descrição do comando acima:
- <action> Qual ação tomar, como get ou describe.
- <object_type> O tipo do objeto a qual a ação vai ser executada, como service ou abreviação svc.
- <object_name_or_id> O nome ou id do objeto especificado por <object_type>.
Por exemplo, o comando oc get retorna uma lista completa de serviços que estão definidos.
$ oc get svc
NAME LABELS SELECTOR IP PORT(S)
docker-registry docker-registry=default docker-registry=default 172.30.78.158 5000/TCP
kubernetes component=apiserver,provider=kubernetes <none> 172.30.0.2 443/TCP
kubernetes-ro component=apiserver,provider=kubernetes <none> 172.30.0.1 80/TCP
O comando oc describe, pode ser usado para trazer informações detalhadas de um objeto especifico.
$ oc describe svc docker-registry
Name: docker-registry
Labels: docker-registry=default
Selector: docker-registry=default
IP: 172.30.78.158
Port: <unnamed> 5000/TCP
Endpoints: 10.1.0.2:5000
Session Affinity: None
No events.
![]() |
|
Tipos de Objetos
A CLI suporta diversos tipos de objetos como pode ser visto na tabela abaixo, alguns deles tem uma versão abreviada:
Nome do Objeto | Abreviatura |
build | |
buildConfig | bc |
deploymentConfig | dc |
imageStream | is |
imageStreamTag | istag |
imageStramImage | isimage |
event | ev |
node | |
pod | po |
replicationController | rc |
job | |
service | svc |
persistentVolume | pv |
persistentVolumeClaim | pvc |
Operações básicas CLI
Nós próximos tópicos você vai ver uma breve descrição do comando oc e sua sintaxe:
types
Exibe uma introdução para alguns conceitos do OpenShift:
$ oc types
login
Faz o log in no servidor do OpenShift:
$ oc login
logout
Faz o log out da sessão atual:
$ oc logout
new-project
Cria um novo projeto:
$ oc new-project <project_name>
new-app
Cria uma nova aplicação baseada no código fonte no diretório atual:
$ oc new-app .
status
Exibe detalhes do projeto atual:
$ oc status
project
Trocar para outro projeto. Execute sem opções para exibir o projeto atual. Para visualizar todos os projetos que você tem acesso, oc projects.
$ oc project <project_name>
Modificação de aplicações na CLI
get
Retorna uma lista de objetos para o tipo de objeto especificado. A opção <object_name_or_id> é opcional, se ela for incluída na requisição, então a lista de resultados é filtrada pelo valor nela especificado.
$ oc get <object_type> [<object_name_or_id>]
describe
Exibe informações sobre o objeto especificado na query. A opção <object_name_or_id> se torna obrigatoria. As informações disponiveis, variam conforme descrito em tipos de objetos.
$ oc describe <object_type> <object_id>
edit
Edita o tipo do objeto especificado:
$ oc <object_type>/<object_type_name>
Edita o tipo do objeto especificado com um editor de texto especifico:
$ OC_EDITOR="<text_editor>" oc edit <object_type>/<object_type_name>
Edita o objeto especificado em um formato especifico (ex: JSON):
$ oc edit <objecty_type>/<object_type_name> --output-version=<object_type_version> \
-o <object_type_format>
env
Atualizar o tipo do objeto especificado com uma nova variável de ambiente:
$ oc env <object_type>/<object_type_name> <var_name>=<value>
volume
Modifica um volume:
$ oc volume <object_type>/<object_type_name> [--option]
label
Atualizar a descrição em um objeto:
$ oc <object_type> <object_name_or_id> <label>
expose
Procura um serviço e deixa publico. Você também pode tornar publico a configuração de um deploy, controlador de replicação, serviço ou pod como um novo serviço em uma porta especifica. Se nenhuma descrição (label) for especificado, o novo objeto vai reutilizar os labels do objeto que esta vindo a ser publico.
$ oc expose <object_type> <object_name_or_id>
delete
Deleta um objeto especifico. A configuração de um objeto pode ser passada através de STDIN. O comando oc delete all -l <label> deleta todos os objetos que combinam com a opção <label> que for especificada, incluindo o controlador de replicação para que o pod não seja criado novamente.
$ oc delete -f <file_path>
$ oc delete <objetc_type> <object_name_or_id>
$ oc delete <object_type> -l <label>
$ oc delete all -l <label>
Operações de Build e Deployment na CLI
Uma das capacidades fundamentais do OpenShift é a habilidade de criar aplicações em um contêiner a partir do código fonte.
A CLI do OpenShift permite o acesso para inspecionar e manipular configurações de deployment usando operações padrões do comando oc, como get, create e describe.
start-build
Inicia manualmente o processo de build com o arquivo de configuração especificado:
$ oc start-build <buildconfig_name>
Inicia manualmente o processo de build especificando o nome de um build anterior como ponto de partida:
$ oc start-build --from-build=<build_name>
Inicia manualmente o processo de build especificando o arquivo de configuração ou o nome de um build anterior e exibe o log do processo:
$ oc start-build --from-build=<build_name> --follow
$ oc start-build <buildconfig_name> --follow
Espera um build terminar e caso o build falhe ao receber um código diferente de zero o processo é finalizado:
$ oc start build --from-build=<build_name> --wait
Define ou sobrescreve variaveis de ambiente para o build atual sem alterar a configuração do build. Alternativamente você pode usar a opção -e.
$ oc start-build --env <var_name>=<value>
Define ou sobrescreve o nivel de log default do build durante o build:
$ oc start-build --build-loglevel [0-5]
Especifica a o repositório que o build deve usar; requer que o build seja feito em um repositório GIT:
$ oc start-build --commit=<hash>
Re-executa o build com o nome <build_name>:
$ oc start-build --from-build=<build_name>
Armazena <dir_name> e faz o build utilizando o diretório informado:
$ oc start-build --from-dir=<dir_name>
Usa <file_name> como arquivo de entrada do build. Este arquivo deve ser o unico no build. Por exemplo, pom.xml ou Dockerfile.
$ oc start-build --from-file=<file_name>
Especifica um repositório local como entrada para o build:
$ oc start-build --from-repo=<path_to_repo>
Especifica um URL de webhook para disparar uma configuração de build existente:
$ oc start-build --from-webhook=<webhook_URL>
O conteúdo de um post-receive hook para iniciar o build:
$ oc start-build --git-post-receive=<contents>
O caminho para um repositório GIT para um post-receive; o default é o diretório atual:
$ oc start-build --git-repository=<path_to_repo>
Lista os webhooks para a configuração de build especificada; aceita all, generic ou github:
$ oc start-build --list-webhooks
deploy
Visualizar um deploy, ou manualmente iniciar, cancelar ou tentar novamente o deploy:
$ oc deploy <deploymentconfig>
rollback
Executa o rollback:
$ oc rollback <deployment_name>
new-build
Criar uma configuração de build baseado no código fonte do diretório atual ( com um repositório remoto publico) e uma imagem Docker:
$ oc new-build .
cancel-build
Para um build que esta em execução:
$ oc cancel-build <build_name>
import-image
Importa informação de uma tag ou imagem de um repositório de imagens Docker:
$ oc import-image <imagestream>
scale
Define um número de réplicas para o controlador de réplicas ou uma configuração de deployment para o número especificado de réplicas:
$ oc scale <object_type> <object_id> --replicas=<#_of_replicas>
tag
Utiliza uma tag ou imagem existente de um fonte de imagens ou repositório Docker e define como a a imagem mais recente de uma tag em uma ou mais fontes de imagens:
$ oc tag <current_image> <image_stream>
Comandos Avançados
create
Analisar um arquivo de configuração e criar um ou mais objetos do OpenShift baseado no conteúdo do arquivo. A opção -f pode ser passada múltiplas vezes com diferentes arquivos ou diretórios. Quando a opção -f é passada para o comando oc create, vai ser criado todos os objetos descritos em todos os arquivos indicados pela opção. Qualquer recurso existente é ignorado.
$ oc create -f <file_or_dir_path>
update
Atualizar um objeto existente baseado no conteúdo do arquivo de configuração especificado. A opção -f pode ser passada diversas vezes com diferentes arquivos ou diretórios. Quando a opção -f é passada ao comando oc update, o mesmo vai atualizar todos os objetos indicados nos arquivos.
$ oc update -f <file_or_dir_path>
process
Transforma o template de um projeto em um arquivo de configuração:
$ oc process -f <template_file_path>
run
Criar e executar uma imagem possivelmente replicada. Criar uma configuração de deployment para gerenciar os containers que foram criados. Você pode escolher executar interativamente durante a execução de um container.
$ oc run NAME --image=<image> [--port=<port>] [--replicas=<replicas>] [--dry-run=<bool>] [--overrides=<incline-json>] [options]
export
Exporta recursos para ser usado em outros lugares:
$ oc export <object_type> [--options]
policy
$ oc policy [--options]
secrets
Configura secrets:
$ oc secrets [--options] path/to/ssh_key
autoscale
Configura um autoscaler para sua aplicação.
$ oc autoscale dc/<dc_name> [--options]
Operações de Debugging e Troubleshooting
logs
Exibe o log de um especifico build, deployment ou pod. Este comando funciona para builds, build configurations, deployment configurations e pods.
$ oc logs -f <pod_name>
exec
Executa um comando no container sendo executado atualmente. Você pode opcionalmente especificar um container ID, se não ele vai utilizar o primeiro container.
$ oc exec <pod_ID> [-c <container_ID>] <command>
rsh
Abre uma sessão remota no shell em um container:
$ oc rsh <pod_ID>
rsync
Faz a cópia de um diretório local para um diretório no pod que já esta sendo executado, se nenhum for especificado, o primeiro container será o default.
$ oc rsync <local_dir> <pod_ID>:<pod_dir> -c <container_ID>
port-forward
Faz o forward de uma ou mais portas locais para um pod:
$ oc port-forward <pod_ID> <first_port_ID> <second_port_ID>
proxy
Definir um proxy para o servidor de API do Kubernetes:
$ oc proxy --port=<port_ID> --www=<static_directory>
![]() |
|
Comentários
0 comentário
Por favor, entre para comentar.