Udostępnij za pośrednictwem


Konfigurowanie zarządzanego serwera konfiguracji Spring Cloud w usłudze Azure Spring Apps

Uwaga

Azure Spring Apps to nowa nazwa usługi Azure Spring Cloud. Mimo że usługa ma nową nazwę, stara nazwa będzie widoczna w niektórych miejscach przez pewien czas, ponieważ pracujemy nad aktualizowaniem zasobów, takich jak zrzuty ekranu, filmy wideo i diagramy.

Ten artykuł dotyczy: ✔️ Java ✔️ C#

Ten artykuł dotyczy: ✔️ Użycie standardowe i dedykowane (wersja zapoznawcza) ✔️ w warstwie Podstawowa/Standardowa ✔️ Enterprise

W tym artykule pokazano, jak skonfigurować zarządzany serwer Spring Cloud Config Server w usłudze Azure Spring Apps.

Serwer Spring Cloud Config Server zapewnia obsługę po stronie serwera i klienta dla konfiguracji zewnętrznej w systemie rozproszonym. Wystąpienie serwera Spring Cloud Config Server zapewnia centralne miejsce do zarządzania właściwościami zewnętrznymi dla aplikacji we wszystkich środowiskach. Aby uzyskać więcej informacji, zobacz Spring Cloud Config.

Uwaga

Aby użyć serwera konfiguracji w ramach planu standardowego i dedykowanego, należy go najpierw włączyć. Aby uzyskać więcej informacji, zobacz Włączanie i wyłączanie serwera Spring Cloud Config Server w usłudze Azure Spring Apps.

Wymagania wstępne

  • Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Włączanie serwera Spring Cloud Config Server

Serwer Spring Cloud Config Server można włączyć podczas aprowizowania wystąpienia usługi planu Enterprise usługi Azure Spring Apps Enterprise. Jeśli masz już wystąpienie planu Usługi Azure Spring Apps Enterprise, zobacz sekcję Zarządzanie serwerem konfiguracji Spring Cloud w istniejącym wystąpieniu planu Enterprise w tym artykule.

Serwer Spring Cloud Config Server można włączyć przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Aby włączyć serwer Spring Cloud Config Server, wykonaj następujące czynności:

  1. Otwórz portal Azure Portal.

  2. Na karcie Podstawy wybierz pozycję Warstwa Enterprise w sekcji Cennik i określ wymagane informacje. Następnie wybierz pozycję Dalej: Składniki zarządzane.

  3. Na karcie Składniki zarządzane wybierz pozycję Włącz serwer Spring Cloud Config Server (wersja zapoznawcza).

    Zrzut ekranu witryny Azure Portal przedstawiający kartę Ustawień programu VMware Tanzu z wyróżnionym polem wyboru Włącz serwer Spring Cloud Config Server.

  4. Określ inne ustawienia, a następnie wybierz pozycję Przejrzyj i utwórz.

  5. Na karcie Przeglądanie tworzenia upewnij się, że opcja Włącz serwer konfiguracji Spring Cloud (wersja zapoznawcza) ma wartość Tak. Wybierz pozycję Utwórz , aby utworzyć wystąpienie planu Enterprise.

Ograniczenia

W przypadku korzystania z serwera konfiguracji z zapleczem usługi Git istnieją pewne ograniczenia. Następujące właściwości są automatycznie wstrzykiwane do środowiska aplikacji w celu uzyskania dostępu do serwera konfiguracji i odnajdywania usług. Jeśli te właściwości są również konfigurowane z plików serwera konfiguracji, mogą wystąpić konflikty i nieoczekiwane zachowanie.

  • eureka.client.service-url.defaultZone
  • eureka.client.tls.keystore
  • eureka.instance.preferIpAddress
  • eureka.instance.instance-id
  • server.port
  • spring.cloud.config.tls.keystore
  • spring.config.import
  • spring.application.name
  • spring.jmx.enabled
  • management.endpoints.jmx.exposure.include

Uwaga

Unikaj umieszczania tych właściwości w plikach aplikacji serwera konfiguracji.

Tworzenie plików serwera konfiguracji

