Wenn Sie die Speicherrichtlinie mithilfe von vSphere Client aus vCenter Server oder einem Namespace im Supervisor entfernen, bleibt ihre übereinstimmende Speicherklasse zwar in der Kubernetes-Umgebung erhalten, sie kann aber nicht verwendet werden.

Problem

Bei der Ausführung des Befehls kubectl get sc wird die Speicherklasse in der Ausgabe weiterhin als im Namespace verfügbar angezeigt. Sie kann jedoch nicht verwendet werden. Wenn Sie beispielsweise versuchen, die Speicherklasse für eine neue Beanspruchung eines dauerhaften Volumes zu verwenden, schlägt dies fehl.

Falls die Speicherklasse bereits von einer Kubernetes-Bereitstellung verwendet wird, verhält sich die Bereitstellung möglicherweise unvorhersehbar.

Lösung

  1. Zur Überprüfung, welche Speicherklassen im Namespace vorhanden sind, führen Sie den Befehl kubectl describe namespace namespace_name aus.
    Die Speicherklasse wird in der Ausgabe für diesen Befehl nicht aufgeführt, wenn die übereinstimmende Speicherrichtlinie entfernt wurde.
  2. Falls die Speicherklasse bereits von einer Bereitstellung verwendet wird, stellen Sie die Speicherklasse wieder her.
    1. Erstellen Sie mithilfe von vSphere Client eine neue Speicherrichtlinie und geben Sie ihr den Namen der von Ihnen entfernten Richtlinie.
      Wenn Sie beispielsweise die Richtlinie Gold gelöscht haben, geben Sie der neuen Richtlinie den Namen Gold. Weitere Informationen finden Sie unter Erstellen von Speicherrichtlinien für vSphere with Tanzu in Installieren und Konfigurieren von vSphere with Tanzu.
    2. Weisen Sie die Richtlinie dem Namespace zu.
      Weitere Informationen finden Sie unter Ändern der Speichereinstellungen in einem Namespace in vSphere with Tanzu-Dienste und -Arbeitslasten.
      Nachdem Sie die Richtlinie dem Namespace zugewiesen haben, löscht vSphere with Tanzu die alte Speicherklasse und erstellt eine übereinstimmende Speicherklasse mit demselben Namen.