O MSE Ingress é totalmente compatível com o NGINX Ingress e oferece o dobro do desempenho de gateways Ingress autogerenciados de código aberto. Os gateways MSE Ingress possuem certificação de maturidade de segurança líder do setor pelo CAICT e proporcionam baixo custo, segurança, alta integração e alta disponibilidade. Este tópico descreve como acessar serviços de contêiner e o Container Compute Service por meio de um MSE Ingress.
Por motivos de segurança, os gateways MSE Ingress não podem expor serviços no namespace kube-system.
Pré-requisitos
Verifique se você tem:
Um cluster ACK gerenciado, um cluster ACK Serverless ou um cluster ACS executando Kubernetes V1.18 ou posterior. Crie um cluster ACK gerenciado, Crie um cluster ACK Serverless ou Crie um cluster ACS. Atualize se estiver em uma versão anterior.
-
Permissões RAM concedidas ao MSE Ingress Controller:
Cluster ACK gerenciado ou cluster ACK Serverless: Conceder permissões
Cluster ACS: Conceder permissões
Considerações:
Se já existir um recurso IngressClass chamado
mseno cluster antes da instalação do MSE Ingress Controller, o gateway e o recurso MseIngressConfig não serão criados automaticamente durante a instalação.No novo modo de instalação, instale o MSE Ingress Controller cria um recurso MseIngressConfig cujo ciclo de vida está vinculado à instância do gateway nativo da nuvem MSE. Exclua o recurso MseIngressConfig causa a exclusão em cascata do gateway nativo da nuvem MSE associado. Não exclua recursos MseIngressConfig salvo se instruído.
Etapa 1: Instale o MSE Ingress Controller
Faça logon no console ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, localize o cluster desejado e clique no nome dele. No painel de navegação à esquerda, clique em Add-ons.
-
Na página Add-ons, pesquise
msee clique em Install no cartão MSE Ingress Controller.
Na caixa de diálogo Install MSE Ingress Controller, crie ou selecione um gateway nativo da nuvem e clique em OK. Se as verificações prévias falharem, autorize o MSE Ingress Controller a acessar o MSE.
-
Após a instalação, um recurso MseIngressConfig e um gateway nativo da nuvem são criados automaticamente, ambos com o nome
mse-ingress-premium-{clusterid}. Para verificar o status do gateway, acesse a página de detalhes do cluster e escolha Workloads > Deployments > Custom Resources. Na aba Resource Objects, pesquisemsena seção API Group. Aguarde de 3 a 5 minutos até que o campophaseatinja Listening antes de prosseguir. Verifique pela linha de comando:Status
Descrição
Pending
O gateway está sendo criado. Aguarde cerca de 3 minutos.
Running
O gateway foi criado e está em execução.
Listening
O gateway está em execução e ouvindo recursos Ingress.
Failed
O gateway está em um estado inválido. Verifique o campo
MessageemStatuspara identificar a causa.kubectl get mseingressconfig -AO gateway estará pronto quando a coluna
PHASEexibirListening.
-
Faça logon no console MSE para confirme que existe um gateway nativo da nuvem chamado
mse-ingress-premium-{clusterid}na sua região.
Etapa 2: Implantar um serviço de back-end
Faça logon no console ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, localize o cluster desejado e clique no nome dele. No painel de navegação à esquerda, escolha Workloads > Deployments.
-
Na página Deployments, clique em Create from YAML e aplique o manifesto a seguir para implantar o Deployment e o Service
httpbin:apiVersion: apps/v1 kind: Deployment metadata: name: httpbin namespace: default spec: replicas: 1 selector: matchLabels: app: httpbin template: metadata: labels: app: httpbin version: v1 spec: containers: - image: registry.cn-hangzhou.aliyuncs.com/mse-ingress/go-httpbin args: - "--version=v1" imagePullPolicy: Always name: httpbin --- apiVersion: v1 kind: Service metadata: name: httpbin namespace: default spec: ports: - port: 8080 protocol: TCP selector: app: httpbinVerifique se o Deployment está em execução:
kubectl get deployment httpbin -n defaultSaída esperada:
NAME READY UP-TO-DATE AVAILABLE AGE httpbin 1/1 1 1 30s
Etapa 3: Configure uma rota MSE Ingress
Faça logon no console ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, localize o cluster desejado e clique no nome dele. No painel de navegação à esquerda, escolha Network > Ingresses.
Na página Ingresses, clique em Create Ingress.
-
Na caixa de diálogo Create Ingress, defina Gateway Type como MSE Ingress e configure a rota. Clique em OK.
Defina Ingress Class como
mse.Em Rule, selecione Prefix (Prefix-based Match).
Defina Path como
/.Defina Service como
httpbin.

-
Faça logon no console MSE para confirme que uma rota contendo
httpbinestá configurada. Verifique pela linha de comando:kubectl get ingress -n defaultSaída esperada:
NAME CLASS HOSTS ADDRESS PORTS AGE httpbin mse * nlb-b4ewsj2******.cn-hangzhou.nlb.aliyuncsslb.com 80 30s
Etapa 4: Acesse o serviço
Faça logon no console ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, localize o cluster desejado e clique no nome dele. No painel de navegação à esquerda, escolha Network > Ingresses.
-
Na página Ingresses, localize o endpoint do Ingress na coluna Address. A coluna Address exibe o endereço do balanceador de carga NLB alocado automaticamente, que corresponde ao endpoint de acesso do MSE Ingress.

-
Acesse o serviço usando o nome de domínio NLB ou o IP público do gateway. Por exemplo:
curl http://nlb-b4ewsj2******.cn-hangzhou.nlb.aliyuncsslb.com/versionUma resposta bem-sucedida confirme que o serviço está acessível.

Próximas etapas
Roteamento avançado: Configure anotações de Ingress para ative divisão de tráfego, lançamentos canário e reescrita de requisições.
Terminação TLS: Configure um certificado no gateway nativo da nuvem MSE para HTTPS.
Monitoramento: Visualize métricas do gateway e logs de acesso no console MSE.
Limpeza: Exclua o Deployment, o Service e o Ingress
httpbinpelo console ACK ou executekubectl delete deployment,service,ingress httpbin -n default.