Escalonamento automático do MID Server em contêiner

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 4 min. de leitura
  • Os MID Servers podem ser implantados via StatefulSet com qualquer número de réplicas. Eles podem ser escalonados automaticamente, aproveitando o Escalonador automático de Pod horizontal (HPA) do Kubernetes. O Escalonador automático de pod horizontal atualiza automaticamente um recurso de carga de trabalho (como uma implantação ou StatefulSet) para corresponder à demanda.

    Configurar indicador para a fase de instalação Garantir que o MID Server pode se conectar a elementos dentro e fora da redeBaixar e instalar o MID Server em um host Linux ou WindowsConfigurar o seu MID ServerConfigurar a segurança do MID ServerGarantir que o MID Server pode se conectar a elementos dentro e fora da redeBaixar e instalar o MID Server em um host Linux ou WindowsConfigurar o seu MID ServerConfigurar a segurança do MID Server
    O Kubernetes pode adicionar ou remover qualquer número de réplicas de servidor MID com monitoramento de estado, conforme exigido pela carga de trabalho. O HPA oferece suporte somente a métricas de CPU e memória. Os MID Servers podem ser implantados como uma aplicação com monitoramento de estado, fornecendo as seguintes informações na seção StatefulSet do formulário de solicitação de implantação:
    • Nome
    • Nome do serviço remoto
    • Declaração do volume persistente (PVC)
    • Parâmetros, como classe de armazenamento, modos de acesso e solicitação de armazenamento
    • A solicitação/limite de recursos

    O PVC declara o volume persistente desejado onde o MID Server armazena config.xml, arquivos de metadados e várias de suas subpastas.

    Durante as flutuações de carga de trabalho, um pod com um contêiner de MID Server em execução pode ser removido e substituído por um novo. O StatefulSet garante que o mesmo volume persistente seja anexado ao novo pod, o que permite que o MID Server retome seu estado.

    As únicas subpastas que podem ser montadas no volume persistente são aquelas que estão inicialmente vazias com uma nova instalação do MID Server. O arquivo config.xml e outros arquivos de metadados devem ser copiados quando o pod é desligado e restaurados durante a inicialização.

    As solicitações de implantação exportadas como arquivos YAML podem ser usadas para criar uma carga de trabalho StatefulSet e novos pods de MID Server no cluster do Kubernetes.

    Quando você faz mudanças no arquivo YAML de implantação e o reaplica, os pods existentes da implantação são recriados. Com a implantação do StatefulSet, os arquivos de configuração são restaurados da pasta de backup. O script de inicialização deve detectar as mudanças no ambiente de implantação e aplicá-las aos arquivos de configuração antes que o MID Server seja iniciado.

    Ativação de escalonamento automático do HPA

    O escalonamento automático HPA pode ser ativado para qualquer carga de trabalho StatefulSet existente, criando um controlador HPA.

    Ao criar uma solicitação de implantação na instância com a configuração do HPA v1, aplique o arquivo YAML exportado e o escalonamento automático do HPA começará a funcionar imediatamente.

    Para HPA v2, crie um arquivo YAML separado com o seguinte modelo:
    • minReplicas e maxReplicas: define réplicas de recursos de carga de trabalho mínima e máxima a qualquer momento no cluster do Kubernetes.

    • métricas: define o fator de aumento ou redução com base na CPU e/ou na memória.

    • averageUtilization: especifica as métricas de recursos em termos de porcentagem de uso.

    • averageValue: especifica as métricas de recursos em termos de valores diretos.

    • comportamento: especifique a escala para cima e/ou para baixo no campo de comportamento.

    • políticas: uma ou mais políticas de escalonamento podem ser especificadas na seção de comportamento da especificação. Quando várias políticas são especificadas, a política que permite a maior quantidade de mudança é a selecionada por padrão.

    • periodSeconds: indica o período de tempo no passado durante o qual a política deve ser verdadeira

    apiVersion: autoscaling/v2
    kind: HorizontalPodAutoscaler
    metadata:
      name: autoscaling-demo-hpa
      namespace: default
      labels:
        app: MIDServerManagement
        provider: ServiceNow
    spec:
      minReplicas: 2
      maxReplicas: 10
      metrics:
      - resource:
          name: cpu
          target:
            averageUtilization: 30
            type: Utilization
        type: Resource
      - resource:
          name: memory 
          target:
            type: AverageValue 
            averageValue: 1Gi
        type: Resource
      behavior: 
        scaleDown:
          stabilizationWindowSeconds: 300
          policies:
          - type: Pods
            value: 4
            periodSeconds: 60
          - type: Percent
            value: 10
            periodSeconds: 60
          selectPolicy: Max
      scaleTargetRef:
       apiVersion: apps/v1
       kind: StatefulSet
       name: autoscaling-demo-ss
    

    Propriedades do Glide

    mid.container.deployment.volume_mount.subpaths
    • Tipo: cadeia de caracteres
    • Valor padrão: mid_container,agent/extlib,agent/logs,agent/scripts,agent/security, agent/security_backup,agent/work

    Especifica uma lista separada por vírgulas de subcaminhos de montagem de volume persistente.

    mid.container.deployment.headless_service_yaml_included
    • Tipo: verdadeiro|falso
    • Valor padrão: verdadeiro

    Especifica se o recurso de serviço sem interface com o usuário está incluído no arquivo YAML exportado.

    Parâmetros de configuração do MID Server

    mid.drain.timeout
    • Tipo: inteiro
    • Valor padrão: 900

    Especifica o tempo limite em segundos para a operação de drenagem.

    mid.drain.run_before_container_termination
    • Tipo: booleano
    • Valor padrão: verdadeiro

    Especifica se o MID Server em contêiner é drenado antes do encerramento do contêiner.