Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Cloud Container Engine/ Guia de usuário/ Rede/ Serviço/ LoadBalancer/ Configuração do status pronto para o pod por meio da verificação de integridade do ELB
Atualizado em 2024-11-28 GMT+08:00

Configuração do status pronto para o pod por meio da verificação de integridade do ELB

O status pronto do pod está associado à verificação de integridade do ELB. Depois que a verificação de integridade for bem-sucedida, o pod está pronto. Essa associação funciona com os parâmetros strategy.rollingUpdate.maxSurge e strategy.rollingUpdate.maxUnavailable do pod para implementar a atualização contínua graciosa.

Restrições

  • Este recurso entra em vigor apenas nas seguintes versões:
    • v1.19: v1.19.16-r5 ou mais recente
    • v1.21: v1.21.8-r0 ou mais recente
    • v1.23: v1.23.6-r0 ou mais recente
    • v1.25: v1.25.2-r0 ou mais recente
  • Essa função se aplica somente a cenários de passagem, ou seja, cenários em que balanceadores de carga dedicados são usados em clusters do CCE Turbo.
  • Para usar essa função, configure o campo readinessGates no pod e especifique o rótulo target-health.elb.k8s.cce/{serviceName}, onde {serviceName} indica o nome do serviço.
  • O status pronto para pods só entra em vigor quando o back-end do ELB é conectado inicialmente. O status de verificação de integridade subsequente não afeta o status pronto para o pod.

Configuração do status pronto para o pod através da verificação de integridade do ELB

Para usar os Portões de prontidão do pod, execute as seguintes etapas:

  1. Efetue logon no console do CCE e acesse o console do cluster.
  2. No painel de navegação, escolha Workloads. No canto superior direito, clique em Create from YAML.

    Conteúdo de YAML:
    kind: Deployment
    apiVersion: apps/v1
    metadata:
      name: nginx
      namespace: default
      labels:
        version: v1
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
          version: v1
      template:
        metadata:
          labels:
            app: nginx
            version: v1
        spec:
          containers:
            - name: container-1
              image: nginx:latest
          imagePullSecrets:
            - name: default-secret
          readinessGates:
            - conditionType: target-health.elb.k8s.cce/specific-service-name  # Specifies the ServiceName.
      strategy:
        type: RollingUpdate
        rollingUpdate:
          maxUnavailable: 25%           # Works with the following two parameters to control the number of ELB backends and implement graceful rolling upgrade.
          maxSurge: 25%

  3. Clique em OK. Na lista de cargas de trabalho, você pode verificar o status da carga de trabalho e descobrir que o pod não está pronto.

  4. No painel de navegação, escolha Networking. No canto superior direito, clique em Create Service e defina os seguintes parâmetros:

    • Service Name: o valor deve ser o mesmo que o valor de readinessGates no pod.
    • Service Type: selecione LoadBalancer.
    • Selector: clique em Reference Workload Label, selecione a carga de trabalho criada na etapa anterior e clique em OK.
    • Load Balancer: devem ser usados balanceadores de carga dedicados. Você pode selecionar um balanceador de carga existente ou criar automaticamente um balanceador de carga.
    • Set ELB: ative a verificação de integridade. (Caso contrário, a verificação de integridade é bem-sucedida por padrão.)

  5. Vá para o console do ELB e verifique o grupo de servidores de back-end. O status de verificação de integridade é normal.
  6. No console do CCE, a carga de trabalho está no status Running.