Przenoszenie własnej sieciowej grupy zabezpieczeń do klastra usługi Azure Red Hat OpenShift (ARO)
Zazwyczaj podczas konfigurowania klastra usługi ARO należy wyznaczyć grupę zasobów do wdrożenia obiektu klastra usługi ARO (nazywanej podstawową grupą zasobów na poniższym diagramie). W takich scenariuszach można użyć tej samej grupy zasobów zarówno dla sieci wirtualnej, jak i klastra, albo wybrać oddzielną grupę zasobów wyłącznie dla sieci wirtualnej. Żadna z tych grup zasobów nie odpowiada bezpośrednio pojedynczemu klastrowi usługi ARO, udzielając pełnej kontroli nad nimi. Oznacza to, że możesz swobodnie tworzyć, modyfikować lub usuwać zasoby w tych grupach zasobów.
Podczas procesu tworzenia klastra dostawca zasobów usługi ARO ustanawia dedykowaną grupę zasobów specyficzną dla potrzeb klastra. Ta grupa zawiera różne zasoby specyficzne dla klastra, takie jak maszyny wirtualne węzłów, moduły równoważenia obciążenia i sieciowe grupy zabezpieczeń, jak przedstawiono na poniższym diagramie zarządzaną grupę zasobów. Zarządzana grupa zasobów jest ściśle zabezpieczona, zabraniając wszelkich modyfikacji jego zawartości, w tym sieciowej grupy zabezpieczeń połączonej z podsieciami sieci wirtualnej określonymi podczas tworzenia klastra. W niektórych sytuacjach sieciowa grupa zabezpieczeń wygenerowana przez dostawcę usługi ARO może nie być zgodna z zasadami zabezpieczeń niektórych organizacji.
W tym artykule pokazano, jak używać funkcji sieciowej grupy zabezpieczeń (Bring Your Own Network Security Group) w celu dołączenia własnej wstępnie skonfigurowanej sieciowej grupy zabezpieczeń znajdującej się w grupie zasobów Base/VNET (RG) (pokazanej na poniższym diagramie jako podsieci klastra BYO-NSG). Ponieważ posiadasz wstępnie skonfigurowaną sieciową grupę zabezpieczeń, możesz dodawać/usuwać reguły w okresie istnienia klastra usługi ARO.
Ogólne możliwości i ograniczenia
Przed utworzeniem klastra należy dołączyć wstępnie skonfigurowane sieciowe grupy zabezpieczeń do podsieci głównych i roboczych. Błąd podczas dołączania wstępnie skonfigurowanych sieciowych grup zabezpieczeń do obu podsieci powoduje wystąpienie błędu.
Możesz użyć tych samych lub różnych wstępnie skonfigurowanych sieciowych grup zabezpieczeń dla podsieci głównych i roboczych.
W przypadku korzystania z własnej sieciowej grupy zabezpieczeń dostawca usługi ARO nadal tworzy sieciową grupę zabezpieczeń w zarządzanej grupie zasobów (domyślna sieciowa grupa zabezpieczeń), ale sieciowa grupa zabezpieczeń nie jest dołączona do podsieci procesów roboczych ani głównych.
Nie można włączyć wstępnie skonfigurowanej funkcji sieciowej grupy zabezpieczeń w istniejącym klastrze usługi ARO. Obecnie tę funkcję można włączyć tylko w momencie tworzenia klastra.
Wstępnie skonfigurowana opcja sieciowej grupy zabezpieczeń nie jest konfigurowalna w witrynie Azure Portal.
Jeśli ta funkcja była używana w wersji zapoznawczej, istniejące wstępnie skonfigurowane klastry są teraz w pełni obsługiwane.
Uwaga
Jeśli używasz funkcji "bring your own" sieciowej grupy zabezpieczeń i chcesz używać dzienników przepływu sieciowej grupy zabezpieczeń, zapoznaj się z tematem Rejestrowanie przepływu dla sieciowych grup zabezpieczeń w dokumentacji usługi Azure Network Watcher, a nie dokumentacji dziennika przepływu specyficznego dla usługi ARO (która nie będzie działać z funkcją bring your own NSG).
Korzystanie z reguł
Ostrzeżenie
Wstępnie skonfigurowane sieciowe grupy zabezpieczeń nie są automatycznie aktualizowane przy użyciu reguł podczas tworzenia usług typu Kubernetes LoadBalancer ani tras OpenShift w klastrze usługi ARO. W związku z tym należy ręcznie zaktualizować te reguły zgodnie z wymaganiami. To zachowanie różni się od oryginalnego zachowania ARO, w którym domyślna sieciowa grupa zabezpieczeń jest programowo aktualizowana w takich sytuacjach.
Domyślna sieciowa grupa zabezpieczeń klastra ARO (nie dołączona do żadnej podsieci podczas korzystania z tej funkcji) będzie nadal aktualizowana przy użyciu reguł podczas tworzenia usług typu Kubernetes LoadBalancer lub tras OpenShift w klastrze usługi ARO.
Wstępnie skonfigurowane sieciowe grupy zabezpieczeń można odłączyć od podsieci klastra utworzonego przy użyciu tej funkcji. Powoduje to utworzenie klastra z podsieciami, które nie mają sieciowych grup zabezpieczeń. Następnie możesz dołączyć inny zestaw wstępnie skonfigurowanych sieciowych grup zabezpieczeń do klastra. Alternatywnie możesz dołączyć domyślną sieciową grupę zabezpieczeń usługi ARO do podsieci klastra (w którym momencie klaster stanie się jak każdy inny klaster, który nie korzysta z tej funkcji).
Wstępnie skonfigurowane sieciowe grupy zabezpieczeń nie powinny mieć reguł ODMÓW RUCHU PRZYCHODZĄCEgo/WYCHODZĄCego następujących typów, ponieważ mogą one zakłócać działanie klastra i/lub utrudniać zespołom ARO support/SRE zapewnienie pomocy technicznej/zarządzania. (W tym miejscu podsieć wskazuje wszystkie lub wszystkie adresy IP w podsieci i wszystkie porty odpowiadające tej podsieci):
Podsieć główna ←→ podsieci głównej
Podsieć procesu roboczego ←→ podsieci procesu roboczego
Podsieć główna ←→ procesu roboczego
Błędnie skonfigurowane reguły powodują sygnał używany przez usługę Azure Monitor do rozwiązywania wstępnie skonfigurowanych sieciowych grup zabezpieczeń.
Aby zezwolić na ruch przychodzący do klastra publicznego usługi ARO, ustaw następujące reguły ZEZWALANIA RUCHU PRZYCHODZĄCEgo (lub równoważnego) w sieciowej grupie zabezpieczeń. Zapoznaj się z domyślną sieciową grupą zabezpieczeń klastra, aby uzyskać szczegółowe informacje i przykładową sieciową grupę zabezpieczeń pokazaną w temacie Wdrażanie. Klaster można utworzyć nawet bez takich reguł w sieciowej grupie zabezpieczeń.
- W przypadku dostępu do serwera interfejsu API → z Internetu (lub preferowanych źródłowych adresów IP) do portu 6443 w podsieci głównej.
- Aby uzyskać dostęp do routera OpenShift (a tym samym do konsoli OpenShift i tras OpenShift) → z Internetu (lub preferowanych źródłowych adresów IP) do portów 80 i 443 na domyślnym publicznym adresie IP v4 w publicznym module równoważenia obciążenia klastra.
- Aby uzyskać dostęp do dowolnego typu modułu równoważenia obciążenia, usługa Kubernetes → z Internetu (lub preferowanych źródłowych adresów IP) do portów usługi w publicznym adresie IP odpowiadającym usłudze w publicznym module równoważenia obciążenia klastra.
Wdrożenie
Tworzenie sieci wirtualnej i tworzenie i konfigurowanie wstępnie skonfigurowanej sieciowej grupy zabezpieczeń
Utwórz sieć wirtualną, a następnie utwórz w niej podsieci główne i robocze.
Utwórz wstępnie skonfigurowane sieciowe grupy zabezpieczeń z regułami domyślnymi (lub bez reguł) i dołącz je do podsieci głównych i roboczych.
Tworzenie klastra usługi ARO i aktualizowanie wstępnie skonfigurowanych sieciowych grup zabezpieczeń
Tworzenie klastra.
az aro create \ --resource-group BASE_RESOURCE_GROUP_NAME \ --name CLUSTER_NAME \ --vnet VNET_NAME \ --master-subnet MASTER_SUBNET_NAME \ --worker-subnet WORKER_SUBNET_NAME \ --client-id CLUSTER_SERVICE_PRINCIPAL_ID \ --client-secret CLUSTER_SERVICE_PRINCIPAL_SECRET \ --enable-preconfigured-nsg
Zaktualizuj wstępnie skonfigurowane sieciowe grupy zabezpieczeń zgodnie z wymaganiami, uwzględniając również punkty wymienione w temacie Możliwości i ograniczenia.
Poniższy przykład zawiera publiczny moduł równoważenia obciążenia klastra, jak pokazano na zrzucie ekranu/danych wyjściowych interfejsu wiersza polecenia:
$ oc get svc | grep tools tools LoadBalancer 172.30.182.7 20.141.176.3 80:30520/TCP 143m $ $ oc get svc -n openshift-ingress | grep Load router-default LoadBalancer 172.30.105.218 20.159.139.208 80:31157/TCP,443:31177/TCP 5d20