Tanzu Kubernetes Grid 문제 해결

이 섹션에는 Tanzu Kubernetes Grid를 설치하고 이를 사용하여 워크로드 클러스터를 배포할 때 발생할 수 있는 일반적인 문제를 해결하는 데 도움이 되는 팁이 포함되어 있습니다.

일반 작업

kubectl로 사용자, 컨텍스트, 클러스터 삭제

사용자, 컨텍스트, 클러스터의 일부 또는 전체를 삭제하여 kubectl 상태를 정리하려면 다음을 수행합니다.

  1. ~/.kube/config~/.kube-tkg/config 파일을 엽니다.

  2. 삭제할 user 개체에 대해 다음을 실행합니다.

    kubectl config unset users.USER-NAME
    kubectl config unset users.USER-NAME --kubeconfig ~/.kube-tkg/config
    

    여기서 USER-NAMEconfig 파일에 있는 대로 각 최상위 user 개체의 name 속성입니다.

  3. 삭제할 context 개체에 대해 다음을 실행합니다.

    kubectl config unset contexts.CONTEXT-NAME
    kubectl config unset contexts.CONTEXT-NAME --kubeconfig ~/.kube-tkg/config
    

    여기서 CONTEXT-NAMEname 파일에 있는 대로 각 최상위 context 개체의 config 속성입니다(일반적으로 contexts.mycontext-admin@mycontext 형식).

  4. 삭제할 cluster 개체에 대해 다음을 실행합니다.

    kubectl config unset clusters.CLUSTER-NAME
    kubectl config unset clusters.CLUSTER-NAME --kubeconfig ~/.kube-tkg/config
    

    여기서 CLUSTER-NAMEconfig 파일에 있는 대로 각 최상위 cluster 개체의 name 속성입니다.

  5. config 파일에 현재 컨텍스트가 삭제한 클러스터로 나열되면 컨텍스트를 설정 해제합니다.

    kubectl config unset current-context
    kubectl config unset current-context --kubeconfig ~/.kube-tkg/config
    

패키지

tanzu package repository를 실행할 때 오류

문제

tanzu package repository 명령이 오류와 함께 실패합니다.

솔루션

kubectl get pkgr REPOSITORY-NAME -n NAMESPACE -o yaml​을 실행하여 오류 세부 정보를 확인합니다.

형식 설명:

  • REPOSITORY-NAME은 패키지 저장소의 이름입니다.
  • NAMESPACE는 패키지 저장소의 대상 네임스페이스입니다.

tanzu package repository 명령이 다음과 유사한 오류와 함께 실패할 수 있습니다.

Error 설명 솔루션
NOT_FOUND 저장소 URL 경로가 잘못되었습니다. 클러스터에서 패키지 저장소의 URL에 연결할 수 있는지 확인합니다.
UNKNOWN 또는 UNAUTHORIZED 이 오류는 저장소에 연결하려고 할 때 발생할 수 있습니다.
Ownership 동일한 패키지 저장소 URL을 가진 저장소가 클러스터에 이미 설치되어 있습니다. 다음 중 하나를 수행합니다.
  • tanzu package available list -n NAMESPACE를 실행하여 설치하려는 패키지를 이미 설치할 수 있는지 확인합니다. 저장소를 추가하려는 현재 실패한 시도를 되돌리려면 tanzu package repository delete REPOSITORY-NAME -n NAMESPACE를 실행합니다.
  • tanzu package repository list -A를 실행하여 동일한 URL로 기존 패키지 저장소를 검색합니다. 패키지 저장소를 검색하는 경우 패키지 저장소 삭제를 계속 진행할 수 있습니다.

tanzu package installed를 실행할 때 오류

문제

tanzu package installed 명령이 오류와 함께 실패합니다.

솔루션

kubectl get pkgi INSTALLED-PACKAGE-NAME -n NAMESPACE -o yaml​을 실행하여 오류 세부 정보를 확인합니다.

