클러스터 작성 후에 Ingress 하위 도메인이 존재하지 않는 이유는 무엇입니까?

가상 프라이빗 클라우드 클래식 인프라

클러스터를 작성하고 ibmcloud oc cluster get --cluster CLUSTER를 실행하여 상태를 확인하십시오. 클러스터 **상태(state)**가 normal이지만 Ingress 하위 도메인Ingress 시크릿을 사용할 수 없습니다.

클러스터가 normal 상태이더라도 Ingress 하위 도메인 및 시크릿이 진행 중일 수 있습니다. Ingress 하위 도메인 및 시크릿 생성은 완료되는 데 15분 이상 걸릴 수 있습니다:

클래식 클러스터:

  1. 작업자 노드가 완전히 배치되고 VLAN에서 준비가 되면, VLAN의 휴대용 공용 및 휴대용 사설 서브넷을 요청합니다.
  2. 휴대용 서브넷 요청이 성공적으로 충족된 후에는 ibm-cloud-provider-vlan-ip-config 구성 맵이 휴대용 공용 및 휴대용 사설 IP 주소로 업데이트됩니다.
  3. ibm-cloud-provider-vlan-ip-config 구성 맵이 업데이트되면 Ingress 제어기가 작성을 위해 트리거됩니다.
  4. Ingress 제어기를 노출하는 로드 밸런서 서비스가 작성되고 IP 주소가 지정됩니다.
  5. 로드 밸런서의 IP 주소는 IBM NS1 에서 Ingress 하위 도메인을 등록하는 데 사용됩니다. IBM NS1 등록 과정에서 지연이 발생할 수 있습니다.

VPC 클러스터:

  1. VPC 클러스터를 작성하면 하나의 공용 VPC 로드 밸런서 및 하나의 사설 VPC 로드 밸런서가 VPC의 클러스터 외부에 자동으로 작성됩니다.
  2. 구역당 하나의 공용 Ingress 제어기가 작성을 위해 트리거됩니다.
  3. Ingress 제어기를 노출하는 로드 밸런서 서비스가 작성되고 호스트 이름이 지정됩니다.
  4. 로드 밸런서의 호스트명은 IBM NS1 에서 Ingress 하위 도메인을 등록하는 데 사용됩니다. IBM NS1 등록 과정에서 지연이 발생할 수 있습니다.

이름이 동일하거나 유사한 클러스터를 삭제한 후 클러스터를 작성하고 계십니까? 동일하거나 유사한 이름의 클러스터를 작성한 후 Ingress 하위 도메인이 없음을 대신 참조하십시오.

일반적으로 클러스터를 준비하고 15분 후에 Ingress 하위 도메인 및 시크릿이 작성됩니다. 클러스터가 15분 이상 normal 상태가 된 후에도 Ingress 하위 도메인 및 시크릿을 계속 사용할 수 없으면 다음 단계를 수행하여 작성 프로세스 진행상태를 확인할 수 있습니다.

  1. 클러스터에 로그인하십시오. 하위 도메인을 사용할 수 없으므로 Red Hat OpenShift 콘솔을 열 수 없습니다. 대신, CLI를 통해 --admin 옵션을 사용하여 클러스터 컨텍스트를 설정할 수 있습니다.

    ibmcloud oc cluster config -c CLUSTER_NAME_OR_ID --admin
    
  2. 작업자 노드의 **상태(state)**가 normal이고 **상태(Status)**가 Ready인지 확인하십시오. 클러스터를 작성한 후 작업자 노드를 준비하려면 최대 20분이 소요될 수 있습니다.

    ibmcloud oc worker ls -c CLUSTER_NAME_OR_ID
    

    출력 예

    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. Ingress 제어기 작성을 위한 전제조건 단계가 완료되었는지 확인하십시오.

    • 클래식 클러스터: ‘ ibm-cloud-provider-vlan-ip-config ’ 구성 맵에 대한 세부 정보를 확인하세요.
    oc describe cm ibm-cloud-provider-vlan-ip-config -n kube-system
    
    • 구성 맵에서 IP 주소가 표시되면 다음 단계를 계속하십시오.
    • 이벤트 섹션에서 ErrorSubnetLimitReached: There are already the maximum number of subnets permitted in this VLAN과 유사한 경고 메시지가 표시되면 VLAN 용량 문제점 해결 주제를 참조하십시오.

    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>
    
    • VPC 클러스터: Ingress 컨트롤러에 대한 VPC 로드 밸런서가 존재하는지 확인하십시오. 출력에서 kube-<cluster_ID>로 시작하는 VPC 로드 밸런서 Name을 찾으십시오. infrastructure-service 플러그인을 설치하지 않은 경우 ibmcloud plugin install infrastructure-service를 실행하여 설치하십시오.
    ibmcloud is load-balancers
    

    VPC 로드 밸런서가 나열되는 경우에도 DNS 항목이 계속 등록 중일 수 있습니다. VPC 로드 밸런서가 작성될 때, 호스트 이름은 공용 DNS를 통해 등록됩니다. 경우에 따라 이 DNS 항목이 클라이언트가 사용 중인 특정 DNS에 복제되는 데 몇 분이 소요될 수 있습니다.

  4. Ingress 제어기가 정상적으로 작성되었는지 확인하십시오.

    1. 클러스터에 대한 Ingress 제어기 배치가 존재하는지 확인하십시오.
      • Ingress 제어기 배치가 나열되면 다음 단계로 진행하십시오.
      • 몇 분 후에 Ingress 제어기 배치가 작성되지 않으면 도움을 받는 방법을 검토하십시오.
        oc get deployment -n openshift-ingress
        ```
        출력 예
        ```sh {: screen}
        NAME             READY   UP-TO-DATE   AVAILABLE   AGE
        router-default   2/2     2            2           26m
        ```
    2. Ingress 제어기의 로드 밸런서 서비스가 존재하며 공인 외부 IP 주소(클래식 클러스터) 또는 호스트 이름(VPC 클러스터)이 지정되었는지 확인하십시오.
        * `router-default`라는 서비스가 나열되며 여기에 IP 주소(클래식 클러스터) 또는 호스트 이름(VPC 클러스터)이 지정된 경우에는 다음 단계로 진행하십시오.
        * 몇 분 후에 `router-default` 서비스가 작성되지 않으면 [도움을 얻는 방법을 검토](/docs/openshift?topic=openshift-get-help)하십시오.
    
    ```sh {: pre}
        oc get svc -n openshift-ingress
        ```
        출력 예
        ```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. Ingress 하위 도메인 및 시크릿이 작성되는지 여부를 다시 확인하십시오. 이러한 항목을 사용할 수 없지만 1 - 3단계의 모든 컴포넌트가 존재하는지 확인한 경우 도움을 받는 방법을 검토하십시오.

    ibmcloud oc cluster get -c CLUSTER_NAME_OR_ID