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 oc 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:

Clusters clássicos:

  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 é atualizado, o controlador de ingresso é acionado para criação.
  4. Um serviço de balanceador de carga que expõe o controlador de ingresso é criado e um endereço IP designado a ele.
  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 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 controlador de ingresso público por zona é acionado para criação.
  3. Um serviço de balanceador de carga que expõe o controlador de ingresso é criado e um nome de host é designado a ele.
  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 Nenhum subdomínio do Ingress existirá depois que você criar clusters do mesmo nome ou semelhante como alternativa.

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. Efetue login no seu cluster. Como o subdomínio não está disponível, o console do Red Hat OpenShift não pode ser aberto. Em vez disso, você pode definir o contexto do cluster com a opção --admin por meio da CLI.

    ibmcloud oc cluster config -c CLUSTER_NAME_OR_ID --admin
    
  2. 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 oc 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.35
    
  3. Verifique se as etapas de pré-requisito para a sua criação do controlador de ingresso estão concluídas.

    • Clusters clássicos: obtenha os detalhes do mapa de configuração ibm-cloud-provider-vlan-ip-config.
    oc 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.

    Saída de exemplo de um mapa de configuração preenchido com endereços IP:

    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 da VPC para seus controladores Ingress 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.

  4. Verifique se o controlador de ingresso é criado com sucesso.

    1. Verifique se uma implementação do controlador de ingresso existe para o seu cluster.
      • Se uma implementação do controlador de ingresso estiver listada, continue com a próxima etapa.
      • Se nenhuma implementação do controlador de ingresso for criada após vários minutos, revise as maneiras de obter ajuda.
        oc get deployment -n openshift-ingress
        ```
        Saída de exemplo
        ```sh {: screen}
        NAME             READY   UP-TO-DATE   AVAILABLE   AGE
        router-default   2/2     2            2           26m
        ```
    2. Verifique se o serviço de balanceador de carga do controlador de ingresso existe e se um endereço IP externo público (clusters clássicos) ou um nome de host (clusters de VPC) é designado a ele.
        * Se um serviço que é denominado `router-default` for listado e estiver designado a um endereço IP (clusters clássicos) ou a um nome do host (clusters de VPC), continue na próxima etapa.
        * Se nenhum serviço `router-default` for criado após vários minutos, [revise as maneiras de obter ajuda](/docs/openshift?topic=openshift-get-help).
    
    ```sh {: pre}
        oc get svc -n openshift-ingress
        ```
        Saída de exemplo
        ```sh {: screen}
        NAME                      TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)                      AGE
        router-default            LoadBalancer   172.21.47.119   169.XX.XX.XX   80:31182/TCP,443:31154/TCP   27m
        router-internal-default   ClusterIP      172.21.51.30    <none>         80/TCP,443/TCP,1936/TCP      26m
        ```
    
  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-3 existem, revise as maneiras de obter ajuda.

    ibmcloud oc cluster get -c CLUSTER_NAME_OR_ID