Ao criar ou implantar uma aplicação em um cluster do Container Service for Kubernetes (ACK), modifique as regras de agendamento dos pods conforme necessário e implante-os no maior número possível de nós e zonas para aumentar a disponibilidade da aplicação. Este tópico descreve como configurar as regras de agendamento.
Configurar regras de agendamento ao criar uma aplicação
Faça login no console do EDASconsole do EDAS. No painel de navegação à esquerda, escolha . A página Applications será exibida. Na barra de navegação superior, selecione uma região. Na parte superior da página, selecione um namespace. No canto superior esquerdo, clique em Create Application.
-
Na etapa Basic Information, defina os parâmetros Cluster Type e Application Runtime Environment e clique em Next. A tabela a seguir descreve os parâmetros.
Parâmetro Descrição Cluster Type Tipo de cluster onde implantar a aplicação. Selecione Kubernetes Clusters. Application Runtime Environment Ambiente de execução da aplicação. Escolha um ambiente de execução com base no tipo da aplicação. - Java:
- Custom: Escolha esta opção para usar uma imagem personalizada na implantação da aplicação em um cluster ACK.
- Java: Escolha esta opção para usar um pacote JAR universal na implantação da aplicação como Dubbo ou Spring Boot. Após selecionar esta opção, defina o parâmetro Java Environment.
- Tomcat: Escolha esta opção para usar um pacote WAR universal na implantação da aplicação como Dubbo ou Spring. Após selecionar esta opção, defina os parâmetros Java Environment e Container Version.
- EDAS-Container (HSF): Escolha esta opção para usar um pacote WAR ou FatJar na implantação da aplicação como High-speed Service Framework (HSF). Após selecionar esta opção, defina os parâmetros Java Environment, Pandora Version e Ali-Tomcat Version.
- PHP: Escolha esta opção para implantar a aplicação como PHP executado no Apache HTTP Server.
- Node.js, C++, Go, and Other Languages: Escolha esta opção para implantar uma aplicação de microsserviços com uma imagem personalizada. A aplicação pode ser desenvolvida em qualquer linguagem de programação.
- Java:
Na etapa Configurations, configure as informações de ambiente, as informações básicas e o método de implantação da aplicação, defina os parâmetros de recursos relacionados e clique em Next.
-
Na etapa Advanced Settings, clique em Scheduling Rules e configure o modo e as regras de agendamento conforme necessário.
-
Selecione o modo Built-in Configuration.
Parâmetro Descrição Zone Scheduling - Default Scheduling: Por padrão, o sistema agenda os pods com base no status dos recursos do cluster e pode implantar todos os pods na mesma zona. Portanto, essa regra não garante alta disponibilidade.
- Deploy in As Many Zones As Possible: Usa regras de antiafinidade para implantar os pods no maior número possível de zonas e garantir alta disponibilidade.
Node Scheduling - Default Scheduling: Por padrão, o sistema agenda os pods com base na carga dos nós do cluster.
- Deploy to as Many Nodes as Possible: Implanta os pods no maior número possível de nós para garantir alta disponibilidade.
-
Selecione o modo Custom Configuration.
Se as regras de agendamento integradas baseadas em zonas ou nós não atenderem aos requisitos em cenários complexos, use o recurso de configuração personalizada do Enterprise Distributed Application Service (EDAS) para criar suas próprias regras.
Tabela 1. Criar uma regra de agendamento de afinidade de nó Parâmetro
Descrição
Selector
Condições para filtrar nós. Defina os parâmetros Node Tag Key, Operator e Node Tag Value para especificar os nós de destino da implantação dos pods.
Weight
Peso da regra. Valores válidos: número inteiro de 0 a 100. Valor padrão: 1.

Tabela 2. Criar uma regra de agendamento de afinidade de aplicação Parâmetro
Descrição
Kubernetes Namespace
Namespace do cluster ACK que hospeda a aplicação.
Topology Key
Chave dos rótulos de nó usada para determinar se diferentes nós pertencem ao mesmo domínio de topologia, como nó, zona ou região.
Selector
Condições para filtrar pods. Defina os parâmetros Application Tag Key, Operator e Application Tag Value para determinar quais pods executar no domínio de topologia correspondente.
Weight
Peso da regra. Valores válidos: número inteiro de 0 a 100. Valor padrão: 1.

Tabela 3. Criar uma regra de agendamento de antiafinidade de aplicação Parâmetro
Descrição
Kubernetes Namespace
Namespace do cluster ACK que hospeda a aplicação.
Topology Key
Chave dos rótulos de nó usada para determinar se diferentes nós pertencem ao mesmo domínio de topologia, como nó, zona ou região.
Selector
Condições para filtrar pods. Defina os parâmetros Application Tag Key, Operator e Application Tag Value para determinar quais pods executar no domínio de topologia correspondente.
Weight
Peso da regra. Valores válidos: número inteiro de 0 a 100. Valor padrão: 1.

