kubectl get apps.kf.dev my-app -n my-space -o yaml
아래 탭에서 문제를 선택합니다.
객체가 조정되지 않음
metadata.generation의 값을 확인합니다. 이 숫자는 객체가 업데이트될 때마다 증가합니다. 숫자가 너무 높으면 두 Kubernetes 컨트롤러가 객체를 점유하려고 서로 싸우는 중일 가능성이 매우 높습니다. 클러스터에서 객체가 원하지 않는 상태로 바뀔 수 있는 정책이 적용되었는지 확인합니다.
객체가 속한 네임스페이스가 삭제되는지 확인합니다. 이 경우에는 객체가 조정되지 않을 수 있습니다.
status.observedGeneration 필드가 있는지 확인합니다. 그렇지 않으면 컨트롤러가 객체에 대해 아직 실행되지 않았을 수 있습니다. kf doctor를 사용하여 클러스터 및 컨트롤러가 정상 상태인지 확인합니다.
metadata.generation 필드가 status.observedGeneration 필드와 일치하는지 확인합니다. 그렇지 않으면 kf doctor를 사용하여 클러스터와 컨트롤러가 정상 상태인지 확인합니다.
status.conditions 목록의 오류를 일반적인 오류 이유 목록에서 확인합니다.
NotOwned: 이 리소스는 이 객체가 생성하려는 대상으로 클러스터 또는 네임스페이스에 존재하는 또 다른 리소스입니다. 메시지를 읽고 중복 이름을 찾거나 충돌하는 리소스 또는 Kf 객체 이름을 바꿉니다.
TemplateError: Kf 리소스 사양 또는 Kf 구성이 잘못되어 하위 리소스가 잘못 조정됩니다. Kf 객체 및 Kf 공간의 설정을 검사합니다.
CacheOutdated: Kf 컨트롤러가 Kubernetes에서 업데이트를 빠르게 수신하지 못합니다. Kubernetes 클러스터 상태를 확인합니다.
ReconciliationError: Kf 컨트롤러가 필요한 하위 리소스를 만들 수 없습니다. 클러스터가 정상 상태이고, Kf가 실행 중이고, Kf가 메시지에 참조된 객체를 생성하지 못하도록 방해하는 정책이 적용되지 않았는지 확인합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[],[],null,["# Troubleshoot Kf\n\nUse these steps to troubleshoot various issues that can occur when running Kf.\n\n\u003cbr /\u003e\n\nFailures when installing Kf\n---------------------------\n\n### Error from server (Bad Request): Invalid character\n\nIf you see this error when setting config defaults, it is likely the value of the `${DOMAIN}` env var used in the command includes an escaped '$'. Use single quotes to define a domain with a space name or other substitution: \n\n Error from server (BadRequest): invalid character '$' in string escape code\n\nErrors with Kf Kubernetes objects\n---------------------------------\n\nFollow these instructions to troubleshoot Kf Kubernetes\nobjects.\n\n1. Find the name of the Kubernetes resource type you want to troubleshoot by\n listing all Kf resources:\n\n kubectl api-resources --api-group=kf.dev\n\n Example output: \n\n NAME SHORTNAMES APIGROUP NAMESPACED KIND\n apps kf.dev true App\n builds kf.dev true Build\n clusterservicebrokers kf.dev false ClusterServiceBroker\n routes kf.dev true Route\n servicebrokers kf.dev true ServiceBroker\n serviceinstancebindings kf.dev true ServiceInstanceBinding\n serviceinstances kf.dev true ServiceInstance\n spaces kf.dev false Space\n\n2. Get the instance of the resource you want to troubleshoot using `kubectl`.\n If the object isn't in a namespace, omit the `-n` flag:\n\n kubectl get \u003cvar translate=\"no\"\u003eapi-resource-name\u003c/var\u003e.kf.dev \u003cvar translate=\"no\"\u003eobject-name\u003c/var\u003e -n \u003cvar translate=\"no\"\u003espace-name\u003c/var\u003e -o yaml\n\n For example: \n\n kubectl get apps.kf.dev my-app -n my-space -o yaml\n\n3. Select your problem from the tabs below:\n\n ### Object isn't reconciling\n\n 1. Check the value of `metadata.generation`. This number is incremented each time the object is updated. If the number is extremely high it's likely two Kubernetes controllers are fighting over the object. Check your cluster to see if any policies are being applied to the object which might be changing it from the desired state.\n 2. Check to see if the namespace the object belongs to is deleting. If it is, the object may not be reconciled.\n 3. Check that the `status.observedGeneration` field exists. If it doesn't, the controller might not have executed against the object yet. Validate that the cluster and controllers are healthy using `kf doctor`.\n 4. Check that the `metadata.generation` field matches the `status.observedGeneration` field. If it doesn't, validate that the cluster and controllers are healthy using `kf doctor`.\n 5. Check for failures in the `status.conditions` list against this list of\n common error reasons:\n\n - `NotOwned`: There is another resource that exists in the cluster or namespace as the one this object is trying to create. Read the message to find the duplicate name and either rename the conflicting resource or the Kf object.\n - `TemplateError`: There is a misconfiguration in the Kf resource spec or Kf configuration causing the child resource to be incorrectly reconciled. Validate the settings of the Kf object and the Kf space.\n - `CacheOutdated`: The Kf controller isn't receiving updates from Kubernetes fast enough. Check the health of the Kubernetes cluster.\n - `ReconciliationError`: The Kf controller can't create the necessary child resource. Check to make sure your cluster is healthy, Kf is running, and that there are no policies being enforced that are preventing Kf from creating the object referenced in the message.\n\n ### Object isn't deleting\n\n 1. Check that the `metadata.deletionTimestamp` of the object was set. If it wasn't set, then the requested deletion didn't work.\n 2. Check that the `metadata.deletionTimestamp` of the object is in the past. If it's in the future, the object may not delete.\n 3. Check if a `metadata.finalizers` list exists on the object. If finalizers are present, the object must wait for them to be removed before it is deleted. If you want to force a deletion without waiting for the finalizers, edit the object to remove them.\n 4. Child objects may exist that are preventing the object from being deleted. Have an administrator check all objects in the namespace and cluster to see if one of them needs to be manually deleted first."]]