Criando uma tarefa por meio das imagens no IBM Cloud Container Registry
Crie sua configuração de tarefa que use uma imagem no IBM Cloud® Container Registry. É possível criar uma tarefa por meio do console ou com a CLI.
Antes de Iniciar
-
Deve-se ter uma imagem no Container Registry. Para obter mais informações, consulte Introdução ao Container Registry. Ou, é possível construir uma imagem por meio da origem do repositório ou da origem do local.
-
Verifique se é possível acessar o registro. Consulte Configurando autoridades para registros de contêiner.
Gostaria de configurar seu projeto de forma que todos os usuários possam armazenar e acessar imagens no Container Registry sem precisar criar manualmente segredos de registro? Com permissões suficientes, é possível configurar esse acesso de registro padrão por local (região). Se você não tiver permissões suficientes para executar essas ações, será possível usar essa página para ajudar a entender as permissões necessárias. Consulte Definindo Configurações do Projeto.
Criando uma tarefa que referencia uma imagem no Container Registry com o console
Crie uma configuração de tarefa que use uma imagem no Container Registry usando o console do Code Engine.
O Code Engine pode extrair imagens automaticamente de um namespace do Container Registry em sua conta. Para extrair imagens de uma conta Container Registry diferente ou de uma conta privada do Docker Hub, veja Criar um tarefa por meio de imagens em um registro privado.
- Abra o console Code Engine.
- Selecione “Começar a criar ”.
- Selecione um projeto na lista de projetos disponíveis. Também é possível criar um novo. Observe que deve-se ter um projeto selecionado para criar uma tarefa.
- Selecione Tarefa.
- Insira um nome para a tarefa, por exemplo,
myjob. - Selecione “Usar uma imagem de contêiner existente ” e clique em “Configurar imagem ”.
- Selecione um local de registro de contêineres, como
IBM Registry Dallas. - Selecione
Code Engine managed secretpara Segredo de registro Como este exemplo utiliza uma imagem no namespace Container Registry da sua conta, o Code Engine pode criar e gerenciar automaticamente o segredo de registro para você. - Selecione um espaço de nomes e nome existentes da imagem no registro para a tarefa do Code Engine para referência. Por exemplo, selecione
mynamespacee selecione a imagemhello_reponesse namespace. - Selecione um valor para Tag; por exemplo,
latest. - Clique em Pronto.
- Modifique os valores padrão de variáveis de ambiente ou configurações de tempo de execução. Para obter mais informações sobre essas opções, consulte Opções para criar e executar uma tarefa.
- Na página Criar tarefa, clique em Criar.
- Após a sua tarefa ser criada, a página de tarefa para a sua tarefa específica é aberta. Na sua página de tarefa, clique em Enviar tarefa para enviar uma tarefa com base na configuração atual.
Agora que você criou sua tarefa e a executou, é possível visualizar detalhes sobre sua configuração de tarefa e execuções de tarefa por meio da página da tarefa.
Se você deseja incluir acesso de registro antes de criar uma tarefa, consulte Acessando registros de contêiner.
Criando uma tarefa com uma imagem no Container Registry com a CLI
Crie uma configuração de tarefa que use uma imagem no IBM Cloud® Container Registry com a CLI, use o comando job create. Para obter uma listagem completa de opções, consulte o comando ibmcloud ce job create.
Antes de Iniciar
- Configure o seu ambiente da CLI do Code Engine.
- Criar e trabalhar com um projeto.
- Antes de poder trabalhar com uma tarefa do Code Engine que referencia uma imagem no Container Registry, primeiro deve-se incluir o acesso no registro para que o Code Engine possa extrair a imagem quando a tarefa for executada. Para obter informações sobre permissões necessárias para acessar registros de imagens, consulte Configurando autoridades para registros de imagens.
-
Para incluir acesso ao Container Registry, crie uma chave de API do IAM. Para criar uma chave de API do IBM Cloud IAM por meio da CLI, execute o comando
iam api-key-create. Por exemplo, para criar uma chave de API chamadacliapikeycom a descriçãoMy CLI API keye salvá-la em um arquivo chamadokey_file, execute o seguinte comando:ibmcloud iam api-key-create cliapikey -d "My CLI API key" --file key_fileSe você optar por não salvar sua chave em um arquivo, deverá registrar a chave de API que é exibida ao criá-la. Não será possível recuperá-la mais tarde.
-
Depois de criar sua chave de API, inclua o acesso de registro no Code Engine. Para incluir acesso ao Container Registry com a CLI, use o comando
ibmcloud ce secret create --format registrypara criar um segredo de registro. Por exemplo, o comando a seguir cria um acesso no Registro para uma instância do Container Registry chamadamyregistry. Observe que mesmo que as opções--servere--usernamesejam especificadas no comando de exemplo, o valor padrão da opção--serverseráus.icr.ioe a opção--usernameserá padronizada comoiamapikeyquando o servidor forus.icr.io.ibmcloud ce secret create --format registry --name myregistry --server us.icr.io --username iamapikey --password APIKEYSaída de exemplo
Creating registry secret 'myregistry'... OK -
Crie sua configuração de tarefa e referencie a imagem
hello_repono Container Registry. Por exemplo, o comandojob createa seguir cria a tarefamyhellojobpara referenciar ous.icr.io/mynamespace/hello_repousando as informações de acesso demyregistry.ibmcloud ce job create --name myhellojob --image us.icr.io/mynamespace/hello_repo --registry-secret myregistryO formato do nome da imagem para essa tarefa é
REGISTRY/NAMESPACE/REPOSITORY:TAGno qualREGISTRYeTAGsão opcionais. SeREGISTRYnão for especificado, o padrão serádocker.io. SeTAGnão for especificado, o padrão serálatest.
Próximas etapas
-
Depois de criar sua tarefa, envie-a para executá-la. Consulte Executar uma tarefa. É possível executar sua tarefa várias vezes.
-
Depois de executar sua tarefa, para visualizar detalhes da sua tarefa e das execuções de tarefa, consulte Acessar detalhes da tarefa.
-
Agora que sua tarefa foi criada, considere tornar suas tarefas orientadas para evento. Ao usar assinaturas de evento, é possível acionar suas tarefas por meio de planejamentos periódicos ou configurar sua tarefa para reagir a eventos como uploads de arquivo.
-
É possível atualizar sua tarefa e seu código referenciado de qualquer uma das maneiras a seguir, independentemente de como você criou ou atualizou previamente a sua tarefa.
-
Se você tiver uma imagem de contêiner, de acordo com o padrão da Open Container Initiative(OCI), basta fornecer apenas uma referência à imagem, que aponte para o local do seu registro de contêineres ao criar (ou atualizar) sua tarefa. Você pode criar (ou atualizar) seu trabalho a partir de imagens em um registro público ou privado e, em seguida, acessar a imagem referenciada durante a execução do seu trabalho.
Se você criou o seu job usando o comando
job createe especificou a opção--build-sourcepara construir a imagem do container a partir de origem local ou repositório, e deseja alterar o seu job para apontar para uma imagem de container diferente, deve-se primeiro remover a associação da construção a partir do seu job. Por exemplo, executeibmcloud ce job update -n JOB_NAME --build-clear. Depois de remover a associação da construção a partir do seu trabalho, você pode atualizar o trabalho para referencia uma imagem diferente. -
Se você está começando com código-fonte que reside em um repositório Git, é possível optar por deixar que o Code Engine cuide da construção da imagem por meio de sua origem e implemente (ou atualize) o app com uma operação única. Neste cenário, o Code Engine faz upload da sua imagem para o IBM Cloud® Container Registry. Para saber mais, consulte Criando uma tarefa por meio do código-fonte do repositório. Se você quiser mais controle sobre a construção da sua imagem, poderá optar por construir a imagem com o Code Engine antes de criar (ou atualizar) sua tarefa e executá-la.
-
Se você está começando com código-fonte que reside em uma estação de trabalho local, é possível optar por deixar que o Code Engine cuide da construção da imagem por meio de sua origem e da criação da tarefa com um comando da CLI único. Neste cenário, o Code Engine faz upload da sua imagem para o IBM Cloud® Container Registry. Para saber mais, consulte Criando sua tarefa por meio do código-fonte local com a CLI. Se você quiser mais controle sobre a construção da sua imagem, poderá optar por construir a imagem com o Code Engine antes de criar (ou atualizar) sua tarefa e executá-la.
Por exemplo, você pode optar por deixar que o Code Engine cuide da construção de sua origem local enquanto você cuida do desenvolvimento de sua origem para a tarefa. Em seguida, após o amadurecimento da imagem, é possível atualizar a tarefa para referenciar a imagem específica que desejar. É possível repetir esse processo conforme necessário.
Ao executar sua tarefa atualizada, a versão mais recente de sua imagem de contêiner referenciada é usada para a execução da tarefa, a menos que uma tag seja especificada para a imagem. Se uma tag for especificada para a imagem, a imagem marcada será usada para a execução da tarefa.
-
Procurando mais exemplos de código? Confira os exemplos no repositório “ IBM Cloud Code Engine ” GitHub.