Escalonamento automático do MID Server em contêiner
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.
![]() |
- 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.
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.
