Gerir serviços

Esta página descreve a criação de um serviço e a visualização de informações sobre um serviço. Os serviços são os principais recursos do Knative Serving.

Criar um serviço

Cria um novo serviço e a respetiva revisão implementando uma imagem de contentor no mesmo pela primeira vez. Consulte o artigo Implementar um novo serviço para saber mais sobre a criação de serviços.

Ver a lista de serviços no seu projeto

Pode ver uma lista dos serviços disponíveis no seu projeto através da Google Cloud consola ou da CLI do Google Cloud:

Consola

Para ver a lista de serviços:

  1. Aceda ao Knative serving na Google Cloud consola:

    Aceda ao Knative serving

  2. Examine a lista de serviços apresentada para o seu projeto:

Linha de comandos

Para listar os serviços no seu projeto:

gcloud run services list

Pode filtrar esta lista por propriedades da definição de serviço, como uma etiqueta atribuída.

Copiar um serviço

Pode fazer uma cópia de um serviço existente através da Google Cloud consola ou do YAML. Pode alterar o que quiser na cópia, incluindo o nome e a região.

Consola

Para copiar um serviço:

  1. Aceda ao Knative serving na Google Cloud consola:

    Aceda ao Knative serving

  2. Selecione o serviço a copiar na lista de serviços apresentada para o seu projeto:

    1. Clique em Copiar.

    2. Na página de cópia do serviço, defina ou altere os valores que quer alterar, como a região, etc. Se mantiver a mesma região, tem de indicar um novo nome para o serviço.

    3. Clique em Criar para fazer uma cópia e implementá-la com o novo nome do serviço.

YAML

Pode transferir a configuração de um serviço existente para um ficheiro YAML com o comando gcloud run services describe usando a flag --format=export. Em seguida, pode modificar esse ficheiro YAML e implementar essas alterações com o comando gcloud run services replace. Tem de garantir que modifica apenas os atributos especificados.

  1. Transfira a configuração do seu serviço para um ficheiro denominado service.yaml no espaço de trabalho local:

    gcloud run services describe SERVICE --format export > service.yaml

    Substitua SERVICE pelo nome do seu serviço de fornecimento do Knative.

  2. Faça as alterações de configuração desejadas ao serviço, conforme descrito nas várias páginas de configuração.

     apiVersion: serving.knative.dev/v1
     kind: Service
     metadata:
       annotations:
         ...
       name: SERVICE
       ...
     spec:
       template:
         metadata:
           annotations:
           ...
           name: REVISION-NAME
    
    • Se estiver a implementar a cópia no mesmo cluster do Kubernetes, substitua SERVICE pelo nome que quer usar para a cópia. Se estiver a implementar a cópia num cluster do Kubernetes diferente, pode usar o mesmo nome.

    • Certifique-se de que o valor de REVISION-NAME começa com o nome do serviço (SERVICE). Por exemplo, se o novo nome do serviço for mynewfoo, o nome da revisão tem de estar no formato mynewfoo-whatever. Opcionalmente, elimine o valor por completo e é criado automaticamente um novo nome de revisão.

  3. Copie o serviço através do seguinte comando:

    gcloud run services replace service.yaml

    Use a flag --region para implementar a cópia numa região diferente.

Ver mais detalhes sobre um serviço

Para ver mais detalhes sobre um serviço:

Consola

Para ver os detalhes de um serviço:

  1. Aceda ao Knative serving na Google Cloud consola:

    Aceda ao Knative serving

  2. Clique no serviço pretendido na lista de serviços apresentada para o seu projeto para abrir a vista de detalhes do serviço:

  3. Tenha em atenção os separadores REVISÕES, REGISTOS e DETALHES. O separador Revisões mostra a lista de revisões, o separador Registos mostra os registos de serviços e o separador Detalhes mostra as definições de autenticação ou conetividade atuais.

Linha de comandos

Para ver detalhes sobre um serviço:

gcloud run services describe SERVICE
Substitua SERVICE pelo nome do serviço.

Pode usar a flag --format para formatar a saída. Por exemplo, como YAML:

gcloud run services describe SERVICE --format yaml

Pode usar --format export para exportar como YAML sem etiquetas ou estado gerados automaticamente:

gcloud run services describe SERVICE --format export

Também pode usar a flag --format para obter o URL do serviço:

gcloud run services describe SERVICE --format='value(status.url)'

Para ver detalhes sobre as revisões de um serviço, consulte o artigo Gerir revisões.

Alterar as definições de conetividade do serviço

Um serviço de publicação do Knative pode ter uma das duas opções de ligação:

  • externo, que permite o acesso externo ao seu serviço

  • internal, que restringe o acesso apenas a outros serviços no seu cluster.

Pode usar a consola ou a Google Cloud CLI para alterar as definições.

Consola

Para alterar as definições de conetividade do serviço:

  1. Aceda ao Knative serving na Google Cloud consola:

    Aceda ao Knative serving

  2. Clique no serviço pretendido na lista de serviços apresentada para o seu projeto para abrir a vista de detalhes do serviço.

  3. Clique no separador Acionadores.

  4. Selecione a definição pretendida e clique em Guardar.

Linha de comandos

Para alterar as definições de conetividade do serviço, atualize o serviço com a definição de conetividade pretendida:

gcloud run services update [SERVICE] --connectivity=[OPTION]
  • Substitua [SERVICE] pelo nome do serviço que está a atualizar. Pode omitir este parâmetro na íntegra, mas é-lhe pedido o nome do serviço se o omitir.

  • Substitua [OPTION] por internal ou external.

Eliminar serviços existentes

A eliminação de um serviço elimina todos os recursos relacionados com este serviço, incluindo todas as revisões deste serviço, quer estejam a publicar tráfego ou não.

Quando elimina um serviço, as imagens de contentores usadas pelas revisões eliminadas não são eliminadas automaticamente do Container Registry. Para eliminar imagens de contentores do Container Registry, consulte o artigo Eliminar imagens.

Tenha em atenção que a eliminação de um serviço é definitiva: não existe a opção de anular ou restaurar. No entanto, se, após eliminar um serviço, implementar um novo serviço com o mesmo nome no mesmo cluster, este terá o mesmo URL do ponto final.

Consola

Para eliminar um serviço:

  1. Aceda ao Knative serving na Google Cloud consola:

    Aceda ao Knative serving

  2. Localize o serviço que quer eliminar na lista de serviços e clique na caixa de verificação para o selecionar.

  3. Clique em ELIMINAR. Esta ação elimina todas as revisões do serviço.

Linha de comandos

Para eliminar um serviço, use o comando:

gcloud run services delete [SERVICE]

Substitua [SERVICE] pelo nome do seu serviço.