O conjunto de IA nativa da nuvem adiciona recursos de agendamento, aceleração de dados, orquestração de fluxo de trabalho e monitoramento aos clusters do Container Service for Kubernetes (ACK) para cargas de trabalho de IA e machine learning. Implante o conjunto pelo console do ACK e, opcionalmente, configure consoles de IA, backends de armazenamento de dados e mecanismos de fluxo de trabalho.
Pré-requisitos
Antes de começar, verifique se você tem:
Um cluster ACK Pro, ACK Serverless (versão Pro) ou ACK Edge (versão Pro) com Kubernetes 1.18 ou posterior. Para mais informações, consulte Criar um cluster ACK Pro, Criar um cluster ACK Serverless Pro ou Criar um cluster ACK Edge Pro
(Para o console de operações de IA) Container Monitoring e Log Service selecionados na página Component Configurations durante a criação do cluster, ou os componentes ack-arms-prometheus e loongcollector instalados na página Add-ons de um cluster existente. Para mais informações, consulte Usar Alibaba Cloud Prometheus para monitoramento e Coletar logs de contêiner de um cluster ACK
Implantar o conjunto
Acesse o console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, localize seu cluster e clique no nome dele. No painel à esquerda, escolha Applications > Cloud-native AI Suite.
Na página Cloud-native AI Suite, clique em Deploy.
-
Na página de implantação, selecione os componentes a instalar. Para detalhes sobre os componentes e compatibilidade com o cluster, consulte Referência de componentes.
Se você selecionar Kube Queue , Console e Kubeflow Pipelines simultaneamente, a opção Arena será obrigatória.
Clique em Deploy Cloud-native AI Suite. O sistema executa automaticamente uma verificação de ambiente e dependências e implanta os componentes selecionados após a aprovação.
Referência de componentes
A tabela a seguir lista todos os componentes, seus namespaces e os tipos de cluster compatíveis.
|
Configuração |
Componente |
Namespace |
ACK Pro |
ACK Serverless Pro |
ACK Edge Pro |
|
Elasticity |
ack-alibaba-cloud-metrics-adapter |
kube-system |
Sim |
Não |
Sim |
|
Acceleration (Aceleração de dados Fluid) |
ack-fluid |
fluid-system |
Sim |
Sim |
Sim |
|
Scheduling (agendamento de tarefas em lote, compartilhamento de GPU, agendamento de GPU ciente de topologia e agendamento de NPU) |
ack-ai-installer |
kube-system |
Sim |
Não |
Sim |
|
Kube Queue |
ack-kube-queue |
kube-queue |
Sim |
Sim |
Sim |
|
Arena (CLI) |
ack-arena |
kube-system |
Sim |
Sim |
Sim |
|
Console (Platform for AI) |
ack-pai |
pai-system |
Sim |
Não |
Sim |
|
Console (AI Dashboard) |
ack-ai-dashboard |
kube-ai |
Sim |
Não |
Sim |
|
Console (AI Developer Console) |
ack-ai-dev-console |
kube-ai |
Sim |
Não |
Sim |
|
Console Data Storage |
ack-mysql |
kube-ai |
Sim |
Não |
Sim |
|
Workflow (Kubeflow Pipelines) |
ack-ai-pipeline |
kube-ai |
Sim |
Não |
Sim |
|
Monitoring |
ack-arena-exporter |
kube-ai |
Sim |
Não |
Sim |
O ack-pai integra algoritmos e mecanismos otimizados pela Platform for AI (PAI), incluindo Data Science Workshop (DSW), Deep Learning Containers (DLC) e Elastic Algorithm Service (EAS). Esse componente melhora a elasticidade e a eficiência no desenvolvimento, treinamento e inferência de modelos de IA.
Para configurar parâmetros personalizados dos componentes de Scheduling, clique em Advanced na página de implantação.
Após a instalação, configure o cliente Arena separadamente se tiver selecionado Arena. Para mais informações, consulte Configurar o cliente Arena.
Para obter mais detalhes sobre componentes específicos, consulte Aceleração de dados Fluid, ack-ai-installer, ack-kube-queue e ack-ai-pipeline.
Configurar o console de IA
A partir de 22 de janeiro de 2025, o console de IA (AI Dashboard e AI Developer Console) está disponível apenas para usuários incluídos na lista de permissões. As implantações existentes antes dessa data não são afetadas. Usuários fora da lista de permissões podem instalar e configurar o console de IA pela comunidade open-source. Para mais informações, consulte data-on-ack .
Autorizar o console de IA
-
Na seção Ecosystem Tools da página de implantação, selecione Console. Uma caixa de diálogo Note será exibida.
Se o status de autorização exibir Authorized, pule para Selecionar um método de acesso.
Caso o status de autorização mostre Unauthorized em vermelho e o botão OK esteja indisponível, conclua as etapas de autorização abaixo.
-
Crie uma política personalizada no Resource Access Management (RAM).
Acesse o console do RAM. No painel de navegação à esquerda, escolha Permissions > Policies.
Clique em Create Policy.
-
Na aba JSON, insira o seguinte conteúdo de política e clique em OK. Nomeie a política como
k8sWorkerRolePolicy-{ClusterID}.{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cs:*", "log:GetProject", "log:GetLogStore", "log:GetConfig", "log:GetMachineGroup", "log:GetAppliedMachineGroups", "log:GetAppliedConfigs", "log:GetIndex", "log:GetSavedSearch", "log:GetDashboard", "log:GetJob", "ecs:DescribeInstances", "ecs:DescribeSpotPriceHistory", "ecs:DescribePrice", "eci:DescribeContainerGroups", "eci:DescribeContainerGroupPrice", "log:GetLogStoreLogs", "ims:CreateApplication", "ims:UpdateApplication", "ims:GetApplication", "ims:ListApplications", "ims:DeleteApplication", "ims:CreateAppSecret", "ims:GetAppSecret", "ims:ListAppSecretIds", "ims:ListUsers" ], "Resource": "*" } ] }
-
Anexe a política personalizada à função RAM do cluster.
No console do RAM, no painel de navegação à esquerda, escolha Identities > Roles.
Pesquise a função chamada
KubernetesWorkerRole-{ClusterID}. Clique em Grant Permission na coluna Actions.No painel Grant Permission, pesquise a política personalizada
k8sWorkerRolePolicy-{ClusterID}.Selecione a política e clique em Grant permissions.
Retorne à caixa de diálogo Note no console do ACK e clique em Authorization Check. O status mudará para Authorized e o botão OK ficará disponível.
Selecionar um método de acesso
Na caixa de diálogo Note, selecione um método de acesso e clique em OK.
|
Método de acesso |
Uso recomendado |
Observações |
|
Private IP |
Produção |
Acessa o console pela rede interna |
|
Internal Domain |
Produção |
Utiliza um nome de domínio privado |
|
Public Domain |
Apenas testes |
Adicione um mapeamento de host entre o nome de domínio público e o endereço IP público da instância SLB do NGINX Ingress ao seu arquivo hosts local |
Para mais informações sobre como acessar o console por uma rede privada, consulte Acessar o console de operações de IA.
Configurar o armazenamento de dados do console
Ao selecionar Console em Interaction Mode, a opção Console Data Storage aparecerá. Escolha um dos seguintes métodos de armazenamento.
MySQL pré-instalado (apenas testes)
Se você não selecionar ApsaraDB RDS, o cluster usará um banco de dados MySQL integrado por padrão.
Esta opção é recomendada apenas para testes. Em caso de falha no cluster ou perda de armazenamento, poderá haver perda de dados.
Ao implantar este componente, o conjunto de IA nativa da nuvem cria um disco de 120 GB como um PersistentVolumeClaim (PVC) usando a StorageClass. O ACK não gerencia o ciclo de vida do disco. Exclua o disco manualmente quando ele não for mais necessário. Para mais informações, consulte Liberar um disco.
ApsaraDB RDS (produção)
Utilize o ApsaraDB RDS para cargas de trabalho de produção.
Se ocorrer um erro de conexão, consulte Solucionar problemas de falhas de conexão de instância .
Para alterar o método de armazenamento de dados posteriormente, desinstale e reinstale o conjunto de IA nativa da nuvem. Caso exista um Secret chamadokubeai-rdsno namespacekube-ai, exclua-o antes de reinstalar.
Adquira uma instância do ApsaraDB RDS e crie um banco de dados e uma conta. Para mais informações, consulte Início rápido do ApsaraDB RDS. Para detalhes de faturamento, veja Visão geral do faturamento.
Clique em Deploy Cloud-native AI Suite na parte inferior da página de implantação.
No console do ACK, clique no nome do cluster. No painel de navegação à esquerda, escolha Configurations > Secrets.
Na lista suspensa Namespace, selecione
kube-ai.Clique em Create from YAML.
-
Insira o seguinte modelo YAML para criar um Secret chamado
kubeai-rdse clique em Create.Parâmetro
Descrição
MYSQL_HOSTO endpoint de conexão da sua instância do ApsaraDB RDS
MYSQL_DB_NAMEO nome do banco de dados criado
MYSQL_USERO nome de usuário da conta do banco de dados
MYSQL_PASSWORDA senha da conta do banco de dados
apiVersion: v1 kind: Secret metadata: name: kubeai-rds namespace: kube-ai type: Opaque stringData: MYSQL_HOST: "Your RDS endpoint" MYSQL_DB_NAME: "Database name" MYSQL_USER: "Database username" MYSQL_PASSWORD: "Database password"
Configurar o armazenamento de dados do fluxo de trabalho
Se você escolher Kubeflow Pipelines como mecanismo de fluxo de trabalho, a opção Workflow Data Storage será exibida. Selecione um dos métodos de armazenamento a seguir.
MinIO pré-instalado (apenas testes)
Caso não selecione OSS, o cluster utilizará uma instância integrada do MinIO por padrão.
Esta opção é recomendada apenas para testes. Se houver falha no cluster ou perda de armazenamento, os dados poderão ser perdidos.
Ao implantar este componente, o conjunto de IA nativa da nuvem cria um disco de 20 GB como um PVC usando a StorageClass. O ACK não gerencia o ciclo de vida do disco. Exclua o disco manualmente quando não for mais necessário. Para mais informações, consulte Liberar um disco.
Object Storage Service (testes e produção)
Use o Object Storage Service (OSS) para armazenamento persistente e escalável de dados de fluxo de trabalho.
-
Se o namespace
kube-ainão existir, crie-o:O namespace
kube-aié criado automaticamente quando você implanta o conjunto de IA nativa da nuvem. Verifique se ele já existe antes de criá-lo.kubectl create ns kube-ai No console do ACK, clique no nome do cluster. No painel de navegação à esquerda, escolha Configurations > Secrets.
Na lista suspensa Namespace, selecione
kube-ai.Clique em Create from YAML.
-
Insira o seguinte modelo YAML e clique em Create. Isso criará um Secret chamado
kubeai-oss.Parâmetro
Descrição
ENDPOINTO endpoint do OSS para sua região. O exemplo usa o endpoint da China (Pequim). Para a lista completa, consulte Regiões e endpoints do OSS
ACCESS_KEY_IDO AccessKey ID de um usuário RAM com a permissão
AliyunOSSFullAccess. Para mais informações, consulte Criar um par de AccessKeyACCESS_KEY_SECRETO AccessKey secret do usuário RAM
apiVersion: v1 kind: Secret metadata: name: kubeai-oss namespace: kube-ai type: Opaque stringData: ENDPOINT: "https://oss-cn-beijing.aliyuncs.com" ACCESS_KEY_ID: "****" ACCESS_KEY_SECRET: "****" -
Após criar o Secret, verifique se um bucket chamado
mlpipeline-<clusterid>aparece no console do OSS. Isso confirma que o OSS está configurado como armazenamento de dados do fluxo de trabalho. Para informações sobre faturamento do OSS, consulte Visão geral do faturamento. Retorne à página de implantação do conjunto de IA nativa da nuvem e instale o componente Kubeflow Pipelines.
Verificar a implantação
Após a implantação, confirme se os componentes estão em execução:
No console do ACK, clique no nome do cluster. No painel à esquerda, escolha Applications > Cloud-native AI Suite. A lista de componentes exibe todos os itens instalados com seus respectivos nomes e versões.
Confirme se cada componente apresenta um status indicando implantação bem-sucedida. Execute operações de Deploy e Uninstall em componentes individuais. Caso haja uma versão mais recente disponível para um componente instalado, realize também uma operação de Upgrade.
Se você instalou os consoles de IA, clique em AI Dashboard ou AI Developer Console no canto superior esquerdo da página Cloud-native AI Suite para verificar o acesso.