Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Deploying a serverless application using Knative on ASM

Última atualização: Nov 02, 2026

O Service Mesh (ASM) se integra aos recursos do Knative Serving do Service Mesh e aos Service Mesh s para simplificar a implantação e o gerenciamento de Service Mesh s em diversos ambientes de Service Mesh. Isso melhora a eficiência do desenvolvimento e aumenta a resiliência dos negócios, permitindo que você implante e escale Service Mesh s de forma rápida e flexível. Este tópico descreve como criar um Knative Service usando o Knative no ASM.

Pré-requisitos

  • Crie uma instância do ASM da versão 1.16.3.50 ou posterior e adicione um cluster ACK ou um ACK Serverless cluster à instância. Para mais informações, consulte {{XREF_0}} e {{XREF_1}}.

    Importante
    • Ao criar uma instância do ASM, selecione Allow data plane cluster KubeAPI to access Istio CR na seção Resource configuration. Essa opção, selecionada por padrão, permite acessar os recursos do Istio por meio da API do Kubernetes dos clusters no plano de dados.

    • Ative o servidor de API público no cluster ACK ou ACK Serverless cluster de destino para garantir um acesso rápido.

    • A instância do ASM e o cluster ACK ou ACK Serverless cluster devem estar na mesma VPC e região, além de usar o mesmo vSwitch.

  • Adicione um gateway de entrada ao cluster. Este exemplo usa um gateway de entrada do ASM. Para mais informações, consulte {{XREF_2}}.

    Nota
    • Para instâncias do ASM da versão 1.21.6.84 ou posterior, não é necessário criar manualmente um gateway de entrada.

    • O gateway do ASM oferece suporte à distribuição de tráfego para Knative Revisions, gRPC services, tempos limite e tentativas, certificados TLS, além de autenticação e autorização externas. Para mais informações, consulte {{XREF_3}}.

Etapa 1: Instalar o Knative

Versões anteriores à 1.18.2.104

  1. Implante o componente Knative Serving no seu cluster ACK ou ACK Serverless. Para o Gateway, selecione Kourier.

    • Para mais informações sobre como instalar o Knative no ACK, consulte {{XREF_4}}.

    • Para mais informações sobre como instalar o Knative no ACK Serverless, consulte {{XREF_5}}.

      Importante

      Após a instalação do componente, clique em Components. Na seção Add-on Component, desinstale o componente Kourier.

  2. Acesse o console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

  3. Na página Mesh Management, clique no nome da instância do ASM. No painel de navegação à esquerda, escolha Ecosystem > Knative on ASM.

  4. Na página Knative on ASM, clique em Enable Knative on ASM.

Versões da 1.18.2.104 à 1.21.6.83

  1. Acesse o console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

  2. Na página Mesh Management, clique no nome da instância do ASM. No painel de navegação à esquerda, escolha Ecosystem > Knative on ASM.

  3. Na página Knative on ASM, selecione a versão necessária do Knative e clique em Enable Knative on ASM.

  4. Implante o Knative no seu cluster ACK ou ACK Serverless. Para o Gateway, selecione ASM.

    • Para mais informações sobre como instalar o Knative no ACK, consulte {{XREF_6}}.

    • Para mais informações sobre como instalar o Knative no ACK Serverless, consulte {{XREF_7}}.

Versões 1.21.6.84 e posteriores

Importante

Para instâncias do ASM da versão 1.21.6.84 ou posterior, não é necessário ativar o Knative no ASM pelo console do ASM.

  1. Acesse o console do ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Applications > Knative.

  3. Na página Knative, acesse a aba Components e clique em Deploy Knative. Selecione ASM para o Gateway e clique em Deploy.

    Após a conclusão bem-sucedida da implantação, você pode usar o Service Mesh (ASM) no Knative.

    Nota

    Após a conclusão da implantação, certifique-se de que o gateway de entrada foi criado e está em execução adequada antes de implantar um Knative Service.

Etapa 2: Implantar um Knative Service

O Knative no ASM permite implantar um Knative Service usando o console do ACK ou um arquivo de configuração YAML. Escolha o método de acordo com as suas necessidades.

