De modo a aproveitar melhor os recursos que a plataforma pode oferecer, disponibilizamos uma nova imagem de CRON, passando a se chamar CROND.
td;tr
"Esta imagem utiliza o recurso 'ConfigMap' para inserir dados dentro de uma imagem, criando um 'Job' de acordo com a periodicidade escolhida este processo inicia uma imagem do container escolhida e executa o comando configurado e após essa execussão o container é terminado, poupando assim recursos"
Passo-a-passo
- No painel, escolha a aplicação "CROND"
- Preencha os dados
- Nome da Aplicação.
- Periodicidade, segue o mesmo padrão do crontab.
- Este é o comando que será executado dentro do container, por exemplo:
- php meu_script.php
- bash meuscript.sh - Registry, já vem preenchido por padrão.
- Namespace ou Nome do Projeto em que está criando o agendamento.
- Nome da Imagem que será utilizada, caso vá utilizar uma de sua aplicação, ela tem o mesmo nome da aplicação.
- Tag da imagem, por padrão "Latest", mas caso deseje colocar uma tag em uma imagem pode utiliza-la aqui.
A partir deste ponto precisará utilizar o Openshift CLI
- Dê permissão para que o usuário de sistema "CRON" execute a criação dos Jobs e Pods:
$ oc policy add-role-to-user edit -z cron
- Caso sua aplicação necessite você poderá exportar variáveis de ambiente editando o "ConfigMap", cuidado para não remover envs utilizadas pelo sistema.
$ oc edit configmap/<NomeDaAplicação>-jobs
- Caso necessite você pode alterar a periodicidade do agendamento no "ConfigMap":
$ oc edit configmap/<NomeDaAplicação>-config
- Para aplicar as alterações é necessário fazer um novo deploy:
$ oc rollout latest <NomeDaAplicação>
- Para verificar os logs
$ oc get pods | grep -i <NomeDaAplicação>
Assim pode pegar o ID do POD mais recente e então ver os logs
$ oc logs <IDdoPOD>
Caso queira saber ainda mais sobre essa função, gravamos um webinar sobre ele neste link.
Observação: Criamos por padrão um outro container que a cada 5 minutos remove Jobs com mais de 1 hora.
Comentários
0 comentário
Por favor, entre para comentar.