删除处于“终止”状态的链接器kubernetes命名空间

时间:2020-06-03 21:51:27

标签: kubernetes digital-ocean kubectl linkerd kubernetes-namespace

这是资源状态:

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

Apiservices:

$ 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 个答案:

答案 0 :(得分:1)

您遇到的错误是由于apiservice v1alpha1.tap.linkerd.io无法正常运行(ServiceNotFound)引起的。很难说是什么原因造成的,但我可以看到两种解决方法:

  1. 如果您不需要该API,只需删除即可:kubectl delete apiservice v1alpha1.tap.linkerd.io

  2. 如果需要,您可以尝试删除与其相关的Pod,以便重新启动它们,看看是否有帮助。

之后,您应该能够删除提到的命名空间。

请告诉我是否有帮助。

答案 1 :(得分:1)

您可以运行linkerd uninstall | kubectl delete -f -,它将以正确的顺序删除资源,因此不会发生此错误。