Omówienie ustawienia ImageStoreConnectionString
W niektórych z naszych dokumentacji krótko wspominamy o istnieniu parametru "ImageStoreConnectionString" bez opisywania tego, co naprawdę oznacza. A po przejściu przez artykuł, taki jak Wdrażanie i usuwanie aplikacji przy użyciu programu PowerShell, wygląda na to, że wszystko, co robisz, to skopiować/wkleić wartość, jak pokazano w manifeście klastra docelowego. Dlatego ustawienie musi być konfigurowalne dla klastra, ale podczas tworzenia klastra za pośrednictwem witryny Azure Portal nie ma możliwości skonfigurowania tego ustawienia i zawsze jest to "fabric:ImageStore". Jaki jest cel tego ustawienia?
Usługa Service Fabric rozpoczęła się jako platforma do wewnętrznego użycia przez wiele różnych zespołów, więc niektóre aspekty są wysoce dostosowywalne — "Magazyn obrazów" jest jednym z takich aspektów. Zasadniczo magazyn obrazów jest podłączonym repozytorium do przechowywania pakietów aplikacji. Po wdrożeniu aplikacji w węźle w klastrze węzeł ten pobiera zawartość pakietu aplikacji ze sklepu Image Store. ImageStoreConnectionString to ustawienie, które zawiera wszystkie niezbędne informacje dla klientów i węzłów w celu znalezienia poprawnego magazynu obrazów dla danego klastra.
Obecnie istnieją trzy możliwe rodzaje dostawców magazynu obrazów, a ich odpowiednie parametry połączenia są następujące:
Usługa magazynu obrazów: "fabric:ImageStore"
System plików: "file:[file system path]"
Azure Storage: "xstore:DefaultEndpointsProtocol=https; AccountName=[...]; AccountKey=[...]; Container=[...]"
Typ dostawcy używany w środowisku produkcyjnym to usługa magazynu obrazów, która jest stanową utrwalonej usługi systemowej, którą można zobaczyć w narzędziu Service Fabric Explorer.
Hostowanie magazynu obrazów w usłudze systemowej w samym klastrze eliminuje zależności zewnętrzne dla repozytorium pakietów i zapewnia nam większą kontrolę nad lokalnością magazynu. Przyszłe ulepszenia dotyczące magazynu obrazów prawdopodobnie będą dotyczyć najpierw dostawcy magazynu obrazów, jeśli nie są wyłącznie. Parametry połączenia dostawcy usługi magazynu obrazów nie ma żadnych unikatowych informacji, ponieważ klient jest już połączony z klastrem docelowym. Klient musi tylko wiedzieć, że należy używać protokołów przeznaczonych dla usługi systemowej.
Dostawca systemu plików jest używany zamiast usługi Magazynu obrazów dla lokalnych klastrów jedno box podczas programowania w celu nieco szybszego uruchamiania klastra. Różnica jest zazwyczaj mała, ale jest przydatna optymalizacja dla większości osób podczas opracowywania. Istnieje również możliwość wdrożenia lokalnego klastra jedno box z innymi typami dostawcy magazynu, ale zwykle nie ma powodu, aby to zrobić, ponieważ przepływ pracy tworzenia/testowania pozostaje taki sam niezależnie od dostawcy. Dostawca usługi Azure Storage istnieje tylko w przypadku starszej obsługi starych klastrów wdrożonych przed wprowadzeniem dostawcy usługi Magazynu obrazów.
Ponadto nie dostawcy systemu plików lub dostawcy usługi Azure Storage należy użyć jako metody udostępniania magazynu obrazów między wieloma klastrami — spowoduje to uszkodzenie danych konfiguracji klastra, ponieważ każdy klaster może zapisywać dane powodujące konflikt w magazynie obrazów. Aby udostępnić aprowizowane pakiety aplikacji między wieloma klastrami, użyj plików sfpkg, które można przekazać do dowolnego magazynu zewnętrznego przy użyciu identyfikatora URI pobierania.
Dlatego podczas konfigurowania właściwości ImageStoreConnectionString wystarczy użyć ustawienia domyślnego. Podczas publikowania na platformie Azure za pomocą programu Visual Studio parametr jest automatycznie ustawiany dla Ciebie. W przypadku programowego wdrażania w klastrach hostowanych na platformie Azure parametry połączenia jest zawsze "fabric:ImageStore". Chociaż w razie wątpliwości jej wartość zawsze można zweryfikować, pobierając manifest klastra za pomocą programu PowerShell, platformy .NET lub REST. Zarówno lokalne klastry testowe, jak i produkcyjne powinny być zawsze skonfigurowane do korzystania z dostawcy usługi Magazynu obrazów.
Następne kroki
Wdrażanie i usuwanie aplikacji przy użyciu programu PowerShell