Usługa Azure Spring Apps obsługuje usługi Azure DevOps Server, GitHub, GitLab i Bitbucket do przechowywania plików serwera konfiguracji. Gdy repozytorium jest gotowe, możesz utworzyć pliki konfiguracji i zapisać je tam.

Niektóre konfigurowalne właściwości są dostępne tylko dla niektórych typów. W poniższych sekcjach opisano właściwości każdego typu repozytorium.

Uwaga

Serwer konfiguracji przyjmuje master (w usłudze Git) jako etykietę domyślną, jeśli jej nie określisz. Jednak usługa GitHub niedawno zmieniła gałąź domyślną z master na main. Aby uniknąć awarii serwera konfiguracji usługi Azure Spring Apps, pamiętaj, aby podczas konfigurowania serwera konfiguracji za pomocą usługi GitHub zwrócić uwagę na etykietę domyślną, szczególnie w przypadku nowo utworzonych repozytoriów.

Używanie łącznika (-) do oddzielania wyrazów jest jedyną obsługiwaną konwencją nazewnictwa właściwości. Można na przykład użyć polecenia default-label, ale nie defaultLabel.

Repozytorium publiczne

W przypadku korzystania z repozytorium publicznego konfigurowalne właściwości są bardziej ograniczone niż w przypadku repozytorium prywatnego.

W poniższej tabeli wymieniono konfigurowalne właściwości, których można użyć do skonfigurowania publicznego repozytorium Git:

Właściwości Wymagania Funkcja
uri Tak Identyfikator URI repozytorium Git używany jako zaplecze serwera konfiguracji. Powinien zaczynać się od http://, , https://lub git@ssh://.
default-label Nie. Domyślna etykieta repozytorium Git. Powinna być nazwą gałęzi, nazwą tagu lub identyfikatorem zatwierdzenia w repozytorium.
search-paths Nie. Tablica ciągów używanych do wyszukiwania podkatalogów repozytorium Git.

Prywatne repozytorium z uwierzytelnianiem SSH

W poniższej tabeli wymieniono konfigurowalne właściwości, których można użyć do skonfigurowania prywatnego repozytorium Git przy użyciu protokołu SSH:

Właściwości Wymagania Funkcja
uri Tak Identyfikator URI repozytorium Git używany jako zaplecze serwera konfiguracji. Powinien zaczynać się od http://, , https://lub git@ssh://.
default-label Nie. Domyślna etykieta repozytorium Git. Powinna być nazwą gałęzi, nazwą tagu lub identyfikatorem zatwierdzenia repozytorium.
search-paths Nie. Tablica ciągów używanych do wyszukiwania podkatalogów repozytorium Git.
private-key Nie. Klucz prywatny SSH umożliwiający dostęp do repozytorium Git. Wymagane, gdy identyfikator URI zaczyna się od git@ lub ssh://.
host-key Nie. Klucz hosta serwera repozytorium Git. Nie należy uwzględniać prefiksu algorytmu zgodnie z opisem .host-key-algorithm
host-key-algorithm Nie. Algorytm klucza hosta. Powinna mieć wartość ssh-dss, , ssh-rsa, ecdsa-sha2-nistp256ecdsa-sha2-nistp384lub ecdsa-sha2-nistp521. Wymagane tylko wtedy, gdy host-key istnieje.
strict-host-key-checking Nie. Wskaźnik Config Server, który pokazuje, czy nie można uruchomić przy użyciu prywatnego host-key. Powinna mieć wartość true (wartość domyślna) lub false.

Repozytorium prywatne z uwierzytelnianiem podstawowym

W poniższej tabeli wymieniono konfigurowalne właściwości, których można użyć do skonfigurowania prywatnego repozytorium Git przy użyciu uwierzytelniania podstawowego:

