Todos os produtos
Search
Central de documentação

Microservices Engine:Configure an MseIngressConfig

Última atualização: Jul 05, 2026

O MseIngressConfig é uma CustomResourceDefinition (CRD) fornecida pelo Microservices Engine (MSE) Ingress Controller. Esse recurso permite gerenciar todo o ciclo de vida de um gateway nativo da nuvem do MSE — criação, reutilização ou exclusão — e definir configurações globais, como controle de acesso por IP, aceleração de hardware TLS, logs de acesso e rastreamento distribuído, sem reiniciar o controller.

Como funciona

O MSE Ingress Controller monitora os recursos MseIngressConfig no cluster e mantém dinamicamente o gateway nativo da nuvem correspondente. Após a associação do gateway ao servidor de API do cluster, o plano de controle sincroniza as alterações nos recursos de Ingress e atualiza as regras de roteamento em tempo real. Ao receber uma solicitação, o gateway a compara com as regras de roteamento do Ingress e encaminha o tráfego para o pod de backend apropriado.

O diagrama a seguir ilustra a relação entre os componentes.

ingress的应用场景

Os principais componentes são:

  • Service: Abstração dos serviços de backend. Um service representa um conjunto de pods replicados.

  • Ingress: Contém regras de proxy reverso que roteiam solicitações HTTP ou HTTPS para services com base em nomes de host e caminhos.

  • IngressClass: Declara qual implementação de controller de Ingress gerencia um conjunto de recursos de Ingress. Associe uma IngressClass a um MseIngressConfig para ativar o gateway nativo da nuvem do MSE para esses recursos.

  • MseIngressConfig: CRD que fornece a configuração do gateway, incluindo especificações da instância, configurações de rede, políticas globais e escopo de escuta do Ingress.

  • MSE Ingress Controller: Plano de controle que monitora os recursos MseIngressConfig e coordena o gateway nativo da nuvem. Não atua como plano de dados de rede.

Cada MseIngressConfig corresponde exatamente a um gateway nativo da nuvem do MSE. Para executar vários gateways, crie múltiplos MseIngressConfigs.

Referência do MseIngressConfig

Exemplo de configuração completa

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  name: mse-ingress
  common:
    pay:
      payType: POSTPAY
    instance:
      spec: 4c8g
      replicas: 3
    network:
      vSwitches:
      - "vsw-1"
      - "vsw-2"
      publicSLBSpec: slb.s2.small
    securityGroupType: normal
  global:
    tls:
      enableHardwareAcceleration: true
    ipAccessControl:
      whitelist:
      - 1.1.XX.XX
      - 2.2.XX.XX
  monitor:
    logging:
      sls:
        reuseProject: "xxx"   # Leave blank to use the default project
    tracing:
      xTrace:
        sampleRate: "100"
  ingress:
    local:
      ingressClass: mse
      watchNamespace: ""      # Leave blank to listen to all namespaces

Parâmetros

Parâmetro

Descrição

Obrigatório

Padrão

name

Nome do gateway

Não

mse-ingress

common.pay.payType

Método de faturamento. Apenas POSTPAY (pagamento conforme o uso) é suportado.

Não

POSTPAY

common.instance.spec

Tamanho da instância do gateway. Valores válidos: 2c4g, 4c8g, 8c16g, 16c32g

Não

4c8g

common.instance.replicas

Número de réplicas do gateway. Valores válidos: 0–30

Não

3

common.network.vSwitches

vSwitches primário e secundário. Especifique pelo menos um e no máximo dois. Se não definido, o sistema usa o vSwitch no nó que executa o pod do MSE Ingress Controller.

Não

Nenhum

common.network.publicSLBSpec

Especificações da instância do Server Load Balancer (SLB) voltada para a Internet. Valores válidos: slb.s1.small, slb.s2.small, slb.s2.medium, slb.s3.small, slb.s3.medium, slb.s3.large

Não

slb.s2.small

common.network.privateSLBSpec

Especificações da instância do SLB voltada para a rede interna. Mesmos valores válidos de publicSLBSpec.

Não

slb.s2.small

common.securityGroupType

