O AI Suite nativo da cloud oferece um AI Dashboard e um AI Developer Console simples para visualizar rapidamente o status do cluster e enviar jobs de treinamento. Como o add-on Ingress é implantado de forma diferente em um cluster ACK Edge em comparação a um cluster ACK managed Pro, o processo de implantação varia ligeiramente.
Pré-requisitos
Crie um cluster ACK Edge que execute o Kubernetes 1.18 ou posterior. Para mais informações, consulte Create a cluster.
Instale os add-ons csi-plugin e csi-provisioner no cluster ACK Edge. Para mais informações, consulte Manage components.
Etapa 1: Implantar o Nginx Ingress Controller
Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster. No painel de navegação à esquerda, clique em .
-
Na página Helm, clique em Deploy. Configure os parâmetros de Basic Information.
Parâmetro
Valor de exemplo
Application Name
ack-ingress-nginx-{node-pool-name}
Namespace
kube-system
Source
O valor padrão é Marketplace
Chart
-
Cenário de uso: selecione All.
-
Arquitetura suportada: selecione amd64.
-
Caixa de pesquisa: pesquise por ack-ingress-nginx-v1.
-
-
Clique em Next para acessar a página Parameters e configurar os seguintes parâmetros. Em seguida, clique em OK para concluir a instalação.
Acesse a página de gerenciamento de clusters no console do ACK. No painel de navegação à esquerda, escolha para visualizar a lista de node pools e encontrar o ID do node pool na cloud correspondente.
-
No parâmetro
nodeSelector, adicione o rótulo do node pool na cloud:alibabacloud.com/nodepool-id: {node pool ID}.NotaEntre os seletores de node pool,
nodeSelectorrequer apenas a entradaalibabacloud.com/nodepool-id: {node pool ID}.## nodeSelector: kubernetes.io/os: linux alibabacloud.com/nodepool-id: np-xxxx -
No parâmetro
ingressClassResource, definanameecontrollerValue.NotaSe você implantar o ack-ingress-nginx-v1 várias vezes no mesmo cluster ACK Edge, garanta que cada implantação tenha um
namee umcontrollerValueexclusivos. Utilize as seguintes convenções de nomenclatura recomendadas:name:ack-nginx-{node-pool-name}, por exemplo,ack-nginx-edge-hangzhou.controllerValue:"k8s.io/ack-ingress-nginx-{node-pool-name}", por exemplo,"k8s.io/ack-ingress-nginx-edge-hangzhou".
ingressClassResource: # name & controllerValue are used instead of ingressClass, # and name can also be used in kubernetes.io/ingress.class annotation. # prevent override of default ingress class in the add-on, controllerValue's default value is 'k8s.io/ack-ingress-nginx', # and default name is 'ack-nginx'. # please modify both name and controllerValue to unique values. name: ack-nginx-edge-hangzhou controllerValue: "k8s.io/ack-ingress-nginx-edge-hangzhou"
ImportanteAtive a opção
externalouinternalcria uma ou duas instâncias de Classic Load Balancer (CLB) para o Nginx Ingress Controller. Essas instâncias geram custos enquanto existirem. Para mais informações, consulte Billing overview. Para interromper a cobrança, exclua os services LoadBalancer desnecessários. As instâncias CLB criadas automaticamente para esses services são liberadas juntamente com eles.-
Na página Parameters, selecione o tipo de Server Load Balancer (SLB), público ou privado, conforme suas necessidades, e defina adequadamente os valores de
externalparainternaleenabled. Caso escolha a opção pública, resolva o nome de domínio para o endereço IP público. Se optar pela privada, utilize um endereço IP privado acessível e resolvável.service: # enable internet or intranet slb enabled: true external: # enable internet slb enabled: true # internet slb annotations # NOTE: if you want to remove default annotations below, please set it to null. annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "internet" ## Enables an additional internal load balancer (besides the external one). ## Annotations are mandatory for the load balancer to come up. Varies with the cloud service. internal: # enable intranet slb enabled: false # intranet slb annotations # NOTE: if you want to remove default annotations below, please set it to null. annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
-
Etapa 2: Implantar o console do AI Suite
Para mais detalhes sobre como implantar o console do AI Suite, consulte Deploy the cloud-native AI suite. Observe as seguintes informações durante a instalação.
(Recomendado) Implante os add-ons do console do AI Suite em nós na cloud para aproveitar totalmente as capacidades da cloud. Para agendar os add-ons em um node pool específico, configure o Selector ou Affinity dos pods correspondentes.
-
Caso utilize um armazenamento de dados autogerenciado no cluster, instale o add-on ack-mysql ao implantar o console do AI Suite. Esse add-on deve ser implantado em um nó na cloud.
Após a conclusão da instalação, duas entradas de Ingress para os consoles serão adicionadas à página Ingresses. Adicione a configuração
ingressClassNamepara especificar que as entradas de Ingress utilizem a mesma IngressClass do Nginx Ingress Controller implantado.No painel de navegação à esquerda do console, escolha . Na coluna Actions de cada uma das duas entradas de Ingress, clique em Edit YAML.
-
Adicione a configuração
ingressClassName. Certifique-se de que ela corresponda ao valor deingressClassResource.nameapresentado na Etapa 1. A configuração YAML abaixo serve como exemplo. Substitua o valor do host pelo seu próprio nome de domínio:spec: ingressClassName: ack-nginx-edge-hangzhou rules: - host: ai-dashboard.example.com http: paths: - backend: service: name: ack-ai-dashboard-admin-ui port: number: 80 path: / pathType: Prefix
Durante a implantação do console do AI Suite, se for necessário acessar o console por meio de um nome de domínio público, resolva o nome de domínio para o endereço IP do balanceador de carga (LB) do Nginx Ingress Controller instalado. No painel de navegação à esquerda do console, escolha para visualizar seus services. Na lista de services, localize o Service associado ao
ack-ingress-nginx(do tipo LoadBalancer) e verifique o endereço IP público alocado na coluna External IP. O Service fica acessível fora do cluster por esse endereço IP.
Após a conclusão da implantação, access the AI Dashboard.