Wyświetlanie konfiguracji serwera PostgreSQL z obsługą usługi Azure Arc
W tym artykule wyjaśniono, jak wyświetlić konfigurację serwera. Robi to, przewidując kilka pytań, które możesz zadać sobie i na nie odpowiada. Czasami może istnieć kilka prawidłowych odpowiedzi. W tym artykule przedstawiono najbardziej typowe lub przydatne. Grupuje te pytania według motywu:
- Z punktu widzenia platformy Kubernetes
- Z punktu widzenia usług danych z obsługą 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.
Z punktu widzenia platformy Kubernetes
Jakie są wdrożone serwery Postgres i ile zasobników są używane?
Wyświetl listę zasobów kubernetes typu Postgres. Uruchom polecenie:
kubectl get postgresqls -n <namespace>
Dane wyjściowe tego polecenia zawierają listę utworzonych grup serwerów. Dla każdego z nich wskazuje liczbę zasobników. Na przykład:
NAME STATE READY-PODS PRIMARY-ENDPOINT AGE
postgres01 Ready 1/1 20.101.12.221:5432 12d
W tym przykładzie pokazano, że jeden serwer został utworzony. Działa on na jednym zasobniku.
Jakie zasobniki są używane przez serwery PostgreSQL z obsługą usługi Azure Arc?
Uruchom:
kubectl get pods -n <namespace>
Polecenie zwraca listę zasobników. Zobaczysz zasobniki używane przez serwery na podstawie nazw nadanych tym serwerom. Na przykład:
NAME READY STATUS RESTARTS AGE
bootstrapper-4jrtl 1/1 Running 0 12d
control-kz8gh 2/2 Running 0 12d
controldb-0 2/2 Running 0 12d
logsdb-0 3/3 Running 0 12d
logsui-qjkgz 3/3 Running 0 12d
metricsdb-0 2/2 Running 0 12d
metricsdc-4jslw 2/2 Running 0 12d
metricsdc-4tl2g 2/2 Running 0 12d
metricsdc-fkxv2 2/2 Running 0 12d
metricsdc-hs4h5 2/2 Running 0 12d
metricsdc-tvz22 2/2 Running 0 12d
metricsui-7pcch 2/2 Running 0 12d
postgres01-0 3/3 Running 0 2d19h
Jaki jest stan zasobników?
Uruchamianie kubectl get pods -n <namespace>
i wyszukiwanie kolumny STATUS
Jakie trwałe oświadczenia woluminów (PVC) są używane?
Aby zrozumieć, jakie elementy PVC są używane, i które są używane na potrzeby danych i dzienników, uruchom polecenie:
kubectl get pvc -n <namespace>
Domyślnie prefiks nazwy PVC wskazuje jego użycie:
data-
...: jest używany w plikach danych PCVlogs-
...: jest pcv używany do dzienników transakcji/plików WAL
Na przykład:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
data-few7hh0k4npx9phsiobdc3hq-postgres01-0 Bound local-pv-3c1a8cc5 1938Gi RWO local-storage 6d6h
data-few7hh0k4npx9phsiobdc3hq-postgres01-1 Bound local-pv-8303ab19 1938Gi RWO local-storage 6d6h
data-few7hh0k4npx9phsiobdc3hq-postgres01-2 Bound local-pv-55572fe6 1938Gi RWO local-storage 6d6h
...
logs-few7hh0k4npx9phsiobdc3hq-postgres01-0 Bound local-pv-5e852b76 1938Gi RWO local-storage 6d6h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-1 Bound local-pv-55d309a7 1938Gi RWO local-storage 6d6h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-2 Bound local-pv-5ccd02e6 1938Gi RWO local-storage 6d6h
...
Ile pamięci i rdzeni wirtualnych jest używanych przez serwer?
Użyj narzędzia kubectl, aby opisać zasoby bazy danych Postgres. W tym celu potrzebny jest jego rodzaj (nazwa zasobu Kubernetes (CRD) dla bazy danych Postgres w usłudze Azure Arc) i nazwa grupy serwerów.
Ogólny format tego polecenia to:
kubectl describe <CRD name>/<server name> -n <namespace>
Na przykład:
kubectl describe postgresql/postgres01 -n arc
To polecenie pokazuje konfigurację grupy serwerów:
Name: postgres01
Namespace: arc
Labels: <none>
Annotations: <none>
API Version: arcdata.microsoft.com/v1beta2
Kind: PostgreSql
Metadata:
Creation Timestamp: 2021-10-13T01:09:25Z
Generation: 29
Managed Fields:
API Version: arcdata.microsoft.com/v1beta2
Fields Type: FieldsV1
fieldsV1:
f:spec:
.:
f:dev:
f:scheduling:
.:
f:default:
.:
f:resources:
.:
f:limits:
.:
f:cpu:
f:memory:
f:requests:
.:
f:cpu:
f:memory:
f:services:
.:
f:primary:
.:
f:port:
f:type:
f:storage:
.:
f:data:
.:
f:volumes:
f:logs:
.:
f:volumes:
Manager: OpenAPI-Generator
Operation: Update
Time: 2021-10-22T22:37:51Z
API Version: arcdata.microsoft.com/v1beta2
Fields Type: FieldsV1
fieldsV1:
f:IsValid:
f:status:
.:
f:lastUpdateTime:
f:logSearchDashboard:
f:metricsDashboard:
f:observedGeneration:
f:primaryEndpoint:
f:readyPods:
f:state:
Manager: unknown
Operation: Update
Time: 2021-10-22T22:37:53Z
Resource Version: 1541521
UID: 23565e53-2e7a-4cd6-8f80-3a79397e1d7a
Spec:
Dev: false
Scheduling:
Default:
Resources:
Limits:
Cpu: 2
Memory: 1Gi
Requests:
Cpu: 1
Memory: 256Mi
Services:
Primary:
Port: 5432
Type: LoadBalancer
Storage:
Data:
Volumes:
Class Name: managed-premium
Size: 5Gi
Logs:
Volumes:
Class Name: managed-premium
Size: 5Gi
Status:
Last Update Time: 2021-10-22T22:37:53.000000Z
Log Search Dashboard: https://12.235.78.99:5601/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:postgres01'))
Metrics Dashboard: https://12.346.578.99:3000/d/postgres-metrics?var-Namespace=arc&var-Name=postgres01
Observed Generation: 29
Primary Endpoint: 20.101.12.221:5432
Ready Pods: 1/1
State: Ready
Events: <none>
Interpretowanie informacji o konfiguracji
Przyjrzyjmy się konkretnym punktom orientacyjnym w opisie pokazanego server
powyżej. Co to mówi nam o tym serwerze?
Został utworzony w dniu 13 października 2021 r.:
Metadata: Creation Timestamp: 2021-10-13T01:09:25Z
Konfiguracja zasobów: w tym przykładzie gwarantowane 256Mi pamięci. Serwer nie może używać więcej niż 1Gi pamięci. Gwarantowana jest jedna rdzeń wirtualny i nie może korzystać z więcej niż dwóch rdzeni wirtualnych.
Scheduling: Default: Resources: Limits: Cpu: 2 Memory: 1Gi Requests: Cpu: 1 Memory: 256Mi
Jaki jest stan serwera? Czy jest ona dostępna dla moich aplikacji?
Tak, zasobniki są gotowe
Ready Pods: 1/1
Z punktu widzenia usług danych z obsługą usługi Azure Arc
Użyj poleceń interfejsu wiersza polecenia Az.
Jakie są wdrożone serwery Postgres?
Uruchom następujące polecenie.
az postgres server-arc list --k8s-namespace <namespace> --use-k8s
Wyświetla listę wdrożonych serwerów.
[
{
"name": "postgres01",
"state": "Ready"
}
]
Ile pamięci i rdzeni wirtualnych są używane?
Uruchom jedną z następujących poleceń
az postgres server-arc show -n <server name> --k8s-namespace <namespace> --use-k8s
Na przykład:
az postgres server-arc show -n postgres01 --k8s-namespace arc --use-k8s
Zwraca informacje w formacie i zawartości podobnej do tej zwracanej przez narzędzie kubectl. Użyj wybranego narzędzia do interakcji z systemem.