Sdílet prostřednictvím


Principy nastavení ImageStoreConnectionString

V některé z naší dokumentace stručně zmíníme existenci parametru ImageStoreConnectionString, aniž bychom popsali, co skutečně znamená. A když si projdete článek, jako je Nasazení a odebrání aplikací pomocí PowerShellu, vypadá to, že všechno, co děláte, zkopírujete nebo vložíte hodnotu, jak je znázorněno v manifestu clusteru cílového clusteru. Nastavení proto musí být konfigurovatelné pro každý cluster, ale při vytváření clusteru prostřednictvím webu Azure Portal není k dispozici žádná možnost pro konfiguraci tohoto nastavení a vždy se jedná o prostředky infrastruktury:ImageStore. Jaký je účel tohoto nastavení?

Manifest clusteru

Service Fabric začal jako platforma pro interní spotřebu Microsoftu mnoha různorodými týmy, takže některé aspekty jsou vysoce přizpůsobitelné – úložiště imagí je jedním z takových aspektů. Úložiště imagí je v podstatě připojitelné úložiště pro ukládání balíčků aplikací. Když je vaše aplikace nasazená do uzlu v clusteru, tento uzel stáhne obsah balíčku aplikace z Úložiště imagí. ImageStoreConnectionString je nastavení, které obsahuje všechny potřebné informace pro klienty i uzly k vyhledání správného úložiště imagí pro daný cluster.

V současné době existují tři možné druhy poskytovatelů úložiště imagí a jejich odpovídající připojovací řetězec jsou následující:

  1. Služba Image Store: Fabric:ImageStore

  2. Systém souborů: "file:[cesta k systému souborů]"

  3. Azure Storage: "xstore:DefaultEndpointsProtocol=https; AccountName=[...]; AccountKey=[...]; Container=[...]"

Typ poskytovatele použitý v produkčním prostředí je služba Image Store Service, což je stavová trvalá systémová služba, kterou můžete vidět v Service Fabric Exploreru.

Služba Image Store

Hostování úložiště imagí v systémové službě v samotném clusteru eliminuje externí závislosti úložiště balíčků a dává nám větší kontrolu nad umístěním úložiště. Budoucí vylepšení úložiště imagí budou pravděpodobně nejprve cílit na poskytovatele úložiště imagí, pokud ne výhradně. Připojovací řetězec poskytovatele služby Image Store nemá žádné jedinečné informace, protože klient je již připojený k cílovému clusteru. Klient musí jenom vědět, že se mají použít protokoly, které cílí na systémovou službu.

Zprostředkovatel systému souborů se používá místo služby Image Store pro místní clustery s jedním rámečkem během vývoje, aby se cluster o něco rychleji spouštěl. Rozdíl je obvykle malý, ale je to užitečná optimalizace pro většinu lidí během vývoje. Místní cluster s jedním rámečkem je možné nasadit také s jinými typy poskytovatelů úložiště, ale obvykle to není důvod, protože pracovní postup vývoje/testování zůstává stejný bez ohledu na poskytovatele. Poskytovatel služby Azure Storage existuje pouze pro starší podporu starých clusterů nasazených před zavedením poskytovatele služby Image Store.

Kromě toho by se jako metoda sdílení úložiště imagí mezi několika clustery neměl použít poskytovatel systému souborů ani poskytovatel služby Azure Storage. Výsledkem bude poškození konfiguračních dat clusteru, protože každý cluster může zapisovat konfliktní data do úložiště imagí. Pokud chcete sdílet zřízené balíčky aplikací mezi několika clustery, použijte místo toho soubory sfpkg , které se dají nahrát do libovolného externího úložiště s identifikátorem URI pro stahování.

Takže i když je ImageStoreConnectionString konfigurovatelný, stačí použít výchozí nastavení. Při publikování do Azure prostřednictvím sady Visual Studio se parametr automaticky nastaví za vás. Pro programové nasazení do clusterů hostovaných v Azure je připojovací řetězec vždy "fabric:ImageStore". I když máte pochybnosti, jeho hodnotu je možné vždy ověřit načtením manifestu clusteru pomocí PowerShellu, .NET nebo REST. Místní testovací i produkční clustery by měly být vždy nakonfigurované tak, aby používaly i poskytovatele služby Image Store.

Další kroky

Nasazení a odebrání aplikací pomocí PowerShellu