Por que nenhum subdomínio do Ingress existe após a criação de cluster?

Nuvem privada virtual Infraestrutura clássica

Você cria um cluster e executa ibmcloud ks cluster get --cluster <cluster> para verificar seu status. O cluster Estado é normal, mas o Subdomínio do Ingress e o Segredo do Ingress não estão disponíveis.

Mesmo que o cluster esteja em um estado normal, o subdomínio e o segredo do Ingress podem ainda estar em andamento. A criação do subdomínio e do segredo do Ingress pode levar mais de 15 minutos para ser concluída.

Classic clusters

  1. Quando os nós do trabalhador estão totalmente implementados e prontos nas VLANs, uma sub-rede pública móvel e uma sub-rede privada móvel para as VLANs são pedidas.
  2. Depois que os pedidos de sub-rede móvel forem preenchidos com sucesso, o mapa de configuração ibm-cloud-provider-vlan-ip-config será atualizado com os endereços IP públicos e privados móveis.
  3. Quando o mapa de configuração ibm-cloud-provider-vlan-ip-config for atualizado, um ALB público por zona será acionado para a criação.
  4. Um serviço de balanceador de carga que expõe o ALB é criado e designado a um endereço IP.
  5. O endereço IP do balanceador de carga é usado para registrar o subdomínio do Ingress em IBM NS1. IBM NS1 pode haver atrasos durante o processo de cadastro.

Clusters do VPC

  1. Quando você cria um cluster de VPC, um balanceador de carga VPC público e um privado são criados automaticamente fora do cluster em sua VPC.
  2. Um ALB público por zona é acionado para a criação.
  3. Um serviço de balanceador de carga que expõe o ALB é criado e designado a um nome do host.
  4. O nome do host do balanceador de carga é usado para registrar o subdomínio do Ingress em IBM NS1. IBM NS1 pode haver atrasos durante o processo de cadastro.

Criando um cluster depois de excluir um cluster do mesmo nome ou semelhante? Consulte Por que não existe nenhum subdomínio do Ingress após a criação de clusters com o mesmo nome ou com um nome semelhante?.

Geralmente, depois que o cluster está pronto, o subdomínio e o segredo do Ingress são criados após 15 minutos.

