Service-Broker-Ressource über die Befehlszeilenschnittstelle (CLI) verwalten

Sie können einen Service-Broker (sog. ServiceBroker) bereitstellen, um die verfügbaren Services und Pläne anzuzeigen, eine Instanz anhand der verfügbaren Services und Pläne zu erstellen und Bindungen zu erstellen, um eine Verbindung zur Serviceinstanz herzustellen.

Sie können einen Beispielservice-Broker für die Community bereitstellen, um die Funktion zu testen, oder Ihren eigenen Service-Broker installieren, der auf der Open-Service-Broker-API-Spezifikation basiert.

Sie können den Kubernetes-Beispiel-Service-Broker ups_brokerWird in einer neuen Registerkarte geöffnet verwenden, um sich einen schnellen Überblick über die Service-Broker-Funktion zu verschaffen. Sie können ihn in Ihrem Cluster als Helm-Diagramm bereitstellen, indem Sie die folgenden Schritte ausführen:

  1. Optional können Sie ein neues Helm-Repository mit dem Namen charts erstellen, in das Sie den Service-Broker herunterladen können. Eine Beschreibung der Prozedur finden Sie unter Helm-Repository hinzufügen.

  2. Wenn Sie ein neues Repository erstellt haben, klonen Sie das Repository, um den Service-Broker in das neue Helm-Repository herunterzuladen.

  3. Wenn Sie kein neues Repositorys erstellt haben, können Sie das Service-Broker-Diagramm in ein vorhandenes Helm-Repository herunterladen. Wenn Sie kein Helm-Repository verwenden möchten, können Sie das Diagramm herunterladen und den Befehl helm install verwenden, um das Diagramm im Cluster zu installieren. Unter Helm-CLI (helm) installieren finden Sie weitere Informationen zum Befehl helm install.

  4. Führen Sie in der Helm-Befehlszeilenschnittstelle den folgenden Helm-Befehl aus, um den Service-Broker bereitzustellen:

    helm install charts/ups-broker --name ups-broker --namespace ups-broker
    
  5. Service-Broker beim IBM Cloud Private-Katalog registrieren

  6. ServiceClasses und ServicePlans anzeigen
  7. ServiceInstance erstellen
  8. ServiceInstance an eine Anwendung binden
  9. Bindung für ServiceInstance aufheben
  10. ServiceInstance löschen
  11. ServiceBroker löschen

Service-Broker beim IBM Cloud Private-Katalog für Services registrieren

Sie können einen Broker bei einem Service in Ihrem Cluster oder in Ihrem Namensbereich registrieren. Bevor Sie die Services und Pläne zum Erstellen einer Instanz anzeigen können, müssen Sie den Broker im Katalog für Services mit der Ressource ServiceBroker registrieren.

Service-Broker auf Clusterebene registrieren

Registrieren Sie einen Service-Broker auf Clusterebene in dem Katalog für Services. Führen Sie die folgenden Schritte aus:

  1. Erstellen Sie eine ServiceBroker-Ressource durch das Erstellen einer Datei broker.yaml, die die Brokerdetails enthält. Sie müssen Werte für den Namen des Brokers (name) und seine URL (url) angeben. Ihre Datei broker.yaml ähnelt möglicherweise dem folgenden Inhalt:

     apiVersion: servicecatalog.k8s.io/v1beta1
     kind: ClusterServiceBroker
     metadata:
       name: ups-broker
     spec:
       url: http://ups-broker-ups-broker.ups-broker.svc.cluster.local
    
    1. Führen Sie den folgenden Befehl aus, um die ServiceBroker-Ressource auf Clusterebene zu erstellen:

      kubectl create -f broker.yaml
      

Es wird ein Broker auf Clusterebene erstellt.

Service-Broker auf Namensbereichsebene registrieren

Führen Sie die folgenden Schritte aus, um einen Service-Broker auf Namensbereichsebene beim Katalog für Services zu registrieren:

  1. Erstellen Sie eine ServiceBroker-Ressource durch das Erstellen einer Datei ns-broker.yaml, die die Brokerdetails enthält. Sie müssen Werte für name, namespace und url des Brokers angeben. Ihre Datei ns-broker.yaml ähnelt möglicherweise dem folgenden Inhalt:

     apiVersion: servicecatalog.k8s.io/v1beta1
     kind: ServiceBroker
     metadata:
       name: ups-broker
       namespace: ns-broker
     spec:
       url: http://ups-broker-ups-broker.default.svc.cluster.local
    
  2. Führen Sie den folgenden Befehl aus, um die ServiceBroker-Ressource auf Namensbereichsebene zu erstellen:

       kubectl create -f ns-broker.yaml
    

Es wird ein Broker auf Namensbereichsebene erstellt.

ServiceClasses und ServicePlans anzeigen

Jeder Service verfügt über eine zugehörige ServiceClass-Ressource und kann über einen oder auch mehrere Pläne verfügen, die ihm zugeordnet sind.

ServiceInstance erstellen

Erstellen Sie eine ServiceInstance-Ressource durch das Erstellen einer Datei instance.yaml für einen Service-Broker. Sie müssen eine Instanz einer Serviceklasse erstellen, bevor Ihre Anwendungen sie benutzen können. Führen Sie die folgenden Schritte aus:

ServiceInstance für Broker auf Clusterebene erstellen

  1. Erstellen Sie in der Datei instance.yaml eine ServiceInstance-Ressource für Ihren Broker auf Clusterebene. Ihre Datei instance.yaml ähnelt möglicherweise dem folgenden Inhalt:

       apiVersion: servicecatalog.k8s.io/v1beta1
    kind: ServiceInstance
    metadata:
     name: ups-instance
     namespace: test-ns
    spec:
     clusterServiceClassExternalName: user-provided-service
     clusterServicePlanExternalName: default
     parameters:
       credentials:
         name: root
         password: letmein
    
  2. Erstellen Sie die Instanz, indem Sie den folgenden Befehl ausführen:

       kubectl create -f instance.yaml
    

