In diesem Dokument wird gezeigt, wie Spring Cloud Config in einem Kf-Cluster bereitgestellt wird.
Mit Spring Cloud Config können Sie Anwendungscode aus der Laufzeitkonfiguration entkoppeln. Der Spring Cloud Config-Konfigurationsserver kann Konfigurationsdateien aus Git-Repositories, dem lokalen Dateisystem, den HashiCorp Vault-Servern oder Cloud Foundry CredHub lesen. Sobald der Konfigurationsserver die Konfiguration gelesen hat, kann diese Konfiguration als YAML, mit Java-Attributen oder JSON über HTTP formatiert und bereitgestellt werden.
Hinweis
Sie benötigen einen Cluster bei installiertem Kf und Zugriff auf die Kf-Befehlszeile.
Darüber hinaus benötigen Sie folgende Software:
git
: Git ist zum Klonen eines Repositorys erforderlich.
Spring Cloud Config-Konfigurationsserver herunterladen
So laden Sie die Konfigurationsserverquelle herunter:
- Öffnen Sie ein Terminalfenster.
Klonen Sie die Quelle für den Konfigurationsserver:
git clone --depth 1 "https://github.com/google/kf"
Konfigurationsserver konfigurieren und bereitstellen
So aktualisieren Sie die Einstellungen für die Instanz:
Ändern Sie das Verzeichnis in
spring-cloud-config-server
:cd kf/spring-cloud-config-server
Öffnen Sie
manifest.yaml
.Ändern Sie die Umgebungsvariable
GIT_URI
in den URI Ihres Git-Konfigurationsservers.Ändern Sie optional den Namen der Anwendung im Manifest.
Optional können Sie zusätzliche Attribute oder alternative Attributquellen konfigurieren. Bearbeiten Sie dazu
src/main/resources/application.properties
.Stellen Sie den Konfigurationsserver ohne externe Route bereit. Wenn Sie den Namen der Anwendung im Manifest geändert haben, aktualisieren Sie ihn hier:
kf push --no-route spring-cloud-config
Anwendungen an den Konfigurationsserver binden
Sie können einen vom Nutzer bereitgestellten Dienst erstellen, um den bereitgestellten Konfigurationsserver an andere Kf-Anwendungen im selben Cluster oder Namespace zu binden.
Wie Sie die Anwendungen konfigurieren, hängt von der verwendeten Bibliothek ab:
PCF-Anwendungen
Vorhandene PCF-Anwendungen, die die Pivotal Spring Cloud Services-Clientbibliothek verwenden, können mit der folgenden Methode gebunden werden:
Erstellen Sie einen vom Nutzer bereitgestellten Dienst mit dem Namen config-server. Dieser Schritt muss nur einmal pro Konfigurationsserver durchgeführt werden:
kf cups config-server -p '{"uri":"http://spring-cloud-config"}' -t configuration
Führen Sie für jede Anwendung, die Anmeldedaten benötigt, Folgendes aus:
kf bind-service application-name config-server
kf restart application-name
Dadurch wird ein Eintrag in der Umgebungsvariablen
VCAP_SERVICES
für den Konfigurationsserver erstellt.
Andere Apps
Anwendungen, die eine direkte Verbindung zu einem Spring Cloud Config-Konfigurationsserver herstellen können, sollten so konfiguriert werden, dass über den internen Cluster-URI darauf zugegriffen wird:
http://spring-cloud-config
- Für Spring-Anwendungen, die die Spring Cloud Config-Clientbibliothek verwenden, können Sie das Attribut
spring.cloud.config.uri
an der entsprechenden Stelle für Ihre Anwendung festlegen. Dies ist normalerweise eineapplication.properties
- oderapplication.yaml
-Datei. - Informationen zu anderen Frameworks finden Sie in den Referenzinformationen der Bibliothek.
Konfigurationsserver löschen
So entfernen Sie einen Konfigurationsserver:
Entfernen Sie alle Bindungen zum Konfigurationsserver. Führen Sie dazu für jede gebundene Anwendung die folgenden Befehle aus:
kf unbind-service application-name config-server
kf restart application-name
Entfernen Sie den Diensteintrag für den Konfigurationsserver:
kf delete-service config-server
Löschen Sie die Anwendung des Konfigurationsservers:
kf delete spring-cloud-config
Nächste Schritte
- Weitere Informationen zu den Arten von Konfigurationsquellen, die Spring Cloud Config unterstützt.
- Weitere Informationen über die Struktur der Umgebungsvariablen
VCAP_SERVICES
zum besseren Verständnis, wie sie für Service Discovery verwendet werden kann.