Se o subdomínio e o segredo do Ingress ainda estiverem indisponíveis após o seu cluster estar em um estado normal por mais de 15 minutos, será possível verificar o progresso do processo de criação seguindo estas etapas:

  1. Verifique se os nós do trabalhador possuem um Estado de normal e um Status de Ready. Após a criação do cluster, pode levar até 20 minutos para que os nós do trabalhador estejam prontos.

    ibmcloud ks worker ls -c CLUSTER_NAME_OR_ID
    

    Saída de exemplo

    ID                                                     Public IP         Private IP      Flavor              State     Status   Zone    Version
    kube-blrs3b1d0p0p2f7haq0g-mycluster-default-000001f7   169.xx.xxx.xxx    10.xxx.xx.xxx   u3c.2x4.encrypted   deployed   Ready    dal10   1.36
    
  2. Verifique se as etapas de pré-requisito para a sua criação de ALB estão concluídas.

    • Clusters clássicos: obtenha os detalhes do mapa de configuração ibm-cloud-provider-vlan-ip-config.
        kubectl describe cm ibm-cloud-provider-vlan-ip-config -n kube-system
        ```
    * Se o mapa de configuração mostrar endereços IP, continue com a próxima etapa.
    * Se a seção **Eventos** mostrar uma mensagem de aviso semelhante a `ErrorSubnetLimitReached: There are already the maximum number of subnets permitted in this VLAN`, consulte o [tópico de resolução de problemas de capacidade da VLAN](/docs/containers?topic=containers-cs_subnet_limit).
    
    Saída de exemplo de um mapa de configuração preenchido com endereços IP:
    ```sh {: screen}
    NAME:         ibm-cloud-provider-vlan-ip-config
    Namespace:    kube-system
    Labels:       <none>
    Annotations:  <none>
    Data
    ====
    reserved_public_vlan_id:
    ----
    vlanipmap.json:
    ----
    {
        "vlans": [
        {
          "id": "2234947",
          "subnets": [
            {
              "id": "2215454",
              "ips": [
                "10.XXX.XXX.XXX",
                "10.XXX.XXX.XXX",
                "10.XXX.XXX.XXX",
                "10.XXX.XXX.XXX",
                "10.XXX.XXX.XXX"
              ],
              "is_public": false,
              "is_byoip": false,
              "cidr": "10.XXX.XXX.X/29"
            }
          ],
          "zone": "dal10",
          "region": "us-south"
        },
        {
          "id": "2234945",
          "subnets": [
            {
              "id": "2219170",
              "ips": [
                "169.XX.XXX.XX",
                "169.XX.XXX.XX",
                "169.XX.XXX.XX",
                "169.XX.XXX.XX",
                "169.XX.XXX.XX"
              ],
              "is_public": true,
              "is_byoip": false,
              "cidr": "169.XX.XXX.X/29"
            }
          ],
          "zone": "dal10",
          "region": "us-south"
        }
        ],
        "vlan_errors": [],
        "reserved_ips": []
    }
    cluster_id:
    ----
    bmnj1b1d09lpvv3oof0g
    reserved_private_ip:
    ----
    reserved_private_vlan_id:
    ----
    reserved_public_ip:
    ----
    Events:  <none>
    
    • Clusters de VPC: verifique se o balanceador de carga de VPC dos seus ALBs existe. Na saída, procure o Nome do balanceador de carga da VPC que começa com kube-<cluster_ID>. Se você não tiver instalado o plug-in infrastructure-service, instale-o executando ibmcloud plugin install infrastructure-service.
        ibmcloud is load-balancers
        ```
    Mesmo que o balanceador de carga de VPC esteja listado, a sua entrada DNS ainda pode estar sendo registrada. Quando um balanceador de carga VPC é criado, o nome do host é registrado por meio de um DNS público. Às vezes, pode levar vários minutos para que essa entrada de DNS seja replicada para o DNS específico que o cliente está usando.
    {: note}
    
    
  3. Verifique se um ALB existe para o seu cluster e se o ALB possui um endereço IP (clusters clássicos) ou nome do host (clusters do VPC) designado.

    ibmcloud ks ingress alb ls -c <cluster_name_or_ID>
    

    Saída de exemplo

    ALB ID                                Enabled   Status     Type      ALB IP          Zone    Build                          ALB VLAN ID   NLB Version
    private-crbmnj1b1d09lpvv3oof0g-alb1   false     disabled   private   -               dal10   ingress:1.1.2_2507_iks   2234947       2.0
    public-crbmnj1b1d09lpvv3oof0g-alb1    true      enabled    public    169.XX.XXX.XX   dal10   ingress:1.1.2_2507_iks   2234945       2.0
    
    • Se um ALB público for listado e um endereço IP (clusters clássicos) ou um nome do host (clusters de VPC) forem designados a ele, continue para a próxima etapa.
    • Se um ALB público for listado, mas um endereço IP (clusters clássicos) ou um nome do host (clusters de VPC) não forem designados a ele, tente desativar e ativar novamente os ALBs.
      • Clusters clássicos:
        ibmcloud ks ingress alb disable --alb <ALB_ID> -c <cluster_name_or_ID>
        
        ibmcloud ks ingress alb enable classic --alb <ALB_ID> -c <cluster_name_or_ID>
        
      • Clusters de VPC:
        ibmcloud ks ingress alb disable --alb <ALB_ID> -c <cluster_name_or_ID>
        
        ibmcloud ks ingress alb enable vpc-gen2 --alb <ALB_ID> -c <cluster_name_or_ID>
        
    • Se nenhum ALB for criado após vários minutos, revise maneiras de obter ajuda.
  4. Verifique se o serviço LoadBalancer que expõe o ALB existe e é atribuído ao mesmo endereço IP (clusters clássicos) ou nome do host (clusters de VPC) que o ALB público.

    • Se um serviço LoadBalancer for listado e for designado a um endereço IP (clusters clássicos) ou a um nome do host (clusters de VPC), continue para a próxima etapa.
    • Se nenhum serviço LoadBalancer for criado após vários minutos, revise maneiras de obter ajuda.
    kubectl get svc -n kube-system | grep LoadBalancer
    

    Saída de exemplo

    public-crbmnj1b1d09lpvv3oof0g-alb1   LoadBalancer   172.21.XXX.XXX   169.XX.XXX.XX   80:30723/TCP,443:31241/TCP   1d
    
  5. Verifique novamente se o subdomínio e o segredo do Ingress foram criados. Se eles não estiverem disponíveis, mas você verificou que todos os componentes nas etapas 1 - 4 existem, revise as maneiras de obter ajuda.

    ibmcloud ks cluster get -c <cluster_name_or_ID>