Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Acesse um serviço do Knative via HTTPS com um gateway do ASM

Última atualização: Jun 28, 2026

O gateway do ASM suporta o protocolo HTTPS e o carregamento dinâmico de certificados. Para acessar e gerenciar microsserviços criados com o Knative com segurança, use um gateway do ASM para ativar o acesso HTTPS. Essa configuração criptografa o tráfego para os endpoints de serviço, protege a comunicação entre serviços e aumenta a segurança e a confiabilidade da sua arquitetura.

Pré-requisitos

Crie um certificado e uma chave privada

Antes de usar um nome de domínio, obtenha um registro de Provedor de Conteúdo da Internet (ICP) para ele. Este exemplo usa o nome de domínio aliyun.com para gerar um certificado e uma chave privada e os salva como um Secret.

Nota

Se você já tem um certificado válido e uma chave privada para aliyun.com, nomeie o arquivo de certificado como aliyun.com.crt e o arquivo de chave privada como aliyun.com.key.

Caso não tenha um certificado e uma chave privada para aliyun.com, use o OpenSSL para gerá-los seguindo estas etapas:

  1. Execute o comando a seguir para criar um certificado raiz e uma chave privada:

    openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -subj '/O=myexample Inc./CN=aliyun.com' -keyout aliyun.root.key -out aliyun.root.crt
  2. Execute os comandos a seguir para gerar um certificado e uma chave privada para o servidor aliyun.com:

    openssl req -out aliyun.com.csr -newkey rsa:2048 -nodes -keyout aliyun.com.key -subj "/CN=aliyun.com/O=myexample organization"
    openssl x509 -req -days 365 -CA aliyun.root.crt -CAkey aliyun.root.key -set_serial 0 -in aliyun.com.csr -out aliyun.com.crt

Com o certificado e a chave privada prontos, execute o comando a seguir no contexto KubeConfig do cluster onde reside o pod do gateway de entrada. Esse comando cria um Secret que contém o certificado e a chave privada no namespace istio-system. Anote o nome do Secret.

kubectl create -n istio-system secret tls myexample-credential --key=aliyun.com.key --cert=aliyun.com.crt

Ative o acesso HTTPS

  1. Salve o conteúdo a seguir como default.yaml:

    apiVersion: istio.alibabacloud.com/v1beta1
    kind: ASMKnativeConfig
    metadata:
      name: default
    spec:
      enabled: true
      useExisting: true
      tag: 1.4.0
      domainConfig:
        domainName: aliyun.com # Replace this with your domain name.
        credentialName: myexample-credential # Replace this with the name of your Secret.
  2. Use o kubectl para se conectar ao Service Mesh e execute o comando a seguir:

    kubectl apply -f default.yaml

Acesse o serviço via HTTPS

  1. Atualize o arquivo hosts para adicionar um mapeamento para o novo nome de domínio.

    Exemplo:

    Nota

    Substitua xx.xx.xxx.xx pelo endereço IP real do seu gateway. Para obter o endereço IP do gateway, consulte Obter o endereço IP do gateway de entrada.

    xx.xx.xxx.xx helloworld-go.default.aliyun.com
  2. Acesse o serviço via HTTPS.

    • Acesso pela linha de comando

      Execute o comando a seguir para acessar o serviço via HTTPS usando o certificado:

      curl -k --cert aliyun.com.crt --key aliyun.com.key https://helloworld-go.default.aliyun.com
      
      # Expected output
      Hello Knative!
    • Acesso pelo navegador

      Insira https://helloworld-go.default.aliyun.com na barra de endereços do navegador.

      Hello Knative!
      Nota

      Como o certificado é autoassinado, o navegador pode exibir um aviso de segurança ao acessar o serviço. Prossiga com segurança.

Operações relacionadas

  • O Knative on ASM oferece recursos de lançamento canário baseados em tráfego. Ao criar um serviço do Knative, o sistema gera automaticamente a primeira Revision. Sempre que a configuração do serviço muda, uma nova Revision é criada. Implemente um lançamento canário alterando a porcentagem de tráfego direcionado a diferentes Revisions. Para mais informações, consulte Realizar um lançamento canário baseado em tráfego para um serviço do Knative no Knative on ASM.

  • O Knative Serving injeta um contêiner queue-proxy em cada Pod. Esse contêiner relata métricas de concorrência do contêiner da aplicação para o Autoscaler. Após receber essas métricas, o Autoscaler habilita o dimensionamento automático ajustando o número de Pods no Deployment com base na quantidade de requisições simultâneas e no algoritmo de dimensionamento. Para mais detalhes, consulte Dimensionar automaticamente um serviço com base no número de requisições simultâneas.