이 섹션에는 Tanzu Kubernetes Grid를 설치하고 이를 사용하여 워크로드 클러스터를 배포할 때 발생할 수 있는 일반적인 문제를 해결하는 데 도움이 되는 팁이 포함되어 있습니다.
kubectl
로 사용자, 컨텍스트, 클러스터 삭제사용자, 컨텍스트, 클러스터의 일부 또는 전체를 삭제하여 kubectl
상태를 정리하려면 다음을 수행합니다.
~/.kube/config
및 ~/.kube-tkg/config
파일을 엽니다.
삭제할 user
개체에 대해 다음을 실행합니다.
kubectl config unset users.USER-NAME
kubectl config unset users.USER-NAME --kubeconfig ~/.kube-tkg/config
여기서 USER-NAME
은 config
파일에 있는 대로 각 최상위 user
개체의 name
속성입니다.
삭제할 context
개체에 대해 다음을 실행합니다.
kubectl config unset contexts.CONTEXT-NAME
kubectl config unset contexts.CONTEXT-NAME --kubeconfig ~/.kube-tkg/config
여기서 CONTEXT-NAME
은 name
파일에 있는 대로 각 최상위 context
개체의 config
속성입니다(일반적으로 contexts.mycontext-admin@mycontext
형식).
삭제할 cluster
개체에 대해 다음을 실행합니다.
kubectl config unset clusters.CLUSTER-NAME
kubectl config unset clusters.CLUSTER-NAME --kubeconfig ~/.kube-tkg/config
여기서 CLUSTER-NAME
은 config
파일에 있는 대로 각 최상위 cluster
개체의 name
속성입니다.
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 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 플래그와 함께 제공된 서비스 계정이 설치된 다른 패키지에서 이미 사용되고 있습니다. |
패키지 플러그인이 서비스 계정을 생성하도록 허용하거나 다른 서비스 계정 이름을 선택하십시오. |
문제
생성된 클러스터에서 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
.