Este tópico descreve como ativar e desativar gateways multicluster em uma instância do ACK One Fleet e como adicionar clusters associados a um gateway multicluster.
Faturamento
O uso de gateways multicluster gera cobranças. Para obter mais informações sobre o faturamento de gateways multicluster, consulte Billing for general-purpose instances.
Pré-requisitos
A autorização do gateway nativo de cloud do Microservices Engine (MSE) está concluída.
-
A política AliyunAdcpManagedMseRolePolicy está vinculada à função do Resource Access Management (RAM) AliyunAdcpManagedMseRole. O bloco de código a seguir mostra o documento de política do AliyunAdcpManagedMseRolePolicy.
O recurso de gerenciamento do Fleet está ativado, o arquivo kubeconfig da instância do Fleet foi obtido no console do ACK One e um cliente kubectl está conectado à instância do Fleet.
Os clusters associados foram adicionados. Os clusters associados e a instância do ACK One Fleet estão implantados na mesma VPC.
(Opcional) A versão mais recente da CLI do Cloud Assistant está instalada e configurada.
Ative o recurso de gateway multicluster
Console
Acesse o console do ACK One. No painel de navegação à esquerda, escolha .
Na página Multi-cluster Gateway, clique em lista suspensa Create a multi-cluster gateway e, em seguida, clique em Enable MSE multi-cluster gateway. Na caixa de diálogo exibida, clique em OK.
Linha de comando
-
Certifique-se de que a CLI do Cloud Assistant está instalada, atualize a CLI do Cloud Assistant e execute o comando a seguir para ativar o recurso de gateway multicluster.
Substitua
<YOUR_FLEET_CLUSTERID>pelo ID da sua instância do Fleet.aliyun adcp UpdateHubClusterFeature --ClusterId <YOUR_FLEET_CLUSTERID> --GatewayEnabled true -
Execute o comando a seguir para verificar se o recurso de gateway multicluster está ativado:
aliyun adcp DescribeHubClusterDetails --ClusterId <YOUR_FLEET_CLUSTERID> |grep -B4 -A1 EnabledMSE`Saída esperada: se o valor do parâmetro
StatusforTrue, o recurso de gateway multicluster está ativado.{ "Message": "", "Reason": "", "Status": "True", "Type": "EnabledMSE" },
Crie um gateway multicluster
Console
Acesse o console do ACK One. No painel de navegação à esquerda, escolha .
No canto superior direito da página Multi-cluster Gateway, clique em lista suspensa Create a multi-cluster gateway e, em seguida, clique em MSE multi-cluster gateway.
No painel exibido, modifique o arquivo YAML usado para criar o gateway multicluster conforme necessário e clique em Create.
Linha de comando
-
Obtenha e anote o ID do vSwitch da instância do ACK One Fleet.
Execute o comando a seguir para consultar o ID do vSwitch:
aliyun adcp DescribeHubClusterDetails --ClusterId <YOUR_FLEET_CLUSTERID>Anote o ID do vSwitch no campo
VSwitchesda saída.
-
Crie um arquivo chamado mseingressconfig.yaml e adicione o seguinte conteúdo a ele.
Substitua
${vsw-id1}pelo ID do vSwitch anotado. Adicione uma anotação ao arquivo de configuração do gateway e especifique os clusters associados a serem adicionados.apiVersion: mse.alibabacloud.com/v1alpha1 kind: MseIngressConfig metadata: name: ackone-gateway # Connect associated clusters to the MSE gateway. #annotations: # mse.alibabacloud.com/remote-clusters: ${cluster1},${cluster2} spec: common: instance: replicas: 3 spec: 2c4g network: # You can configure both an Internet-facing SLB and an internal-facing SLB. If no SLB instance is specified, an Internet-facing SLB is used by default. #publicSLBSpec: slb.s2.small #privateSLBSpec: slb.s2.small vSwitches: - ${vsw-id1} ingress: local: ingressClass: mse name: mse-ingress -
Execute o comando a seguir para criar um gateway chamado mse-ingress na instância do ACK One Fleet:
kubectl apply -f mseingressconfig.yaml -
Execute o comando a seguir para verificar se o gateway foi criado:
kubectl get mseingressconfig ackone-gatewaySaída esperada:
NAME STATUS AGE ackone-gateway Listening 3m15sA saída indica que o gateway está no estado Listening. Isso significa que o gateway nativo de cloud foi criado e está em execução. O gateway escuta Ingresses cujas IngressClasses são
mse.O status de um gateway criado a partir de um MseIngressConfig muda na seguinte ordem: Pending, Running e Listening. Descrição dos estados:
Pending: o gateway nativo de cloud está sendo criado. Esse processo pode levar cerca de 3 minutos.
Running: o gateway nativo de cloud foi criado e está em execução.
Listening: o gateway nativo de cloud está em execução e escuta Ingresses.
Failed: o gateway nativo de cloud está em um estado anormal. Verifique a mensagem no campo Status para identificar a causa.
Adicionar ou remover clusters associados
Console
Acesse o console do ACK One. No painel de navegação à esquerda, escolha .
Na parte superior da página Multi-cluster Gateway, selecione o gateway multicluster a ser gerenciado na lista suspensa e, em seguida, clique em Modify no canto superior direito.
-
No painel exibido, edite o conteúdo YAML. Modifique os IDs dos clusters no parâmetro
annotationse clique em Update.Código de exemplo:
annotations: mse.alibabacloud.com/remote-clusters: ${cluster1-id},${cluster2-id}${cluster1-id}e${cluster2-id}são os IDs dos clusters associados. Separe múltiplos IDs de cluster por vírgulas (,). Modifique os IDs dos clusters para adicionar ou remover os clusters associados.Se nenhum cluster for associado durante a criação de um gateway multicluster, o conteúdo YAML não incluirá o parâmetro
annotations. Portanto, para adicionar clusters associados, adicione o exemplo anterior ao objetometadatano conteúdo YAML e, em seguida, adicione ou modifique os IDs dos clusters.
Linha de comando
-
Modifique a anotação correspondente no objeto mseingressconfig da instância do ACK One Fleet para adicionar ou remover clusters associados. Substitua
${cluster1-id}e${cluster2-id}pelos IDs dos clusters associados. Separe múltiplos IDs de cluster por vírgulas (,).annotations: mse.alibabacloud.com/remote-clusters: ${cluster1-id},${cluster2-id}Se nenhum cluster for associado durante a criação de um gateway multicluster, o conteúdo YAML não incluirá o parâmetro
annotations. Portanto, para adicionar clusters associados, adicione o exemplo anterior ao objetometadatano conteúdo YAML e, em seguida, adicione ou modifique os IDs dos clusters. -
Execute o comando a seguir para verificar se os clusters associados foram adicionados ao gateway multicluster:
kubectl get mseingressconfig ackone-gateway -ojsonpath="{.status.remoteClusters}"Saída esperada:
[{"clusterId":"c7fb82****"},{"clusterId":"cd3007****"}]A saída indica os IDs dos clusters associados e a ausência de mensagens de falha, o que significa que os clusters associados foram adicionados ao gateway multicluster.
-
Execute o comando a seguir para consultar os clusters associados adicionados ao gateway multicluster:
kubectl get mseingressconfig ackone-gateway -
Execute o comando a seguir para adicionar ou remover clusters associados.
mse.alibabacloud.com/remote-clusters=${cluster1},${cluster2}indica os clusters associados a serem adicionados ao gateway multicluster.kubectl annotate mseingressconfig ackone-gateway mse.alibabacloud.com/remote-clusters=${cluster1},${cluster2} --overwrite=true
Desativar o recurso de gateway multicluster
A exclusão de gateways multicluster pode afetar negativamente seus negócios. Prossiga com cuidado.
Caso não precise mais de gateways multicluster, exclua os gateways e, em seguida, desative o recurso de gateway multicluster para evitar o desperdício de recursos.
Console
Acesse o console do ACK One. No painel de navegação à esquerda, escolha .
Na página Multi-cluster Gateway, selecione MSE na lista suspensa Gateway Type, selecione o gateway multicluster a ser excluído na lista suspensa Select a gateway e, em seguida, clique em Delete no canto superior direito.
Na caixa de diálogo exibida, insira o nome do gateway multicluster a ser excluído e clique em Delete.
Confirme se todos os gateways multicluster na instância do ACK One Fleet foram excluídos e, em seguida, clique em Disable MSE Ingresses no canto superior direito da página. Na mensagem exibida, clique em OK.
Linha de comando
-
Execute o comando a seguir para excluir um gateway multicluster:
kubectl delete mseingressconfig ackone-gateway -
Execute o comando a seguir para desativar o recurso de gateway multicluster:
aliyun adcp UpdateHubClusterFeature --ClusterId <YOUR_FLEET_CLUSTERID> --GatewayEnabled false