형식 설명:

  • INSTALLED-PACKAGE-NAME은 설치된 패키지의 이름입니다.
  • NAMESPACE는 설치된 패키지의 네임스페이스입니다.

tanzu package installed 명령이 다음과 유사한 오류와 함께 실패할 수 있습니다.


Error 설명 솔루션
Ownership 이름이 같은 패키지가 클러스터에 이미 설치되어 있습니다. tanzu package installed list -A를 실행하여 설치하려는 패키지가 이미 설치되어 있는지 확인합니다. 설치를 계속하려면 이미 설치된 패키지를 사용하거나, 해당 버전을 업데이트하거나, 패키지를 삭제해야 할 수 있습니다.
Evaluating starlark template 이 오류는 나열된 구성 값이 누락된 경우 발생할 수 있습니다. 사용 가능한 모든 구성 값을 보려면 tanzu package available get AVAILABLE-PACKAGE-NAME/VERSION -n NAMESPACE –values-schema를 실행하고 필요한 구성 값을 tanzu package install 명령에 삽입합니다.
Failed to find a package with name PACKAGE-NAME in namespace NAMESPACE 지정된 패키지 및 패키지 메타데이터를 대상 네임스페이스에서 사용할 수 없습니다. 지정된 패키지가 tanzu package available list AVAILABLE-PACKAGE-NAME -n NAMESPACE​ 출력에 나와 있는지 확인합니다. 그렇지 않은 경우 패키지가 포함된 패키지 저장소를 대상 네임스페이스에 추가합니다.
Namespace NAMESPACE not found 패키지를 설치하려는 네임스페이스가 없습니다. 네임스페이스를 생성하려면 tanzu package install과 함께 —create-namespace 플래그를 사용합니다.
Provided service account SERVICE-ACCOUNT-NAME is already used by another package in namespace NAMESPACE​ service-account-name 플래그와 함께 제공된 서비스 계정이 설치된 다른 패키지에서 이미 사용되고 있습니다. 패키지 플러그인이 서비스 계정을 생성하도록 허용하거나 다른 서비스 계정 이름을 선택하십시오.

포드

vCenter 연결로 인해 포드가 클러스터에서 보류 중 상태로 중단됨

문제

생성된 클러스터에서 kubectl get pods -A를 실행하면 일부 포드가 보류 중 상태로 유지됩니다.

영향을 받는 포드에서 kubectl describe pod -n pod-namespace pod-name을 실행하고 다음 이벤트를 확인합니다.

n node(s) had taint {node.cloudprovider.kubernetes.io/uninitialized: true}, that the pod didn't tolerate

솔루션

클러스터와 vCenter 간의 통신을 보장하기 위해 연결 및 방화벽 규칙이 있는지 확인합니다. 방화벽 포트 및 프로토콜 요구 사항은 VMware Ports and Protocols vSphere 8 목록을 참조하십시오.

워크로드 클러스터

클러스터 배포 시간이 초과되었지만 클러스터가 생성됨

문제

tanzu cluster create 실행이 실패하고 다음과 유사한 시간 초과 오류가 표시됩니다.

I0317 11:11:16.658433 clusterclient.go:341] Waiting for resource my-cluster of type *v1beta1.Cluster to be up and running
E0317 11:26:16.932833 common.go:29]
Error: unable to wait for cluster and get the cluster kubeconfig: error waiting for cluster to be created (this may take a few minutes): cluster control plane is still being initialized
E0317 11:26:16.933251 common.go:33]

솔루션

--timeout 플래그를 사용하여 클러스터 생성이 완료될 때까지 기다리는 시간을 지정합니다. 기본 대기 시간은 30분입니다.

tanzu cluster create --timeout TIME

여기서 TIME은 클러스터 생성이 완료될 때까지 기다리는 시간(분)입니다. 예: 60m.

check-circle-line exclamation-circle-line close-line
Scroll to top icon