Tipo de grupo de segurança. Valores válidos: enterprise (avançado), normal (básico)

Não

normal

global.tls.enableHardwareAcceleration

Ativa a aceleração de hardware do Transport Layer Security (TLS) para melhorar o desempenho do processamento HTTPS.

Não

true

global.ipAccessControl.whitelist

Lista de permissões global de endereços IP. Aceita IPs individuais e blocos CIDR.

Não

Não configurado

global.ipAccessControl.blacklist

Lista de bloqueios global de endereços IP. Aceita IPs individuais e blocos CIDR.

Não

Não configurado

monitor.logging.sls

Ativa os logs de acesso do Simple Log Service (SLS). Conceda permissões do SLS ao MSE Ingress Controller antes de ativar.

Não

Desativado

monitor.logging.sls.reuseProject

Projeto do SLS para logs de acesso. Deixe em branco para usar o projeto padrão; especifique um nome para utilizar um projeto existente.

Não

Em branco (projeto padrão)

monitor.tracing.xTrace

Habilita a análise de rastreamento do xTrace. Incompatível com openTelemetry.

Não

Desativado

monitor.tracing.xTrace.sampleRate

Taxa de amostragem para o xTrace, como string de porcentagem. Exemplo: "100" = 100%.

Não

"0"

monitor.tracing.openTelemetry

Habilita a análise de rastreamento do OpenTelemetry. Incompatível com xTrace.

Não

Desativado

monitor.tracing.openTelemetry.sampleRate

Taxa de amostragem para o OpenTelemetry, como string de porcentagem.

Não

"100"

ingress.local.ingressClass

IngressClass monitorada pelo gateway. Consulte a tabela abaixo para valores válidos.

Não

Não configurado

ingress.local.watchNamespace

Namespace a ser monitorado. Deixe em branco para monitorar todos os namespaces. Apenas um namespace pode ser especificado.

Não

Em branco (todos os namespaces)

Valores válidos para ingress.local.ingressClass:

Valor

Comportamento

Não configurado

Nenhum recurso de Ingress é monitorado.

mse

Monitora recursos de Ingress com IngressClass mse.

"" (string vazia)

Monitora todos os recursos de Ingress no cluster.

nginx

Monitora recursos de Ingress com IngressClass nginx ou sem IngressClass definida.

Qualquer outro valor

Monitora recursos de Ingress associados à IngressClass especificada.

Um recurso IngressClass que referencia explicitamente um MseIngressConfig em seu campo spec.parameters tem precedência sobre o valor de ingress.local.ingressClass .

Status

Verifique o status de um MseIngressConfig:

kubectl get mseingressconfig

Saída esperada:

NAME   STATUS     MESSAGE
test   Listening

O status progride na seguinte ordem: PendingRunningListening.

Status

Descrição

Pending

O gateway nativo da nuvem está sendo criado. A criação leva aproximadamente 3 minutos.

Running

O gateway foi criado e está em execução.

Listening

O gateway está em execução e monitorando recursos de Ingress no cluster.

Failed

O gateway é inválido. Verifique o campo Message na saída de status para identificar a causa.

Tags de recurso

Os gateways nativos da nuvem do MSE criados ou reutilizados por MseIngressConfigs recebem tags automaticamente. Visualize essas tags na seção de informações básicas do console do MSE.

Importante

Não edite essas tags no console do MSE. Modificá-las pode interromper a operação do gateway.

Tag

Descrição

ack.aliyun.com

Identifica o cluster ACK cujo tráfego de ingress este gateway gerencia.

ingress.k8s.alibaba/MseIngressConfig

Identifica o MseIngressConfig associado a este gateway.

kubernetes.reused.by.user

Marca o gateway como reutilizado. Excluir o MseIngressConfig associado não remove um gateway com esta tag.

