Saiba como configurar a porta do contêiner e o comando e os argumentos do ponto de entrada do contêiner.
Quando o serviço Knative inicia um contêiner, ele executa o comando
de ponto de entrada padrão
e os argumentos de comando padrão da imagem. Se você quiser
modificar os argumentos de comando e o ponto de entrada padrão da imagem, use os
campos command
e args
na configuração do contêiner. O campo command
especifica o comando real executado pelo contêiner. O campo args
especifica
os argumentos transmitidos para esse comando.
Como configurar a porta do contêiner
Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também recebem automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.
O contêiner precisa detectar a porta definida pela variável de ambiente PORT
em vez de uma porta codificada específica.
No entanto, se isso não for possível, configure quais solicitações de porta serão enviadas para o contêiner:
Console
Acesse o Knative serving no console do Google Cloud:
Clique em Criar serviço se estiver configurando um novo serviço em que fará uma implantação. Se você estiver configurando um serviço atual, clique nele e em Editar e implantar uma nova revisão.
Em Configurações avançadas, clique em Contêiner.
Especifique a porta em que você quer que as solicitações sejam enviadas, se não for o valor padrão de
8080
. Isso também define a variável de ambientePORT
.Clique em Avançar para acessar a próxima seção.
Na seção Configurar como este serviço é acionado, selecione qual conectividade você quer usar para invocar o serviço.
Clique em Criar para implantar a imagem no Knative serving e aguarde até que a implantação seja concluída.
Linha de comando
Para serviços existentes, atualize uma configuração de porta executando o comando
gcloud run services update
com os parâmetros a seguir:gcloud run services update SERVICE --port PORT
Substitua:
- SERVICE pelo nome do serviço;
- PORT pela porta para enviar solicitações. Observe que a porta padrão é
8080
.
Para novos serviços, defina a porta executando o comando
gcloud run deploy
com o parâmetro--port
:gcloud run deploy SERVICE --image=IMAGE_URL --port PORT
Substitua:
- SERVICE pelo nome do serviço;
- IMAGE_URL por uma referência à imagem de contêiner. Por
exemplo,
gcr.io/cloudrun/hello
; - PORT pela porta para a qual você quer enviar solicitações. A
porta padrão é
8080
.
YAML
Faça o download da configuração de um serviço existente para um
arquivo YAML com o comando gcloud run services describe
usando a
sinalização --format=export
.
Em seguida, modifique o arquivo YAML e implante
essas alterações com o comando gcloud run services replace
.
Modifique apenas os atributos especificados.
Faça o download da configuração do serviço em um arquivo chamado
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 do Knative serving.
No seu arquivo local, atualize o atributo
containerPort:
:apiVersion: serving.knative.dev/v1 kind: Service spec: template: spec: containers: - image: IMAGE_URL ports: - containerPort: PORT
Substituir
- IMAGE_URL por uma referência à imagem de contêiner. Por
exemplo,
gcr.io/cloudrun/hello
; - PORT pela porta para a qual você quer enviar solicitações.
- IMAGE_URL por uma referência à imagem de contêiner. Por
exemplo,
Substitua o serviço pela nova configuração usando o seguinte comando:
gcloud run services replace service.yaml
Como configurar o comando e os argumentos do ponto de entrada do contêiner
Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também recebem automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.
Quando o Knative serving inicia um contêiner, ele executa o comando
de ponto de entrada padrão da imagem.
Para especificar ou substituir o comando e os argumentos de ponto de entrada atuais que são
definido na imagem do contêiner, é possível configurar command
e args
nas configurações do contêiner do Knative serving.
É possível configurar comandos de ponto de entrada, argumentos ou ambos. O comando especificado no Knative serving substitui qualquer comando de ponto de entrada definido na imagem do contêiner. Se você optar por especificar apenas os argumentos, esses argumentos serão transmitidos e executados pelo comando entrypoint definido na imagem do contêiner.
No fornecimento do Knative, é possível configurar comandos e argumentos de ponto de entrada usando o console do Google Cloud, a CLI do Google Cloud ou um arquivo YAML ao implantar um novo serviço, atualizar um serviço atual ou implantar uma revisão:
Console
Acesse o Knative serving no console do Google Cloud:
Clique em Criar serviço se estiver configurando um novo serviço em que fará uma implantação. Se você estiver configurando um serviço atual, clique nele e em Editar e implantar uma nova revisão.
Em Configurações avançadas, clique em Contêiner.
Especifique o comando entrypoint e os argumentos que você quer que o contêiner execute durante a inicialização.
Clique em Avançar para acessar a próxima seção.
Na seção Configurar como este serviço é acionado, selecione qual conectividade você quer usar para invocar o serviço.
Clique em Criar para implantar a imagem no Knative serving e aguarde até que a implantação seja concluída.
Linha de comando
Opções de parâmetros de comando
-
Para especificar um argumento que contenha uma vírgula (
,
), escape cadaARG
com um delimitador diferente. Por exemplo, se você usar@
:--args "^@^arg,with,commas@anotherarg@ARG3..."
-
Para especificar vários conjuntos de pares de chave-valor, é
possível especificar vários parâmetros de legibilidade. Exemplo:
[...] --args "
ARG
1" \ --args "ARG
2" \ --args "ARG
3" -
Para usar sinais de igual (
=
) nos argumentos, é preciso especificar cada argumento usando o seguinte formato:gcloud run services ... \ --args "--repo-allowlist=github.com/example/example_demo" \ --args "--gh-webhook-secret=XX"
Para serviços atuais, atualize o comando entrypoint executando o comando
gcloud run services update
com os seguintes parâmetros:gcloud run services update SERVICE --command COMMAND --args ARG1,ARG2,ARG-N
Substitua:
- SERVICE pelo nome do serviço;
- Opcional: COMMAND com o comando que você quer que o contêiner seja executado durante a inicialização.
- Opcional: ARG1 com um ou mais argumentos para o comando que é executado durante a inicialização. Use uma lista delimitada por vírgulas para vários argumentos. Como formatar seus argumentos.
Para novos serviços, defina o comando entrypoint executando o comando
gcloud run deploy
com o parâmetro--command
:gcloud run deploy SERVICE --image=IMAGE_URL --command COMMAND --args ARG1,ARG2,ARG-N
Substitua:
- SERVICE pelo nome do serviço;
- IMAGE_URL por uma referência à imagem de contêiner. Por
exemplo,
gcr.io/cloudrun/hello
; - Opcional: COMMAND com o comando que você quer que o contêiner seja executado durante a inicialização.
- Opcional: ARG1 com um ou mais argumentos para o comando que é executado durante a inicialização. Use uma lista delimitada por vírgulas para vários argumentos. Como formatar seus argumentos.
YAML
Faça o download da configuração de um serviço existente para um
arquivo YAML com o comando gcloud run services describe
usando a
sinalização --format=export
.
Em seguida, modifique o arquivo YAML e implante
essas alterações com o comando gcloud run services replace
.
Modifique apenas os atributos especificados.
Faça o download da configuração do serviço em um arquivo chamado
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 Knative serving.
No seu arquivo local, atualize os atributos
command
eargs
:apiVersion: serving.knative.dev/v1 kind: Service spec: template: spec: containers: - image: IMAGE_URL command: - COMMAND args: - "ARG1" - "ARG-N"
Substitua:
- IMAGE_URL por uma referência à imagem de contêiner. Por
exemplo,
gcr.io/cloudrun/hello
; - Opcional: COMMAND com o comando que você quer que o contêiner seja executado durante a inicialização.
- Opcional: ARG1 com um ou mais argumentos para o comando que é executado durante a inicialização. Use uma lista delimitada por vírgulas para mais de um argumento.
- IMAGE_URL por uma referência à imagem de contêiner. Por
exemplo,
Substitua o serviço pela nova configuração usando o seguinte comando:
gcloud run services replace service.yaml