Es wird eine Serviceinstanz für Ihren Cluster-Service-Broker erstellt.

ServiceInstance für Broker auf Namensbereichsebene erstellen

  1. Erstellen Sie in der Datei instance.yaml eine ServiceInstance-Ressource für Ihren Broker auf Namensbereichsebene. Ihre Datei instance.yaml ähnelt möglicherweise dem folgenden Inhalt:

       apiVersion: servicecatalog.k8s.io/v1beta1
       kind: ServiceInstance
       metadata:
         name: ups-ns-instance
         namespace: ns-broker
       spec:
         serviceClassExternalName: user-provided-service
         servicePlanExternalName: default
         parameters:
           credentials:
             name: root
             password: letmein
    
  2. Erstellen Sie die Instanz, indem Sie den folgenden Befehl ausführen:

       kubectl create -f ns-instance.yaml
    

Es wird eine Serviceinstanz für Ihren Namensbereichs-Service-Broker erstellt.

ServiceInstance anzeigen

Sie können Ihre ServiceInstance-Ressourcen über die Befehlszeilenschnittstelle (Command Line Interface, CLI) anzeigen.

Führen Sie die folgenden Schritte aus, um Ihre ServiceInstance-Ressourcen anzuzeigen:

  1. Rufen Sie den Namen des Namensbereichs ab, in dem sich die ServiceInstance-Ressource befindet:

     kubectl get serviceinstance -n test-ns
    
  2. Führen Sie den folgenden Befehl aus, um die Details zu Ihrer Ressource anzuzeigen:

     kubectl get serviceinstance ups-instance -n test-ns -o yaml
    

Sie können Ihre Ressourcen auch über die Managementkonsole anzeigen. Weitere Informationen finden Sie unter Ressourcen im Katalog für Services über die IBM Cloud Private Managementkonsole Wird in einer neuen Registerkarte geöffnet verwalten.

ServiceInstance an eine Anwendung binden

Führen Sie die folgenden Schritte aus, um die Serviceinstanz (ServiceInstance) an eine Anwendung zu binden:

  1. Erstellen Sie die Datei binding.yaml, mit der die Serviceinstanz an eine Anwendung gebunden wird. Sie müssen name und secretName für die Bindung angeben. Ihre Datei binding.yaml ähnelt möglicherweise dem folgenden Inhalt:

     apiVersion: servicecatalog.k8s.io/v1beta1
    kind: ServiceBinding
    metadata:
    name: <binding_name>
    namespace: test-ns
    spec:
    secretName: <secret_name>
    instanceRef:
     name: ups-instance
    

    Hinweis: Der Wert für den Parameter namespace der Datei binding.yaml muss denselben Wert wie der Namensbereich der Serviceinstanz haben. Das YAML-Beispiel für die Servicebindung gilt für Ressourcen auf Clusterebene, aber die YAML-Dateien auf Namensbereichsebene haben dasselbe Format.

    Weitere Informationen zu den Pod-Selektor-Bezeichnungen in der Kubernetes-Dokumentation finden Sie unter Labels and Selectors Wird in einer neuen Registerkarte geöffnet.

  2. Erstellen Sie mit dem folgenden Befehl eine Datei binding.yaml:

     kubectl create -f binding.yaml
    

    Der Servicekatalogcontroller erstellt einen geheimen Kubernetes-Schlüssel, der die Verbindungsdetails und Berechtigungsnachweise für die Serviceinstanz enthält.

  3. Führen Sie den folgenden Befehl aus, um die Details Ihrer Datei binding.yaml anzuzeigen:

     kubectl get servicebindings service_binding -o yaml
    
  4. Zeigen Sie die Details des geheimen Schlüssels an, um die Verbindung zu der Anwendung herzustellen. Führen Sie den folgenden Befehl aus:

     kubectl get secrets <secret_name> -o yaml
    

Bindung für ServiceInstance aufheben

Sie müssen die von Ihnen erstellte Servicebindung (ServiceBinding) löschen, bevor Sie die Bindung einer Instanz an eine Anwendung aufheben können. Nachdem Sie eine Bindung gelöscht haben, wird auch der geheime Schlüssel, den die Bindung verwendet, gelöscht.

Führen Sie den folgenden Befehl aus, um die Bindung einer Instanz aufzuheben:

  kubectl delete -n test-ns servicebindings ups-binding

ServiceInstance löschen

Löschen Sie die Serviceinstanz, indem Sie den folgenden Befehl ausführen:

  kubectl delete -n test-ns serviceinstances ups-instance

ServiceBroker löschen

Wenn Sie einen Cluster-Service-Broker (ClusterServiceBroker) löschen möchten, müssen Sie die Registrierung des Brokers aufheben. Führen Sie den folgenden Befehl aus, um die Registrierung des Brokers aufzuheben:

  kubectl delete clusterservicebrokers ups-broker

Wenn Sie einen NamespaceServiceBroker löschen möchten, müssen Sie die Registrierung des Brokers aufheben. Führen Sie den folgenden Befehl aus, um die Registrierung des Brokers aufzuheben:

  kubectl delete servicebrokers ups-broker -n ns-broker

Helm-Bereitstellung löschen

Wenn Sie den Service-Broker-Server bereinigen, müssen Sie die Helm-Bereitstellung löschen. Führen Sie den folgenden Befehl aus, um die Helm-Bereitstellung zu löschen:

  helm delete --purge ups-broker