Tabela 4. Criar uma regra de agendamento de tolerância Parâmetro
Descrição
Tag Key
Chave usada para corresponder a taints.
Operator
Operador usado para corresponder a taints.
Tag Value
Valor usado para corresponder a taints. A tolerância corresponde às taints com base nos parâmetros Tag Key, Tag Value, Operator e Effect definidos por você.
Effect
Efeito aplicado após a tolerância de uma taint em um nó.
Tolerance (Seconds)
Parâmetro configurável apenas se Effect estiver definido como NoExecute.
Duração permitida para execução do pod no nó após a tolerância da taint. Se não definido, o pod continua em execução no nó indefinidamente.
-
Clique em Create Application.
-
Na página Creation Completed, verifique as informações nas seções Basic Information, Configurations e Advanced Settings. Em seguida, clique em Create Application.
Na parte superior da página Application Overview, clique em View Details. Na página Change List, visualize o processo de alteração da aplicação. Aguarde alguns minutos até a conclusão da implantação. Após o término do processo, verifique o status da instância na seção Basic Information da página Application Overview. Se o status indicar que um pod está em execução, a aplicação foi implantada com sucesso.
Configurar regras de agendamento ao atualizar uma aplicação
Configure regras de agendamento ao criar ou implantar uma aplicação.
Faça login no console do EDAS console do EDAS.
No painel de navegação à esquerda, clique em . Na barra de navegação superior, selecione uma região. Na parte superior da página, selecione um namespace. Selecione Container Service or Serverless Kubernetes Cluster na lista suspensa Cluster Type. Em seguida, localize a aplicação desejada e clique no nome dela.
Na página Overview ou Basic information, escolha no canto superior direito.
Na página Select Deployment Mode, selecione um modo de implantação e clique em Start Deployment no canto superior direito da seção correspondente ao modo escolhido.
-
Defina as informações de ambiente e pacote de implantação, clique em Scheduling Rules, conclua a configuração conforme necessário e clique em OK.
-
Selecione o modo Built-in Configuration.
Parâmetro Descrição Zone Scheduling - Default Scheduling: Por padrão, o sistema agenda os pods com base no status dos recursos do cluster e pode implantar todos os pods na mesma zona. Portanto, essa regra não garante alta disponibilidade.
- Deploy in As Many Zones As Possible: Usa regras de antiafinidade para implantar os pods no maior número possível de zonas e garantir alta disponibilidade.
Node Scheduling - Default Scheduling: Por padrão, o sistema agenda os pods com base na carga dos nós do cluster.
- Deploy to as Many Nodes as Possible: Implanta os pods no maior número possível de nós para garantir alta disponibilidade.
-
Selecione o modo Custom Configuration.
Se as regras de agendamento integradas baseadas em zonas ou nós não atenderem aos requisitos em cenários complexos, use o recurso de configuração personalizada do Enterprise Distributed Application Service (EDAS) para criar suas próprias regras.
Tabela 1. Criar uma regra de agendamento de afinidade de nó Parâmetro
Descrição
Selector
Condições para filtrar nós. Defina os parâmetros Node Tag Key, Operator e Node Tag Value para especificar os nós de destino da implantação dos pods.
Weight
Peso da regra. Valores válidos: número inteiro de 0 a 100. Valor padrão: 1.

Tabela 2. Criar uma regra de agendamento de afinidade de aplicação Parâmetro
Descrição
Kubernetes Namespace
Namespace do cluster ACK que hospeda a aplicação.
Topology Key
Chave dos rótulos de nó usada para determinar se diferentes nós pertencem ao mesmo domínio de topologia, como nó, zona ou região.
Selector
Condições para filtrar pods. Defina os parâmetros Application Tag Key, Operator e Application Tag Value para determinar quais pods executar no domínio de topologia correspondente.
Weight
Peso da regra. Valores válidos: número inteiro de 0 a 100. Valor padrão: 1.

Tabela 3. Criar uma regra de agendamento de antiafinidade de aplicação Parâmetro
Descrição
Kubernetes Namespace
Namespace do cluster ACK que hospeda a aplicação.
Topology Key
Chave dos rótulos de nó usada para determinar se diferentes nós pertencem ao mesmo domínio de topologia, como nó, zona ou região.
Selector
Condições para filtrar pods. Defina os parâmetros Application Tag Key, Operator e Application Tag Value para determinar quais pods executar no domínio de topologia correspondente.
Weight
Peso da regra. Valores válidos: número inteiro de 0 a 100. Valor padrão: 1.

Tabela 4. Criar uma regra de agendamento de tolerância Parâmetro
Descrição
Tag Key
Chave usada para corresponder a taints.
Operator
Operador usado para corresponder a taints.
Tag Value
Valor usado para corresponder a taints. A tolerância corresponde às taints com base nos parâmetros Tag Key, Tag Value, Operator e Effect definidos por você.
Effect
Efeito aplicado após a tolerância de uma taint em um nó.
Tolerance (Seconds)
Parâmetro configurável apenas se Effect estiver definido como NoExecute.
Duração permitida para execução do pod no nó após a tolerância da taint. Se não definido, o pod continua em execução no nó indefinidamente.
ImportanteA aplicação reinicia após o clique em
OK
. Realize esta operação fora dos horários de pico.
-