Удалить пространство имен linkerd kubernetes в статусе "завершение"
Это статус ресурса:
kind: Namespace
api
Version: v1
metadata:
name: linkerd
selfLink: /api/v1/namespaces/linkerd
uid: e7337b2b-bddb-4344-a986-d450973bc8cf
resourceVersion: '5540346'
creationTimestamp: '2020-05-10T13:49:21Z'
deletionTimestamp: '2020-06-03T20:16:30Z'
labels:
config.linkerd.io/admission-webhooks: disabled
linkerd.io/is-control-plane: 'true'
spec:
finalizers:
- kubernetes
status:
phase: Terminating
conditions:
- type: NamespaceDeletionDiscoveryFailure
status: 'True'
lastTransitionTime: '2020-06-03T20:16:44Z'
reason: DiscoveryFailed
message: >-
Discovery failed for some groups, 1 failing: unable to retrieve the
complete list of server APIs: tap.linkerd.io/v1alpha1: the server is
currently unable to handle the request
- type: NamespaceDeletionGroupVersionParsingFailure
status: 'False'
lastTransitionTime: '2020-06-03T20:16:38Z'
reason: ParsedGroupVersions
message: All legacy kube types successfully parsed
- type: NamespaceDeletionContentFailure
status: 'False'
lastTransitionTime: '2020-06-03T20:16:38Z'
reason: ContentDeleted
message: 'All content successfully deleted, may be waiting on finalization'
- type: NamespaceContentRemaining
status: 'False'
lastTransitionTime: '2020-06-03T20:16:57Z'
reason: ContentRemoved
message: All content successfully removed
- type: NamespaceFinalizersRemaining
status: 'False'
lastTransitionTime: '2020-06-03T20:16:38Z'
reason: ContentHasNoFinalizers
message: All content-preserving finalizers finished
Услуги:
$ kubectl get apiservice
NAME SERVICE AVAILABLE AGE
v1. Local True 28d
v1.admissionregistration.k8s.io Local True 28d
v1.apiextensions.k8s.io Local True 28d
v1.apps Local True 28d
v1.authentication.k8s.io Local True 28d
v1.authorization.k8s.io Local True 28d
v1.autoscaling Local True 28d
v1.batch Local True 28d
v1.coordination.k8s.io Local True 28d
v1.networking.k8s.io Local True 28d
v1.rbac.authorization.k8s.io Local True 28d
v1.scheduling.k8s.io Local True 28d
v1.storage.k8s.io Local True 28d
v1alpha1.linkerd.io Local True 18d
v1alpha1.snapshot.storage.k8s.io Local True 28d
v1alpha1.split.smi-spec.io Local True 18d
v1alpha1.tap.linkerd.io linkerd/linkerd-tap False (ServiceNotFound) 24d
v1alpha2.acme.cert-manager.io Local True 18d
v1alpha2.cert-manager.io Local True 18d
v1alpha2.linkerd.io Local True 18d
v1beta1.admissionregistration.k8s.io Local True 28d
v1beta1.apiextensions.k8s.io Local True 28d
v1beta1.authentication.k8s.io Local True 28d
v1beta1.authorization.k8s.io Local True 28d
v1beta1.batch Local True 28d
v1beta1.certificates.k8s.io Local True 28d
v1beta1.coordination.k8s.io Local True 28d
v1beta1.discovery.k8s.io Local True 18d
v1beta1.events.k8s.io Local True 28d
v1beta1.extensions Local True 28d
v1beta1.networking.k8s.io Local True 28d
v1beta1.node.k8s.io Local True 28d
v1beta1.policy Local True 28d
v1beta1.rbac.authorization.k8s.io Local True 28d
v1beta1.scheduling.k8s.io Local True 28d
v1beta1.storage.k8s.io Local True 28d
v2.cilium.io Local True 18d
v2beta1.autoscaling Local True 28d
v2beta2.autoscaling Local True 28d
Пытался удалить финализатор, ничего не сделал. Также пробовал удалить с помощью--grace-period=0 --force
еще ничего. Он не отображает никаких ресурсов в пространстве имен.
Что еще я могу сделать для принудительного удаления?
2 ответа
Возникшая ошибка вызвана службой apiservice v1alpha1.tap.linkerd.io
который не работает (ServiceNotFound
). Трудно сказать, чем это вызвано, но я вижу два выхода:
Если вам не нужен этот API, просто удалите его:
kubectl delete apiservice v1alpha1.tap.linkerd.io
.Если вам это нужно, вы можете попробовать удалить связанные с ним поды, чтобы перезапустить их и посмотреть, поможет ли это.
После этого вы сможете удалить упомянутое пространство имен.
Пожалуйста, дайте мне знать, если это поможет.
Вы можете запустить linkerd uninstall | kubectl delete -f -
и он удалит ресурсы в правильном порядке, чтобы эта ошибка не возникла.