Właściwości Wymagania Funkcja
uri Tak Identyfikator URI repozytorium Git używany jako zaplecze serwera konfiguracji. Powinien zaczynać się od http://, , https://lub git@ssh://.
default-label Nie. Domyślna etykieta repozytorium Git. Powinna być nazwą gałęzi, nazwą tagu lub identyfikatorem zatwierdzenia w repozytorium.
search-paths Nie. Tablica ciągów używanych do wyszukiwania podkatalogów repozytorium Git.
username Nie. Nazwa użytkownika używana do uzyskiwania dostępu do serwera repozytorium Git. Wymagane, gdy serwer repozytorium Git obsługuje uwierzytelnianie podstawowe HTTP.
password Nie. Hasło lub osobisty token dostępu używany do uzyskiwania dostępu do serwera repozytorium Git. Wymagane, gdy serwer repozytorium Git obsługuje uwierzytelnianie podstawowe HTTP.

Uwaga

Wiele serwerów repozytorium Git obsługuje używanie tokenów, a nie haseł na potrzeby uwierzytelniania podstawowego HTTP. Niektóre repozytoria umożliwiają utrwalanie tokenów na czas nieokreślony. Jednak niektóre serwery repozytorium Git, w tym serwer Usługi Azure DevOps Server, wymuszają wygaśnięcie tokenów w ciągu kilku godzin. Repozytoria, które powodują wygaśnięcie tokenów, nie powinny używać uwierzytelniania opartego na tokenach w usłudze Azure Spring Apps. Jeśli używasz takiego tokenu, pamiętaj, aby zaktualizować go przed jego wygaśnięciem.

Usługa GitHub usunęła obsługę uwierzytelniania haseł, dlatego musisz użyć osobistego tokenu dostępu zamiast uwierzytelniania haseł w usłudze GitHub. Aby uzyskać więcej informacji, zobacz Wymagania dotyczące uwierzytelniania tokenu dla operacji usługi Git.

Inne repozytoria Git

W poniższej tabeli wymieniono konfigurowalne właściwości, których można użyć do skonfigurowania repozytoriów Git za pomocą wzorca:

Właściwości Wymagania Funkcja
repos Nie. Mapa składająca się z ustawień repozytorium Git o podanej nazwie.
repos."uri" Tak repos Identyfikator URI repozytorium Git używany jako zaplecze serwera konfiguracji. Powinien zaczynać się od http://, , https://lub git@ssh://.
repos."name" Tak repos Nazwa identyfikująca repozytorium; na przykład team-A lub team-B. Wymagane tylko wtedy, gdy repos istnieje.
repos."pattern" Nie. Tablica ciągów używanych do dopasowania nazwy aplikacji. Dla każdego wzorca użyj formatu {application}/{profile} z symbolami wieloznacznymi.
repos."default-label" Nie. Domyślna etykieta repozytorium Git. Powinna być nazwą gałęzi, nazwą tagu lub zatwierdzeniem IOD repozytorium.
repos."search-paths" Nie. Tablica ciągów używanych do wyszukiwania podkatalogów repozytorium Git.
repos."username" Nie. Nazwa użytkownika używana do uzyskiwania dostępu do serwera repozytorium Git. Wymagane, gdy serwer repozytorium Git obsługuje uwierzytelnianie podstawowe HTTP.
repos."password" Nie. Hasło lub osobisty token dostępu używany do uzyskiwania dostępu do serwera repozytorium Git. Wymagane, gdy serwer repozytorium Git obsługuje uwierzytelnianie podstawowe HTTP.
repos."private-key" Nie. Klucz prywatny SSH umożliwiający dostęp do repozytorium Git. Wymagane, gdy identyfikator URI zaczyna się od git@ lub ssh://.
repos."host-key" Nie. Klucz hosta serwera repozytorium Git. Nie należy uwzględniać prefiksu algorytmu zgodnie z opisem .host-key-algorithm
repos."host-key-algorithm" Nie. Algorytm klucza hosta. Powinna mieć wartość ssh-dss, , ssh-rsa, ecdsa-sha2-nistp256ecdsa-sha2-nistp384lub ecdsa-sha2-nistp521. Wymagane tylko wtedy, gdy host-key istnieje.
repos."strict-host-key-checking" Nie. Wskazuje, czy wystąpienie serwera konfiguracji nie może uruchomić się podczas korzystania z prywatnego host-key. Powinna mieć wartość true (wartość domyślna) lub false.

