Tworzenie serwera PostgreSQL z obsługą usługi Azure Arc z poziomu interfejsu wiersza polecenia
W tym dokumencie opisano kroki tworzenia serwera PostgreSQL w usłudze Azure Arc i nawiązywania z nim połączenia.
Wymagania wstępne
Zanim będzie można kontynuować wykonywanie zadań w tym artykule, musisz mieć niezbędne narzędzia. Wszystkie wdrożenia wymagają następujących narzędzi:
Azure Data Studio
Rozszerzenie usługi Azure Arc dla narzędzia Azure Data Studio
Interfejs wiersza polecenia platformy Azure (
az
)arcdata
rozszerzenie interfejsu wiersza polecenia platformy Azurekubectl
Dodatkowe narzędzia klienckie w zależności od środowiska. Aby uzyskać bardziej kompleksową listę, zobacz Narzędzia klienckie.
Oprócz wymaganych narzędzi do wykonywania zadań potrzebny jest kontroler danych usługi Azure Arc.
Uwaga
Jako funkcja w wersji zapoznawczej technologia przedstawiona w tym artykule podlega dodatkowym warunkom użytkowania dla wersji zapoznawczych platformy Microsoft Azure.
Wprowadzenie
Jeśli znasz już poniższe tematy, możesz pominąć ten akapit. Przed kontynuowaniem tworzenia warto przeczytać ważne tematy:
- Omówienie usług danych z obsługą usługi Azure Arc
- Tryby łączności i wymagania
- Pojęcia dotyczące konfiguracji magazynu i magazynu Kubernetes
- Model zasobów platformy Kubernetes
Jeśli wolisz wypróbować elementy bez samodzielnego aprowizowania pełnego środowiska, szybko rozpocznij pracę z usługą Azure Arc Jumpstart w usłudze Azure Kubernetes Service (AKS), AWS Elastic Kubernetes Service (EKS), Google Cloud Kubernetes Engine (GKE) lub na maszynie wirtualnej platformy Azure.
Wstępny i tymczasowy krok tylko dla użytkowników openShift
Zaimplementuj ten krok przed przejściem do następnego kroku. Aby wdrożyć serwer PostgreSQL na platformie Red Hat OpenShift w projekcie innym niż domyślny, należy wykonać następujące polecenia względem klastra w celu zaktualizowania ograniczeń zabezpieczeń. To polecenie udziela niezbędnych uprawnień do kont usług, które będą uruchamiać serwer PostgreSQL. Ograniczenie kontekstu zabezpieczeń (SCC) arc-data-scc jest tym, który został dodany podczas wdrażania kontrolera danych usługi Azure Arc.
oc adm policy add-scc-to-user arc-data-scc -z <server-name> -n <namespace-name>
Nazwa serwera to nazwa serwera, który zostanie utworzony podczas następnego kroku.
Aby uzyskać więcej informacji na temat scCs w usłudze OpenShift, zapoznaj się z dokumentacją platformy OpenShift. Przejdź do następnego kroku.
Tworzenie serwera PostgreSQL z obsługą usługi Azure Arc
Aby utworzyć serwer PostgreSQL z obsługą usługi Azure Arc na kontrolerze danych usługi Arc, użyj polecenia az postgres server-arc create
, do którego przekażesz kilka parametrów.
Aby uzyskać szczegółowe informacje o wszystkich parametrach, które można ustawić w czasie tworzenia, zapoznaj się z danymi wyjściowymi polecenia:
az postgres server-arc create --help
Główne parametry należy wziąć pod uwagę:
nazwa serwera , który chcesz wdrożyć. Wskaż nazwę
--name
lub-n
po której długość nie może przekraczać 11 znaków.Klasy magazynu, które mają być używane przez serwer. Należy ustawić klasę magazynu bezpośrednio podczas wdrażania serwera, ponieważ nie można zmienić tego ustawienia po wdrożeniu. Można określić klasy magazynu do użycia dla danych, dzienników i kopii zapasowych. Domyślnie, jeśli nie wskazujesz klas magazynu, będą używane klasy magazynu kontrolera danych.
- Aby ustawić klasę magazynu dla kopii zapasowych, wskaż parametr
--storage-class-backups
, po którym następuje nazwa klasy magazynu. Wyłączenie tego parametru powoduje wyłączenie automatycznych kopii zapasowych - Aby ustawić klasę magazynu dla danych, wskaż parametr
--storage-class-data
, po którym następuje nazwa klasy magazynu. - Aby ustawić klasę magazynu dla dzienników, wskaż parametr
--storage-class-logs
, po którym następuje nazwa klasy magazynu.
Ważne
Jeśli chcesz zmienić klasę magazynu po wdrożeniu, wyodrębnij dane, usuń serwer, utwórz nowy serwer i zaimportuj dane.
- Aby ustawić klasę magazynu dla kopii zapasowych, wskaż parametr
Po wykonaniu polecenia create zostanie wyświetlony monit o wprowadzenie nazwy użytkownika i hasła użytkownika administracyjnego. Możesz pominąć interakcyjny monit, ustawiając AZDATA_USERNAME
zmienne środowiskowe i AZDATA_PASSWORD
sesji przed uruchomieniem polecenia create.
Przykłady
Aby wdrożyć serwer PostgreSQL o nazwie postgres01, który używa tych samych klas magazynu co kontroler danych, uruchom następujące polecenie:
az postgres server-arc create -n postgres01 --k8s-namespace <namespace> --use-k8s
Uwaga
- Jeśli kontroler danych został wdrożony przy użyciu
AZDATA_USERNAME
zmiennych środowiskowych sesji iAZDATA_PASSWORD
sesji w tej samej sesji terminalu, wartości dlaAZDATA_PASSWORD
zostaną użyte do wdrożenia serwera PostgreSQL. Jeśli wolisz użyć innego hasła, zaktualizuj wartości iAZDATA_USERNAME
AZDATA_PASSWORD
(2) usuńAZDATA_USERNAME
zmienne środowiskowe iAZDATA_PASSWORD
lub (3) usuń ich wartości, aby wyświetlić monit o wprowadzenie nazwy użytkownika i hasła interaktywnie podczas tworzenia serwera. - Utworzenie serwera PostgreSQL nie spowoduje natychmiastowego zarejestrowania zasobów na platformie Azure. W ramach procesu przekazywania spisu zasobów lub danych użycia na platformę Azure zasoby zostaną utworzone na platformie Azure i będą widoczne zasoby w witrynie Azure Portal.
Wyświetlanie listy serwerów PostgreSQL wdrożonych w kontrolerze danych usługi Arc
Aby wyświetlić listę serwerów PostgreSQL wdrożonych na kontrolerze danych usługi Arc, uruchom następujące polecenie:
az postgres server-arc list --k8s-namespace <namespace> --use-k8s
{
"name": "postgres01",
"state": "Ready"
}
Uzyskiwanie punktów końcowych w celu nawiązania połączenia z serwerami PostgreSQL z obsługą usługi Azure Arc
Aby wyświetlić punkty końcowe dla serwera PostgreSQL, uruchom następujące polecenie:
az postgres server-arc endpoint list -n <server name> --k8s-namespace <namespace> --use-k8s
Na przykład:
{
"instances": [
{
"endpoints": [
{
"description": "PostgreSQL Instance",
"endpoint": "postgresql://postgres:<replace with password>@123.456.78.912:5432"
},
{
"description": "Log Search Dashboard",
},
{
"description": "Metrics Dashboard",
"endpoint": "https://98.765.432.11:3000/d/postgres-metrics?var-Namespace=arc&var-Name=postgres01"
}
],
"engine": "PostgreSql",
"name": "postgres01"
}
],
"namespace": "arc"
}
Możesz użyć punktu końcowego wystąpienia PostgreSQL, aby nawiązać połączenie z serwerem PostgreSQL z poziomu ulubionego narzędzia: Azure Data Studio, pgcli psql, pgAdmin itp.
W tej chwili użyj kompilacji niejawnych testerów programu Azure Data Studio.
Szczególna uwaga dotycząca wdrożeń maszyn wirtualnych platformy Azure
Jeśli używasz maszyny wirtualnej platformy Azure, adres IP punktu końcowego nie będzie pokazywał publicznego adresu IP. Aby zlokalizować publiczny adres IP, użyj następującego polecenia:
az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table
Następnie możesz połączyć publiczny adres IP z portem, aby nawiązać połączenie.
Może być również konieczne uwidocznienie portu serwera PostgreSQL za pośrednictwem bramy zabezpieczeń sieci . Aby zezwolić na ruch przez sieciową grupę zabezpieczeń, ustaw regułę. Aby ustawić regułę, musisz znać nazwę sieciowej grupy zabezpieczeń. Sieciowa grupa zabezpieczeń jest określana przy użyciu poniższego polecenia:
az network nsg list -g azurearcvm-rg --query "[].{NSGName:name}" -o table
Po utworzeniu nazwy sieciowej grupy zabezpieczeń możesz dodać regułę zapory przy użyciu następującego polecenia. W tym przykładzie wartości tworzą regułę sieciowej grupy zabezpieczeń dla portu 30655 i zezwalają na połączenie z dowolnego źródłowego adresu IP.
Ostrzeżenie
Nie zalecamy ustawiania reguły zezwalania na połączenie z dowolnego źródłowego adresu IP. Możesz lepiej zablokować elementy, określając wartość specyficzną -source-address-prefixes
dla adresu IP klienta lub zakres adresów IP, który obejmuje adresy IP zespołu lub organizacji.
Zastąp wartość poniższego --destination-port-ranges
parametru numerem portu uzyskanym z powyższego az postgres server-arc list
polecenia.
az network nsg rule create -n db_port --destination-port-ranges 30655 --source-address-prefixes '*' --nsg-name azurearcvmNSG --priority 500 -g azurearcvm-rg --access Allow --description 'Allow port through for db access' --destination-address-prefixes '*' --direction Inbound --protocol Tcp --source-port-ranges '*'
Nawiązywanie połączenia z narzędziem Azure Data Studio
Otwórz program Azure Data Studio i połącz się z wystąpieniem przy użyciu zewnętrznego adresu IP punktu końcowego i numeru portu powyżej oraz hasła określonego podczas tworzenia wystąpienia. Jeśli usługa PostgreSQL nie jest dostępna na liście rozwijanej Typ połączenia, możesz zainstalować rozszerzenie PostgreSQL, wyszukując postgreSQL na karcie rozszerzenia.
Uwaga
Aby wprowadzić numer portu, musisz kliknąć przycisk [Zaawansowane] na panelu połączenia.
Pamiętaj, że jeśli używasz maszyny wirtualnej platformy Azure, potrzebujesz publicznego adresu IP, który jest dostępny za pomocą następującego polecenia:
az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table
Nawiązywanie połączenia za pomocą narzędzia psql
Aby uzyskać dostęp do serwera PostgreSQL, przekaż zewnętrzny punkt końcowy serwera PostgreSQL pobranego z powyższego:
Teraz możesz nawiązać połączenie z usługą psql:
psql postgresql://postgres:<EnterYourPassword>@10.0.0.4:30655
Powiązana zawartość
Nawiązywanie połączenia z serwerem PostgreSQL z obsługą usługi Azure Arc: przeczytaj Pobieranie punktów końcowych połączenia i parametrów połączenia
* W powyższych dokumentach pomiń sekcje Zaloguj się do witryny Azure Portal i Utwórz usługę Azure Database for PostgreSQL. Zaimplementuj pozostałe kroki we wdrożeniu usługi Azure Arc. Te sekcje są specyficzne dla serwera usługi Azure Database for PostgreSQL oferowanego jako usługa PaaS w chmurze platformy Azure, ale pozostałe części dokumentów mają bezpośrednie zastosowanie do serwera PostgreSQL z obsługą usługi Azure Arc.
Pojęcia dotyczące konfiguracji magazynu i magazynu Kubernetes