Nesta página, descrevemos a criação de um serviço e a visualização de informações sobre ele. Os serviços são os principais recursos do Cloud Run. Cada serviço tem um URL exclusivo e permanente que não mudará ao longo do tempo à medida que você implantar novas revisões nele.
O domínio permanente do serviço consiste no nome do serviço e em um hash.
Funções exigidas
Se quiser ter as permissões necessárias para gerenciar os serviços e as revisões do Cloud Run,
peça ao administrador para conceder a você o
Desenvolvedor do Cloud Run (roles/run.developer
) do IAM no serviço do Cloud Run.
Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se o serviço do Cloud Run interage com as APIs do Google Cloud, como as bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.
criar um serviço;
Você cria um novo serviço por meio da implantação de uma imagem de contêiner para ele pela primeira vez. A implantação de um novo serviço tem mais instruções.
Como ver a lista de serviços no projeto
É possível ver uma lista dos serviços disponíveis no projeto usando o console do Google Cloud ou a linha de comando gcloud:
Console
Para visualizar a lista de serviços, realize as etapas a seguir:
Examine a lista de serviços exibidos para seu projeto:
gcloud
Para listar os serviços no projeto, use este código:
gcloud run services list
Observe que cada serviço tem um URL associado.
É possível filtrar essa lista por propriedades da definição de serviço, como um rótulo atribuído.
Cloud Code
Para ver a lista de serviços com o Cloud Code, leia os guias do explorador do Cloud Run para IntelliJ e Visual Studio Code.
Bibliotecas de cliente
Para conferir a lista de serviços no código:
API REST
Para visualizar a lista de serviços no projeto, envie uma solicitação HTTP GET
ao endpoint service
da API Cloud Run Admin.
Por exemplo, usando curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services
Substitua:
- ACCESS_TOKEN por um token de acesso válido para uma conta com as permissões do IAM para visualizar serviços.
Por exemplo, se você fez login no gcloud, é possível recuperar um
token de acesso usando
gcloud auth print-access-token
. Em uma instância de contêiner do Cloud Run, é possível recuperar um token de acesso por meio do servidor de metadados da instância de contêiner. - REGION pela região do Google Cloud do serviço.
- PROJECT-ID pelo ID do projeto do Google Cloud.
Copiar um serviço
É possível fazer uma cópia de um serviço atual usando o console do Google Cloud ou o YAML. Você pode alterar o que quiser na cópia, incluindo o nome e a região.
Console
Para copiar um serviço:
Selecione o serviço a ser copiado na lista exibida de serviços do seu projeto:
Clique em Copiar.
Na página de cópia do serviço, defina ou altere os valores que você quer alterar, como região etc. Se você mantiver a mesma região, forneça um novo nome para o serviço.
Clique em Criar para fazer uma cópia e implantá-la usando o novo nome de serviço.
YAML
Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço atual, faça o download da configuração YAML correspondente:
gcloud run services describe SERVICE --format export > service.yaml
Faça as alterações de configuração desejadas no serviço.
apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: ... name: SERVICE ... spec: template: metadata: annotations: ... name: REVISION
- Se você não for implantar a cópia em uma região diferente, substitua SERVICE pelo nome que você quer usar para a cópia. Se você for implantar a cópia em uma região diferente, poderá usar o nome antigo.
- Substitua REVISION por um novo nome de revisão ou exclua-o (se houver). Se você fornecer um novo nome de revisão, ele precisará atender aos seguintes critérios:
- Começa com
SERVICE-
- Contém apenas letras minúsculas, números e
-
- Não termina com um
-
- Não excede 63 caracteres
- Começa com
Copie o serviço usando o seguinte comando:
gcloud run services replace service.yaml
Use a sinalização
--region
para implantar a cópia em uma região diferente.
Acessar mais detalhes sobre um serviço
A seguir, saiba como ver mais detalhes sobre um serviço.
Console
Para ver os detalhes de um serviço, realize as etapas a seguir:
Clique no serviço que você quer na lista exibida para abrir a visualização de detalhes do serviço.
gcloud
Para ver detalhes sobre um serviço:
gcloud run services describe SERVICESubstitua SERVICE pelo nome do serviço.
É possível usar a sinalização --format
para formatar a saída. Por exemplo, como YAML:
gcloud run services describe SERVICE --region REGION --format yaml
Substitua:
- SERVICE pelo nome do serviço;
- REGION pela região do Google Cloud do serviço.
É possível usar --format export
para exportar como YAML sem rótulos
ou status gerados automaticamente:
gcloud run services describe SERVICE --region REGION --format export
Também é possível usar a sinalização --format
para
ver o URL do serviço:
gcloud run services describe SERVICE --region REGION --format='value(status.url)'
Cloud Code
Para ver os detalhes de um serviço com o Cloud Code, leia os guias do explorador do Cloud Run para IntelliJ e Visual Studio Code.
Para mais detalhes sobre revisões de serviço, consulte Como gerenciar revisões.
Bibliotecas de cliente
Para conferir detalhes sobre um serviço usando o código:
API REST
Para visualizar detalhes sobre um serviço, envie uma solicitação HTTP GET
ao endpoint service
da API Cloud Run Admin.
Por exemplo, usando curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME
Substitua:
- ACCESS_TOKEN por um token de acesso válido para uma conta com as permissões do IAM para visualizar detalhes do serviço.
Por exemplo, se você fez login no gcloud, é possível recuperar um
token de acesso usando
gcloud auth print-access-token
. Em uma instância de contêiner do Cloud Run, é possível recuperar um token de acesso por meio do servidor de metadados da instância de contêiner. - SERVICE-NAME pelo nome do serviço;
- REGION pela região do Google Cloud do serviço.
- PROJECT-ID pelo ID do projeto do Google Cloud.
Desativar um serviço existente
Para receber as permissões necessárias para desativar um serviço e revisão do Cloud Run,
peça ao administrador para conceder a você o
Administrador do Cloud Run (roles/run.admin
)
O Cloud Run não oferece uma maneira direta de fazer um serviço
parar de disponibilizar tráfego, mas é possível alcançar um resultado semelhante ao revogar a permissão para invocar o serviço
das identidades que o invocam. Se o serviço for "public",
remova allUsers
do papel Chamador do Cloud Run (roles/run.invoker
).
Excluir serviços
As considerações a seguir se aplicam à exclusão de um serviço:
- A exclusão de um serviço exclui todos os recursos relacionados a ele, incluindo todas as revisões, sem importar se estão ou não processando tráfego.
- A exclusão de um serviço não remove automaticamente as imagens de contêiner do Container Registry. Para excluir imagens de contêiner usadas pelas revisões excluídas do Container Registry, consulte Como excluir imagens.
- A exclusão de um serviço com um ou mais acionadores do Eventarc não exclui automaticamente esses acionadores. Para excluí-los, consulte Gerenciar acionadores.
- Após a exclusão, o serviço permanece visível no Console do Google Cloud e na interface de linha de comando até que a exclusão seja totalmente concluída. No entanto, não é possível atualizar o serviço.
A exclusão de um serviço é permanente: não há como desfazer ou restaurar. No entanto, se após a exclusão de um serviço você implantar um novo com o mesmo nome na mesma região, ele terá o mesmo URL do endpoint.
Console
Para excluir um serviço, realize as etapas a seguir:
Localize o serviço que você quer excluir na lista de serviços e clique na caixa de seleção para marcá-lo.
Clique em EXCLUIR. Isso exclui todas as revisões do serviço.
gcloud
Para excluir um serviço, use o comando:
gcloud run services delete SERVICE --region REGION
Substituir
- SERVICE pelo nome do serviço;
- REGION pela região do Google Cloud do serviço.
Bibliotecas de cliente
Para excluir um serviço do código:
API REST
Para excluir um serviço, envie uma solicitação HTTP DELETE
ao endpoint service
da API Cloud Run Admin.
Por exemplo, usando curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X DELETE \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME
Substitua:
- ACCESS_TOKEN por um token de acesso válido para uma conta com as permissões do IAM para excluir um serviço.
Por exemplo, se você fez login no gcloud, é possível recuperar um
token de acesso usando
gcloud auth print-access-token
. Em uma instância de contêiner do Cloud Run, é possível recuperar um token de acesso por meio do servidor de metadados da instância de contêiner. - SERVICE-NAME pelo nome do serviço;
- REGION pela região do Google Cloud do serviço.
- PROJECT-ID pelo ID do projeto do Google Cloud.