Método 1: Console do ACK

  1. Acesse o console do ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Applications > Knative.

  3. Na página Knative, clique em Services. No canto superior direito, clique em Create Service. Configure os parâmetros e clique em Create.

    Para mais informações sobre os parâmetros, consulte {{XREF_8}}.

    Parâmetro

    Descrição

    Exemplo

    Namespace

    Selecione o namespace ao qual o service pertence.

    default

    Service Name

    Insira um nome personalizado para o service.

    helloworld-go

    Image Name

    Clique em Select Image, selecione a imagem desejada e clique em OK. Você também pode especificar uma imagem de um registro privado usando o formato domainname/namespace/imagename:tag.

    registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go

    Image Version

    Clique em Image Version, selecione a versão de destino e clique em OK.

    73fbdd56

    Access Protocol

    Há suporte para HTTP e gRPC.

    HTTP

    Container Port

    Defina a porta do contêiner a ser exposta. O número da porta deve estar entre 1 e 65535.

    8080

    Environment Variables

    Clique em Advanced e, em seguida, clique em Add ao lado de Environment Variables para configurá-las como pares chave-valor.

    Type: Custom

    Variable Name: TARGET

    Value/ValueFrom: Knative

Método 2: Arquivo YAML

  1. Salve o seguinte conteúdo em um arquivo chamado helloworld-go.yaml.

    Hello Knative!
  2. Conecte-se ao cluster ACK usando o kubectl. Execute o seguinte comando para criar o Knative Service.

    Hello Knative!
  3. Execute o seguinte comando para listar os Knative services:

    Hello Knative!

    Saída esperada:

    Hello Knative!

Método 3: Modelo

  1. Acesse o console do ACK. No painel de navegação à esquerda, escolha Cluster.

  2. Na página Clusters, clique no nome do cluster de destino. No painel de navegação à esquerda, escolha Applications > Knative.

  3. Na página Knative, clique em Services. Defina o Namespace como default. Clique em Create from Template, cole o seguinte exemplo de YAML no editor e clique em Create. Essa ação cria um service chamado helloworld-go.

    Hello Knative!

Etapa 3: Obter o endereço do gateway de acesso

Método 1: Console do ACK

  1. Acesse o console do ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Applications > Knative.

  3. Clique em Services. Na lista de services, clique no nome do service de destino para abrir sua página de detalhes. Na seção Basic Information, visualize e copie o endereço do Gateway e o Default Domain.

Método 2: Console do ASM

  1. Acesse o console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

  2. Na página Mesh Management, clique no nome da instância de destino. No painel de navegação à esquerda, escolha ASM Gateways > Ingress Gateway.

  3. Na página Ingress Gateway, visualize e copie o endereço do gateway de acesso na seção Service address.

Etapa 4: Acessar o service

Após criar o Knative Service, acesse-o enviando uma solicitação para o endereço IP do gateway de entrada. Você deve especificar o domínio do service no cabeçalho Host da solicitação.

  1. Na coluna Gateway da página Services, obtenha o endereço do gateway para o service helloworld-go.

  2. Execute o seguinte comando para acessar o service helloworld-go.

    Hello Knative!

    Saída esperada:

    Hello Knative!

    A saída indica que o service foi acessado com sucesso.

Tópicos relacionados

  • O domínio padrão do service para o Knative é example.com. O Knative no ASM permite usar um domínio personalizado como padrão. Para mais informações, consulte {{XREF_9}}.

  • Como os gateways do ASM oferecem suporte a HTTPS e carregamento dinâmico de certificados, você pode usá-los para ativar o acesso HTTPS ao seu Knative Service. Para mais informações, consulte {{XREF_10}}.

  • O Knative no ASM fornece recursos de canary release baseados em tráfego. Ao criar um Knative Service, o Knative cria automaticamente a primeira Revision para o service. Posteriormente, sempre que a configuração do service mudar, o Knative criará uma nova Revision. Você pode implementar um canary release modificando a porcentagem de tráfego distribuído para diferentes Revisions. Para mais informações, consulte {{XREF_11}}.

  • O Knative Serving injeta um contêiner queue-proxy em cada pod. Esse contêiner relata as métricas de simultaneidade do contêiner da aplicação para o autoscaler. Em seguida, o autoscaler ajusta o número de pods no Deployment com base no número de solicitações simultâneas e no algoritmo de dimensionamento para alcançar o dimensionamento automático. Para mais informações, consulte {{XREF_12}}.