W poniższej tabeli przedstawiono kilka przykładów wzorców konfigurowania usługi przy użyciu opcjonalnego dodatkowego repozytorium. Aby uzyskać więcej informacji, zobacz sekcję Dodatkowe repozytoria w tym artykule i sekcję Dopasowywanie wzorców i wiele repozytoriów w konfiguracji spring cloud.

Wzorce opis
test-config-server-app-0/* Identyfikator URI wzorca i repozytorium jest zgodny z aplikacją Spring Boot o nazwie test-config-server-app-0 z dowolnym profilem.
test-config-server-app-1/dev Identyfikator URI wzorca i repozytorium jest zgodny z aplikacją Spring Boot o nazwie test-config-server-app-1 z profilem deweloperskim.
test-config-server-app-2/prod Identyfikator URI wzorca i repozytorium jest zgodny z aplikacją Spring Boot o nazwie test-config-server-app-2 z profilem prod.

Zrzut ekranu witryny Azure Portal przedstawiający stronę Config Server z wyróżnioną kolumną Patterns (Wzorce) tabeli Dodatkowe repozytoria.

Zrzut ekranu witryny Azure Portal przedstawiający stronę Config Server z wyróżnioną kolumną Patterns (Wzorce) tabeli Dodatkowe repozytoria.

Konfigurowanie repozytorium Git na serwerze konfiguracji

Po zapisaniu plików konfiguracji w repozytorium wykonaj następujące kroki, aby połączyć usługę Azure Spring Apps z repozytorium:

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do strony Przegląd usługi Azure Spring Apps.

  3. Wybierz pozycję Spring Cloud Config Server w okienku nawigacji.

  4. W sekcji Domyślne repozytorium ustaw identyfikator URI na https://github.com/Azure-Samples/piggymetrics-config.

  5. Wybierz Potwierdź.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę serwera konfiguracji.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę serwera konfiguracji.

  6. Po zakończeniu walidacji wybierz pozycję Zastosuj , aby zapisać zmiany.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Config Server z wyróżnionym przyciskiem Zastosuj.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Config Server z wyróżnionym przyciskiem Zastosuj.

Aktualizowanie konfiguracji może potrwać kilka minut. Po zakończeniu konfiguracji powinno zostać wyświetlone powiadomienie.

Wprowadź informacje o repozytorium bezpośrednio w witrynie Azure Portal

Możesz wprowadzić informacje o repozytorium domyślnym i opcjonalnie w przypadku dodatkowych repozytoriów.

Repozytorium domyślne

W tej sekcji przedstawiono sposób wprowadzania informacji o repozytorium dla repozytorium publicznego lub prywatnego. W przypadku repozytorium prywatnego można użyć uwierzytelniania podstawowego lub protokołu SSH.

Aby wprowadzić informacje repozytorium dla repozytorium publicznego, wykonaj następujące kroki:

  1. W sekcji Domyślne repozytorium w polu Identyfikator URI wklej identyfikator URI repozytorium.
  2. Dla ustawienia Etykieta wprowadź wartość config.
  3. Upewnij się, że ustawienie Uwierzytelnianie ma wartość Publiczna.
  4. Wybierz Zastosuj.

Wykonaj następujące kroki, aby wprowadzić informacje o repozytorium prywatnym przy użyciu podstawowego uwierzytelniania opartego na hasłach/tokenach:

  1. W sekcji Domyślne repozytorium w polu Identyfikator URI wklej identyfikator URI repozytorium.

  2. W obszarze Uwierzytelnianie wybierz pozycję Edytuj uwierzytelnianie.

  3. W okienku Edytowanie uwierzytelniania na liście rozwijanej Typ uwierzytelniania wybierz pozycję Http Basic.

  4. Wprowadź nazwę użytkownika i hasło/token, aby udzielić dostępu do usługi Azure Spring Apps.

  5. Wybierz przycisk OK, a następnie wybierz pozycję Zastosuj , aby zakończyć konfigurowanie wystąpienia serwera konfiguracji.

    Zrzut ekranu witryny Azure Portal przedstawiający sekcję Domyślne repozytorium ustawień uwierzytelniania dla uwierzytelniania podstawowego.

    Uwaga

    Wiele serwerów repozytorium Git obsługuje używanie tokenów, a nie haseł na potrzeby uwierzytelniania podstawowego HTTP. Niektóre repozytoria umożliwiają utrwalanie tokenów na czas nieokreślony. Jednak niektóre serwery repozytorium Git, w tym serwer Usługi Azure DevOps Server, wymuszają wygaśnięcie tokenów w ciągu kilku godzin. Repozytoria, które powodują wygaśnięcie tokenów, nie powinny używać uwierzytelniania opartego na tokenach w usłudze Azure Spring Apps. Jeśli używasz takiego tokenu, pamiętaj, aby zaktualizować go przed jego wygaśnięciem.

    Usługa GitHub usunęła obsługę uwierzytelniania haseł, dlatego musisz użyć osobistego tokenu dostępu zamiast uwierzytelniania haseł w usłudze GitHub. Aby uzyskać więcej informacji, zobacz Wymagania dotyczące uwierzytelniania tokenu dla operacji usługi Git.

Wykonaj następujące kroki, aby wprowadzić informacje o repozytorium prywatnym przy użyciu protokołu SSH:

  1. W sekcji Domyślne repozytorium w polu Identyfikator URI wklej identyfikator URI repozytorium.

  2. W obszarze Uwierzytelnianie wybierz pozycję Edytuj uwierzytelnianie.

  3. W okienku Edytowanie uwierzytelniania na liście rozwijanej Typ uwierzytelniania wybierz pozycję SSH.

  4. Wprowadź klucz prywatny. Opcjonalnie określ klucz hosta i algorytm klucza hosta.

  5. Uwzględnij klucz publiczny w repozytorium serwera konfiguracji.

  6. Wybierz przycisk OK, a następnie wybierz pozycję Zastosuj , aby zakończyć konfigurowanie wystąpienia serwera konfiguracji.

    Zrzut ekranu witryny Azure Portal przedstawiający sekcję Domyślne repozytorium ustawień uwierzytelniania dla uwierzytelniania SSH.

Dodatkowe repozytoria

Jeśli chcesz skonfigurować usługę przy użyciu opcjonalnego dodatkowego repozytorium, wykonaj następujące kroki:

  1. Określ ustawienia identyfikatora URI i uwierzytelniania , tak jak w przypadku domyślnego repozytorium. Pamiętaj, aby uwzględnić ustawienie Nazwa dla wzorca.
  2. Wybierz pozycję Zastosuj , aby dołączyć repozytorium do wystąpienia.

Konfigurowanie repozytorium Git przez zaimportowanie pliku YAML

Jeśli plik YAML został napisany przy użyciu ustawień repozytorium, możesz zaimportować plik bezpośrednio z komputera lokalnego do usługi Azure Spring Apps. W poniższym przykładzie przedstawiono prosty plik YAML dla repozytorium prywatnego z uwierzytelnianiem podstawowym:

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/azure-spring-apps-samples-pr/config-server-repository.git
          username: <username>
          password: <password/token>

Aby zaimportować plik YAML, wykonaj następujące czynności:

  1. Wybierz pozycję Importuj ustawienia , a następnie wybierz plik YAML z katalogu projektu. Wybierz Importuj.

    Zrzut ekranu witryny Azure Portal przedstawiający okienko Ustawień importu serwera konfiguracji.

    Zrzut ekranu witryny Azure Portal przedstawiający okienko Ustawień importu serwera konfiguracji.

    W okienku Powiadomienia zostanie wyświetlona async operacja. Serwer konfiguracji powinien zgłosić powodzenie po upływie 1–2 minut. Informacje z pliku YAML są wyświetlane w witrynie Azure Portal.

  2. Wybierz pozycję Zastosuj , aby zakończyć importowanie.

Konfigurowanie usługi Azure Repos na serwerze konfiguracji

Usługa Azure Spring Apps może uzyskiwać dostęp do repozytoriów Git, które są publiczne, zabezpieczone za pomocą protokołu SSH lub zabezpieczone przy użyciu uwierzytelniania podstawowego PROTOKOŁU HTTP. Uwierzytelnianie podstawowe HTTP to najprostsze opcje tworzenia repozytoriów i zarządzania nimi za pomocą usługi Azure Repos.

Pobieranie adresu URL repozytorium i poświadczeń

Aby uzyskać adres URL repozytorium i poświadczenia, wykonaj następujące czynności:

  1. W portalu usługi Azure Repos dla projektu wybierz pozycję Klonuj.

  2. Skopiuj adres URL klonowania z pola tekstowego. Ten adres URL jest zazwyczaj w następującej postaci:

    https://<organization name>@dev.azure.com/<organization name>/<project name>/_git/<repository name>
    

    Usuń wszystkie elementy po https:// i przed dev.azure.com, w tym @ symbol . Wynikowy adres URL powinien mieć następującą postać:

    https://dev.azure.com/<organization name>/<project name>/_git/<repository name>
    

    Zapisz ten adres URL, aby użyć go później.

  3. Wybierz pozycję Generuj poświadczenia git, aby wyświetlić nazwę użytkownika i hasło. Zapisz tę nazwę użytkownika i hasło do użycia w poniższej sekcji.

Konfigurowanie repozytorium Git na serwerze konfiguracji

Aby skonfigurować repozytorium, wykonaj następujące czynności:

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do strony Przegląd usługi Azure Spring Apps.

  3. Wybierz usługę do skonfigurowania.

  4. W lewym okienku strony usługi w obszarze Ustawienia wybierz kartę Spring Cloud Config Server .

  5. Aby skonfigurować utworzone repozytorium, wykonaj następujące kroki:

    • Dodaj zapisany wcześniej identyfikator URI repozytorium.
    • Wybierz ustawienie w obszarze Uwierzytelnianie , aby otworzyć okienko Edytowanie uwierzytelniania .
    • W polu Typ uwierzytelniania wybierz pozycję HTTP Basic.
    • W polu Nazwa użytkownika określ zapisaną wcześniej nazwę użytkownika.
    • W polu Hasło określ zapisane wcześniej hasło.
    • Wybierz przycisk OK, a następnie poczekaj na zakończenie operacji.

    Zrzut ekranu witryny Azure Portal przedstawiający domyślne ustawienia konfiguracji repozytorium z wyróżnionym identyfikatorem URI i typem uwierzytelniania.

Wiązanie aplikacji z serwerem konfiguracji Spring Cloud

Użyj następującego polecenia, aby powiązać aplikację z serwerem Spring Cloud Config Server, umożliwiając aplikacji ściąganie konfiguracji z serwera konfiguracji.

az spring config-server bind \
    --resource-group <resource-group> \
    --service <service-name> \
    --app <app-name>

Możesz również skonfigurować powiązanie aplikacji w witrynie Azure Portal, jak pokazano na poniższym zrzucie ekranu:

Zrzut ekranu witryny Azure Portal przedstawiający stronę Spring Cloud Config Server z wyróżnioną listą rozwijaną Powiązanie aplikacji.

Uwaga

Propagacja tych zmian do wszystkich aplikacji może potrwać kilka minut, gdy stan serwera konfiguracji ulegnie zmianie.

Jeśli zmienisz stan powiązania/odłączania, musisz ponownie uruchomić lub ponownie wdrożyć aplikację.

Teraz możesz powiązać aplikację z serwerem Spring Cloud Config Server bezpośrednio podczas tworzenia nowej aplikacji przy użyciu następującego polecenia:

az spring app create \ 
    --resource-group <resource-group> \ 
    --service <service-name> \ 
    --name <app-name> \ 
    --bind-config-server

Aplikację można również powiązać z serwerem Spring Cloud Config Server w witrynie Azure Portal, jak pokazano na poniższym zrzucie ekranu:

Zrzut ekranu witryny Azure Portal przedstawiający stronę Tworzenie aplikacji z wyróżnioną listą rozwijaną Wiązanie.

Usuwanie konfiguracji

Wybierz pozycję Resetujna karcie Spring Cloud Config Server , aby wymazać istniejące ustawienia. Usuń ustawienia serwera konfiguracji, jeśli chcesz połączyć wystąpienie serwera konfiguracji z innym źródłem, na przykład podczas przechodzenia z usługi GitHub do usługi Azure DevOps Server.

Odśwież serwer konfiguracji

Po zmianie właściwości usługi korzystające z tych właściwości muszą zostać powiadomione przed wprowadzeniem zmian. Domyślne rozwiązanie dla serwera Spring Cloud Config Server polega na ręcznym wyzwoleniu zdarzenia odświeżania, co może nie być możliwe, jeśli istnieje wiele wystąpień aplikacji. Aby uzyskać więcej informacji, zobacz Scentralizowana konfiguracja

Zamiast tego można automatycznie odświeżać wartości z serwera konfiguracji, pozwalając klientowi konfiguracji sondować pod kątem zmian na podstawie wewnętrznego odświeżania.

Wykonaj następujące kroki, aby automatycznie odświeżyć wartości z serwera konfiguracji:

  1. Zarejestruj zaplanowane zadanie, aby odświeżyć kontekst w danym interwale, jak pokazano w poniższym przykładzie:

    @ConditionalOnBean({RefreshEndpoint.class})
    @Configuration
    @AutoConfigureAfter({RefreshAutoConfiguration.class, RefreshEndpointAutoConfiguration.class})
    @EnableScheduling
    public class ConfigClientAutoRefreshConfiguration implements SchedulingConfigurer {
        @Value("${spring.cloud.config.refresh-interval:60}")
        private long refreshInterval;
        @Value("${spring.cloud.config.auto-refresh:false}")
        private boolean autoRefresh;
        private RefreshEndpoint refreshEndpoint;
        public ConfigClientAutoRefreshConfiguration(RefreshEndpoint refreshEndpoint) {
            this.refreshEndpoint = refreshEndpoint;
        }
        @Override
        public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
            if (autoRefresh) {
                // set minimal refresh interval to 5 seconds
                refreshInterval = Math.max(refreshInterval, 5);
                scheduledTaskRegistrar.addFixedRateTask(() -> refreshEndpoint.refresh(), refreshInterval * 1000);
            }
        }
    }
    
  2. Włącz autorefresh i ustaw odpowiedni interwał odświeżania w pliku application.yml . W poniższym przykładzie klient sonduje zmiany konfiguracji co 60 sekund, czyli wartość minimalną, którą można ustawić dla interwału odświeżania.

    Domyślnie ustawienie autorefresh jest ustawione na false wartość , a interwał odświeżania ma wartość 60 seconds.

    spring:
        cloud:
             config:
              auto-refresh: true
              refresh-interval: 60
    management:
        endpoints:
             web:
              exposure:
                include:
                  - refresh
    
  3. Dodaj @RefreshScope do kodu. W poniższym przykładzie zmienna connectTimeout jest automatycznie odświeżona co 60 sekund.

    @RestController
    @RefreshScope
    public class HelloController {
        @Value("${timeout:4000}")
        private String connectTimeout;
    }
    

Aby uzyskać więcej informacji, zobacz przykład config-client-polling .

Zarządzanie serwerem Spring Cloud Config Server w istniejącym wystąpieniu planu Enterprise

Serwer Spring Cloud Config Server można włączyć i wyłączyć po utworzeniu usługi przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure. Przed wyłączeniem serwera Spring Cloud Config Server należy usunąć z niego powiązanie wszystkich aplikacji.

Aby włączyć lub wyłączyć serwer Spring Cloud Config Server, wykonaj następujące kroki:

  1. Przejdź do wystąpienia usługi, a następnie wybierz pozycję Spring Cloud Config Server.

  2. Zaznacz Zarządzaj.

  3. Wybierz lub usuń zaznaczenie pozycji Włącz serwer konfiguracji Spring Cloud, a następnie wybierz pozycję Zapisz.

    Zrzut ekranu witryny Azure Portal przedstawiający okienko Zarządzanie z wyróżnioną opcją Włącz serwer konfiguracji.

  4. Teraz możesz wyświetlić stan serwera Spring Cloud Config Server na stronie Spring Cloud Config Server .

Azure Spring Apps