Criar um gateway nativo da nuvem do MSE

  1. Aplique um MseIngressConfig para criar o gateway. O exemplo a seguir cria um gateway chamado mse-ingress com 3 réplicas na especificação 2c4g.

    apiVersion: mse.alibabacloud.com/v1alpha1
    kind: MseIngressConfig
    metadata:
      name: test
    spec:
      name: mse-ingress
      common:
        instance:
          spec: 2c4g
          replicas: 3
  2. Crie um recurso IngressClass e vincule-o ao MseIngressConfig.

    apiVersion: networking.k8s.io/v1
    kind: IngressClass
    metadata:
      name: mse
    spec:
      controller: mse.alibabacloud.com/ingress
      parameters:
        apiGroup: mse.alibabacloud.com
        kind: MseIngressConfig
        name: test

    Após aplicar ambos os recursos, o gateway nativo da nuvem associado processará os recursos de Ingress com IngressClass mse.

  3. Verifique se o gateway está em execução.

    kubectl get mseingressconfig test

    O status progride na ordem PendingRunningListening. Quando o status exibir Listening, o gateway estará pronto.

Reutilizar um gateway nativo da nuvem do MSE existente

Para reutilizar um gateway existente, defina spec.id como o ID do gateway (no formato gw-xxx) e controle a sobrescrita da configuração com spec.override.

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: reuse
spec:
  id: gw-xxxx
  override: false
  ingress:
    local:
      ingressClass: mse

Comportamento de spec.override:

**Valor de spec.override**

Efeito nas opções de escuta de Ingress, aceleração TLS, controle de acesso por IP e observabilidade

Efeito na associação do cluster

false

Preserva as configurações existentes do gateway.

Se o gateway ainda não estiver associado ao cluster, associa-o automaticamente e configura a escuta da ingressClass. Se já estiver associado, mantém as configurações originais do Ingress.

true

Sobrescreve as configurações do gateway com os valores especificados neste MseIngressConfig. A omissão de um parâmetro limpa a configuração original correspondente.

Associa o gateway ao cluster.

Importante

Ao definir spec.override: true, especifique todos os parâmetros que deseja manter. Parâmetros omitidos no MseIngressConfig serão sobrescritos, o que pode afetar negativamente seu tráfego.

Excluir um gateway nativo da nuvem do MSE

Excluir um MseIngressConfig remove o gateway associado na maioria dos casos. A exceção ocorre em cenários de reutilização, nos quais o gateway é preservado.

Execute o comando a seguir para excluir um MseIngressConfig:

kubectl delete mseingressconfig <your-config-name>

Comportamento de exclusão por cenário:

Método de faturamento

Gateway criado pelo MSE Ingress Controller

Gateway reutilizado do console

Pagamento conforme o uso

A exclusão do MseIngressConfig também exclui o gateway.

A exclusão do MseIngressConfig mantém o gateway.

Assinatura

N/A

A exclusão do MseIngressConfig mantém o gateway.

Configurar controle de acesso por IP

Permitir tráfego de IPs específicos (lista de permissões)

O exemplo a seguir permite que apenas o endereço IP 1.1.XX.XX e o bloco CIDR 2.0.XX.XX/8 acessem o gateway.

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  name: mse-ingress
  global:
    ipAccessControl:
      whitelist:
      - 1.1.XX.XX
      - 2.0.XX.XX/8

Bloquear tráfego de IPs específicos (lista de bloqueios)

Este exemplo bloqueia o acesso proveniente do endereço IP 1.1.XX.XX e do bloco CIDR 2.0.XX.XX/8.

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  name: mse-ingress
  global:
    ipAccessControl:
      blacklist:
      - 1.1.XX.XX
      - 2.0.XX.XX/8

Ativar o Simple Log Service

Antes de ativar o Simple Log Service (SLS), conceda permissões do SLS ao MSE Ingress Controller de acordo com o tipo do seu cluster:

O exemplo a seguir configura o gateway para enviar logs de acesso a um projeto do SLS chamado demo. Para usar o projeto padrão, deixe reuseProject em branco.

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  name: mse-ingress
  monitor:
    logging:
      sls:
        reuseProject: "demo"

Ativar o Managed Service for OpenTelemetry

A configuração do Managed Service for OpenTelemetry habilita o rastreamento distribuído ponta a ponta para ajudar a diagnosticar e localizar problemas em produção.

O exemplo a seguir define a taxa de amostragem como 100%.

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  name: mse-ingress
  monitor:
    tracing:
      xTrace:
        sampleRate: "100"