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

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

클러스터를 작성하고 ibmcloud ks 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 구성 맵이 업데이트되면 구역당 하나의 공용 ALB가 작성을 위해 트리거됩니다.
  4. ALB를 노출하는 로드 밸런서 서비스가 작성되고 IP 주소가 지정됩니다.
  5. 로드 밸런서의 IP 주소는 IBM NS1 에서 Ingress 하위 도메인을 등록하는 데 사용됩니다. IBM NS1 등록 과정에서 지연이 발생할 수 있습니다.

VPC 클러스터

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

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

일반적으로 클러스터를 준비하고 15분 후에 Ingress 하위 도메인 및 시크릿이 작성됩니다.

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

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

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

    • 클래식 클러스터: ‘ ibm-cloud-provider-vlan-ip-config ’ 구성 맵에 대한 세부 정보를 확인하세요.
        kubectl 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 용량 문제점 해결 주제](/docs/containers?topic=containers-cs_subnet_limit)를 참조하십시오.
    
    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>
    
    • VPC 클러스터: 해당 ALB에 대한 VPC 로드 밸런서가 존재하는지 확인하십시오. 출력에서 kube-<cluster_ID>로 시작하는 VPC 로드 밸런서 Name을 찾으십시오. infrastructure-service 플러그인을 설치하지 않은 경우 ibmcloud plugin install infrastructure-service를 실행하여 설치하십시오.
        ibmcloud is load-balancers
        ```
    VPC 로드 밸런서가 나열되는 경우에도 DNS 항목이 계속 등록 중일 수 있습니다. VPC 로드 밸런서가 작성될 때, 호스트 이름은 공용 DNS를 통해 등록됩니다. 경우에 따라 이 DNS 항목이 클라이언트가 사용 중인 특정 DNS에 복제되는 데 몇 분이 소요될 수 있습니다.
    {: note}
    
    
  3. 클러스터에 대한 ALB가 있으며 이 ALB에 IP 주소(클래식 클러스터) 또는 호스트 이름(VPC 클러스터)이 지정되어 있는지 확인하십시오.

    ibmcloud ks ingress alb ls -c <cluster_name_or_ID>
    

    출력 예

    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
    
    • 공용 ALB가 나열되고 IP 주소(클래식 클러스터) 또는 호스트 이름(VPC 클러스터)이 지정되면 다음 단계를 계속하십시오.
    • 공용 ALB가 나열되지만 IP 주소(클래식 클러스터) 또는 호스트 이름(VPC 클러스터)이 지정되지 않으면 사용하지 않도록 시도하고 ALB를 다시 사용하도록 설정하십시오.
      • 클래식 클러스터:
        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>
        
      • 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>
        
    • 몇 분 후에 ALB가 작성되지 않으면 도움을 받을 수 있는 방법을 검토하십시오.
  4. ALB를 노출하는 LoadBalancer 서비스가 존재하고 공용 ALB와 동일한 IP 주소(클래식 클러스터) 또는 호스트 이름(VPC 클러스터)이 지정되는지를 확인하십시오.

    • LoadBalancer 서비스가 나열되고 IP 주소(클래식 클러스터) 또는 호스트 이름(VPC 클러스터)이 지정되면 다음 단계를 계속하십시오.
    • 몇 분 후에 LoadBalancer가 작성되지 않으면 도움을 받을 수 있는 방법을 검토하십시오.
    kubectl get svc -n kube-system | grep LoadBalancer
    

    출력 예

    public-crbmnj1b1d09lpvv3oof0g-alb1   LoadBalancer   172.21.XXX.XXX   169.XX.XXX.XX   80:30723/TCP,443:31241/TCP   1d
    
  5. Ingress 하위 도메인 및 시크릿이 작성되는지 여부를 다시 확인하십시오. 이러한 항목을 사용할 수 없지만 1 - 4단계의 모든 컴포넌트가 있는지 확인한 경우 도움을 받는 방법을 검토하십시오.

    ibmcloud ks cluster get -c <cluster_name_or_ID>