Nastavení instance jarního cloudového konfiguračního serveru pro vaši službu
Tento článek se týká: ✔️ Java ✔️ C #
V tomto článku se dozvíte, jak připojit instanci jarního cloudového konfiguračního serveru k vaší jarní cloudové službě Azure.
Jarní cloudová konfigurace poskytuje podporu na straně serveru a klienta pro externou konfiguraci v distribuovaném systému. V případě instance konfiguračního serveru máte centrální místo pro správu externích vlastností pro aplikace ve všech prostředích. Další informace najdete v tématu Reference k serveru pro konfiguraci jarního cloudu.
Požadavky
- Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Již zřízené a běžící cloudová služba Azure. Pokud chcete nastavit a spustit službu jarních cloudů Azure, přečtěte si rychlý Start: spuštění aplikace pružiny v jazyce Java pomocí rozhraní příkazového řádku Azure.
Omezení
K dispozici jsou určitá omezení, pokud používáte konfigurační server s back-end Git. Některé vlastnosti jsou automaticky vloženy do prostředí aplikace pro přístup ke konfiguračnímu serveru a zjišťování služby. Pokud tyto vlastnosti nakonfigurujete i ze souborů konfiguračního serveru, může docházet ke konfliktům a neočekávanému chování. Mezi vlastnosti patří:
eureka.client.service-url.defaultZone
eureka.client.tls.keystore
server.port
spring.cloud.config.tls.keystore
spring.application.name
spring.jmx.enabled
Upozornění
Důrazně doporučujeme, abyste výše uvedené vlastnosti neumístili do souborů aplikace konfiguračního serveru.
Vytvoření souborů konfiguračního serveru
Azure jaře Cloud podporuje Azure DevOps, GitHub, GitLab a Bitbucket pro ukládání souborů konfiguračního serveru. Po přípravě úložiště vytvořte konfigurační soubory podle následujících pokynů a uložte je tam.
Kromě toho jsou některé konfigurovatelné vlastnosti k dispozici pouze pro určité typy. Následující pododdíly uvádějí vlastnosti pro každý typ úložiště.
Veřejné úložiště
Když použijete veřejné úložiště, vaše konfigurovatelné vlastnosti jsou omezené.
Všechny konfigurovatelné vlastnosti, které se používají k nastavení veřejného úložiště Git, jsou uvedené v následující tabulce:
Poznámka
Použití spojovníku (-) k oddělení slov je jediná konvence pojmenování, která je aktuálně podporována. Můžete například použít Default-Label, ale ne defaultLabel.
| Vlastnost | Požaduje se | Funkce |
|---|---|---|
uri |
Yes | Identifikátor URI úložiště Git, který se používá jako back-end konfiguračního serveru, začíná na http://, https://, Git@ nebo SSH://. |
default-label |
No | Výchozí popisek úložiště Git by měl být název větve, název značky nebo potvrzení-ID úložiště. |
search-paths |
No | Pole řetězců, které se používá k prohledání podadresářů úložiště Git. |
Soukromé úložiště s ověřováním SSH
Všechny konfigurovatelné vlastnosti používané k nastavení privátního úložiště Git pomocí SSH jsou uvedené v následující tabulce:
Poznámka
Použití spojovníku (-) k oddělení slov je jediná konvence pojmenování, která je aktuálně podporována. Můžete například použít Default-Label, ale ne defaultLabel.
| Vlastnost | Požaduje se | Funkce |
|---|---|---|
uri |
Yes | Identifikátor URI úložiště Git použitého jako back-end konfiguračního serveru by měl být spuštěný s http://, https://, Git@ nebo SSH://. |
default-label |
No | Výchozí popisek úložiště Git by měl být název větve, název značky nebo potvrzení-ID úložiště. |
search-paths |
No | Pole řetězců, které slouží k prohledání podadresářů úložiště Git. |
private-key |
No | Privátní klíč SSH pro přístup k úložišti Git, který je vyžadován v případě, že identifikátor URI začíná na Git@ nebo SSH://. |
host-key |
No | Klíč hostitele serveru úložiště Git by neměl obsahovat předponu algoritmu, která je pokrytá host-key-algorithm . |
host-key-algorithm |
No | Algoritmus klíče hostitele by měl být SSH-DSS, SSH-RSA, ECDSA-SHA2-nistp256, ECDSA-SHA2-nistp384 nebo ECDSA-SHA2-nistp521. Požadováno pouze v případě host-key , že existuje. |
strict-host-key-checking |
No | Označuje, zda se instance konfiguračního serveru při využití privátního nespustí host-key . Hodnota by měla být true (výchozí hodnota) nebo false. |
Poznámka
masterPokud není zadaný, provede konfigurační server (Git Git sám) jako výchozí popisek. ale GitHub změnila výchozí větev z master na main naposledy. aby nedošlo k selhání konfiguračního serveru cloudu v Azure, věnujte pozornost výchozímu popisku při nastavování konfiguračního serveru pomocí GitHub, zejména pro nově vytvořená úložiště.
Privátní úložiště s základním ověřováním
Všechny konfigurovatelné vlastnosti používané k nastavení privátního úložiště Git se základním ověřováním jsou uvedené níže.
Poznámka
Použití spojovníku (-) k oddělení slov je jediná konvence pojmenování, která je aktuálně podporována. Například použijte výchozí-Label, nikoli defaultLabel.
| Vlastnost | Požaduje se | Funkce |
|---|---|---|
uri |
Yes | Identifikátor URI úložiště Git, který se používá jako back-end konfiguračního serveru, by měl být spuštěný pomocí http://, https://, Git@ nebo SSH://. |
default-label |
No | Výchozí popisek úložiště Git by měl být název větve, název značky nebo potvrzení-ID úložiště. |
search-paths |
No | Pole řetězců, které slouží k prohledání podadresářů úložiště Git. |
username |
No | Uživatelské jméno, které se používá pro přístup k serveru úložiště Git, se vyžaduje v případě, že server úložiště Git podporuje Http Basic Authentication . |
password |
No | Heslo nebo osobní přístupový token, který se používá pro přístup k serveru úložiště Git, se vyžaduje v případě, že server úložiště Git podporuje Http Basic Authentication . |
Poznámka
Mnoho Git serverů úložiště podporuje použití tokenů místo hesel pro základní ověřování HTTP. Některá úložiště umožňují, aby se tokeny zachovaly po neomezenou dobu. nicméně některé servery úložiště Git, včetně Azure DevOps Server, vynutí vypršení platnosti tokenů za několik hodin. Úložiště, která způsobila vypršení platnosti tokenů, by neměla používat ověřování na základě tokenu u jarního cloudu Azure.
GitHub odebral podporu pro ověřování hesla, takže budete muset místo ověřování hesla pro GitHub použít osobní přístupový token. Další informace najdete v tématu ověření tokenu.
Další úložiště Git
Všechny konfigurovatelné vlastnosti používané k nastavení úložišť Git se vzorem jsou uvedené níže.
Poznámka
Použití spojovníku (-) k oddělení slov je jediná konvence pojmenování, která je aktuálně podporována. Například použijte výchozí-Label, nikoli defaultLabel.
| Vlastnost | Požaduje se | Funkce |
|---|---|---|
repos |
No | Mapa skládající se z nastavení úložiště Git se zadaným názvem. |
repos."uri" |
Ano v repos |
Identifikátor URI úložiště Git, který se používá jako back-end konfiguračního serveru, by měl být spuštěný pomocí http://, https://, Git@ nebo SSH://. |
repos."name" |
Ano v repos |
Název, který se má identifikovat v úložišti Git, se vyžaduje jenom v případě, že repos existuje. Například tým-a, tým-B. |
repos."pattern" |
No | Pole řetězců používané pro shodu názvu aplikace. Pro každý vzor použijte {application}/{profile} formát se zástupnými znaky. |
repos."default-label" |
No | Výchozí popisek úložiště Git by měl být název větve, název značky nebo potvrzení-ID úložiště. |
repos."search-paths" |
No | Pole řetězců, které slouží k prohledání podadresářů úložiště Git. |
repos."username" |
No | Uživatelské jméno, které se používá pro přístup k serveru úložiště Git, se vyžaduje v případě, že server úložiště Git podporuje Http Basic Authentication . |
repos."password" |
No | Heslo nebo osobní přístupový token, který se používá pro přístup k serveru úložiště Git, se vyžaduje v případě, že server úložiště Git podporuje Http Basic Authentication . |
repos."private-key" |
No | Privátní klíč SSH pro přístup k úložišti Git, který je vyžadován v případě, že identifikátor URI začíná na Git@ nebo SSH://. |
repos."host-key" |
No | Klíč hostitele serveru úložiště Git by neměl obsahovat předponu algoritmu, která je pokrytá host-key-algorithm . |
repos."host-key-algorithm" |
No | Algoritmus klíče hostitele by měl být SSH-DSS, SSH-RSA, ECDSA-SHA2-nistp256, ECDSA-SHA2-nistp384 nebo ECDSA-SHA2-nistp521. Požadováno pouze v případě host-key , že existuje. |
repos."strict-host-key-checking" |
No | Označuje, zda se instance konfiguračního serveru při využití privátního nespustí host-key . Hodnota by měla být true (výchozí hodnota) nebo false. |
V následující tabulce jsou uvedeny některé příklady pro Další části úložišť . Další informace najdete v tématu porovnávání vzorů a více úložišť v dokumentaci k pružině.
| Vzory | Description |
|---|---|
| test-config-server-App-0/* | Identifikátor URI vzoru a úložiště se bude shodovat s jakýmkoli profilem aplikace pro spouštění pružiny s test-config-server-app-0 libovolným profilem. |
| test-config-server-App-1/dev | Identifikátor URI vzoru a úložiště se bude shodovat s aplikací pro spouštění pružiny s názvem a test-config-server-app-1 vývojovým profilem. |
| test-config-server-App-2/prod | Identifikátor URI vzoru a úložiště se bude shodovat s aplikací pro spouštění pružiny s názvem test-config-server-app-2 s profilem výroby. |
Připojení úložiště konfiguračního serveru k Azure jaře cloudu
Teď, když jsou konfigurační soubory uložené v úložišti, musíte k ní připojit jarní cloud Azure.
Přihlaste se k webu Azure Portal.
Přejít na stránku s přehledem jarního cloudu Azure.
V levém navigačním podokně vyberte konfigurační server .
V části výchozí úložiště nastavte možnost URI na " https://github.com/Azure-Samples/piggymetrics-config ".
Vyberte Ověřit.

Po dokončení ověřování klikněte na použít , aby se změny uložily.

Aktualizace konfigurace může trvat několik minut.

Po dokončení konfigurace byste měli obdržet oznámení.
Zadejte informace o úložišti přímo do Azure Portal
Výchozí úložiště
Veřejné úložiště: v části výchozí úložiště v poli URI vložte identifikátor URI úložiště. Nastavte popisek na config. Zajistěte, aby bylo nastavení ověřování veřejné, a pak vyberte použít k dokončení.
Soukromé úložiště: Azure jaře Cloud podporuje základní ověřování pomocí hesla nebo tokenu a SSH.
- Základní ověřování: v části výchozí úložiště v poli URI vložte identifikátor URI úložiště a pak klikněte na tlačítko ověřování (ikona tužky). V podokně Upravit ověřování vyberte v rozevíracím seznamu typ ověřování možnost http Basic a potom zadejte své uživatelské jméno a heslo nebo token pro udělení přístupu k jarnímu cloudu Azure. Vyberte OK a pak vyberte použít k dokončení nastavování instance konfiguračního serveru.

Upozornění
Některé servery úložiště Git pro základní ověřování používají osobní tokeny nebo přístupový token, jako je třeba heslo. Tento typ tokenu můžete použít jako heslo v Azure jaře cloudu, protože nikdy nevyprší platnost. u jiných serverů úložiště Git, jako je Bitbucket a Azure DevOps Server, platnost přístupového tokenu vyprší jednu nebo dvě hodiny. To znamená, že možnost nebude při použití těchto serverů úložiště u jarního cloudu Azure životaschopná. GitHub odebral podporu pro ověřování hesla, takže budete muset místo ověřování hesla pro GitHub použít osobní přístupový token. Další informace najdete v tématu ověření tokenu.
- SSH: v části výchozí úložiště v poli URI vložte identifikátor URI úložiště a pak klikněte na tlačítko ověřování (ikona tužky). V podokně Upravit ověřování vyberte v rozevíracím seznamu typ ověřování možnost SSH a potom zadejte svůj privátní klíč. Volitelně můžete zadat klíč hostitele a algoritmus hostitelského klíče. Nezapomeňte do svého úložiště konfiguračního serveru zahrnout svůj veřejný klíč. Vyberte OK a pak vyberte použít k dokončení nastavování instance konfiguračního serveru.

Další úložiště
Pokud chcete ke konfiguraci služby použít volitelné Další úložiště , zadejte identifikátor URI a ověřování stejným způsobem jako výchozí úložiště. Nezapomeňte zadat název pro váš vzor a pak kliknutím na použít ho připojte k instanci.
Zadejte informace o úložišti do souboru YAML.
Pokud jste napsali soubor YAML s nastavením úložiště, můžete ho naimportovat přímo z místního počítače do jarního cloudu Azure. Jednoduchý soubor YAML pro privátní úložiště se základním ověřováním by vypadal takto:
spring:
cloud:
config:
server:
git:
uri: https://github.com/azure-spring-cloud-samples/config-server-repository.git
username: <username>
password: <password/token>
Vyberte tlačítko importovat nastavení a potom vyberte soubor YAML z adresáře projektu. Vyberte importovat a potom async se v oznámení zobrazí operace z vaší nabídky. Po 1-2 minutách by se mělo ohlásit úspěch.

Informace ze souboru YAML by měly být zobrazeny v Azure Portal. Vyberte použít k dokončení.
použití Azure Repos pro konfiguraci jarního cloudu Azure
Azure Spring Cloud má přístup k úložištím Git, která jsou veřejná nebo jsou zabezpečená protokolem SSH, případně k zabezpečení používají základní ověřování HTTP. Použijeme tuto poslední možnost, protože je snazší vytvořit a spravovat pomocí Azure Repos.
Získat adresu URL a přihlašovací údaje úložiště
na portálu Azure Repos pro váš projekt vyberte tlačítko klonování :

Zkopírujte adresu URL klonu z textového pole. Tato adresa URL bude obvykle ve formátu:
https://<organization name>@dev.azure.com/<organization name>/<project name>/_git/<repository name>Odeberte vše po
https://a předdev.azure.com, včetně@. Výsledná adresa URL by měla být ve tvaru:https://dev.azure.com/<organization name>/<project name>/_git/<repository name>Tuto adresu URL uložte pro použití v další části.
Vyberte Generovat pověření Git. Zobrazí se uživatelské jméno a heslo. Uložte je pro použití v další části.
Konfigurace přístupu Azure Spring Cloudu k úložišti Git
Přihlaste se k webu Azure Portal.
Přejít na stránku s přehledem jarního cloudu Azure.
Vyberte službu, kterou chcete nakonfigurovat.
v levém podokně stránky služby v části Nastavení vyberte kartu konfigurační Server . Nakonfigurujte úložiště, které jsme vytvořili dříve:
- Přidejte adresu URL úložiště, kterou jste uložili z předchozí části.
- Vyberte ověřování a pak vyberte http Basic.
- Uživatelské jméno je uživatelské jméno uložené v předchozí části.
- Heslo je heslo uložené v předchozí části.
- Vyberte Použít a počkejte na úspěšné dokončení operace.

Odstranění konfigurace
Můžete vybrat tlačítko Resetovat, které se zobrazí na kartě Config Server, a úplně tak vymazat stávající nastavení. Nastavení konfiguračního serveru odstraňte, pokud chcete připojit instanci Config Server k jinému zdroji, například přechodem z GitHub na Azure DevOps.
Config Server aktualizace
Při změně vlastností je potřeba, aby služby využívající tyto vlastnosti byly před provedením změn informovány. Výchozím řešením pro Spring Cloud Config je ruční aktivace události aktualizace,která nemusí být možná možná proveditelná, pokud existuje velké množství instancí aplikace. Alternativně můžete Azure Spring Cloud automaticky aktualizovat hodnoty z konfiguračního serveru tím, že umožníte konfiguračnímu klientovi dotazovat se na změny na základě interní aktualizace.
Nejprve do části závislostí vašeho virtuálního počítače zahrpište spring-cloud-starter-azure-spring-cloud-client pom.xml.
<dependency> <groupId>com.microsoft.azure</groupId> <artifactId>spring-cloud-starter-azure-spring-cloud-client</artifactId> <version>2.4.0</version> </dependency>Potom povolte automatickou aktualizaci a nastavte odpovídající interval aktualizace v souboru application.yml. V tomto příkladu se klient bude každých 5 sekund dotazovat na změny konfigurace, což je minimální hodnota, kterou můžete nastavit pro interval aktualizace. Ve výchozím nastavení je automatická aktualizace nastavená na false a interval aktualizace je nastavený na 60 sekund.
spring: cloud: config: auto-refresh: true refresh-interval: 5Nakonec @refreshScope přidejte svůj kód. V tomto příkladu se proměnná connectTimeout automaticky aktualizuje každých 5 sekund.
@RestController @RefreshScope public class HelloController { @Value("${timeout:4000}") private String connectTimeout; }
Další kroky
V tomto článku jste zjistili, jak povolit a nakonfigurovat instanci Spring Cloud Config Server instanci. Další informace o správě aplikace najdete v tématu Škálování aplikace v Azure Spring Cloud.