Удалить пространство имен 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). Трудно сказать, чем это вызвано, но я вижу два выхода:

  1. Если вам не нужен этот API, просто удалите его: kubectl delete apiservice v1alpha1.tap.linkerd.io.

  2. Если вам это нужно, вы можете попробовать удалить связанные с ним поды, чтобы перезапустить их и посмотреть, поможет ли это.

После этого вы сможете удалить упомянутое пространство имен.

Пожалуйста, дайте мне знать, если это поможет.

Вы можете запустить linkerd uninstall | kubectl delete -f - и он удалит ресурсы в правильном порядке, чтобы эта ошибка не возникла.

Другие вопросы по тегам