De configuratie van een PostgreSQL-server met Azure Arc weergeven
In dit artikel wordt uitgelegd hoe u de configuratie van uw server kunt weergeven. Dit doet u door te anticiperen op enkele vragen die u mogelijk aan uzelf stelt en het beantwoordt ze. Soms kunnen er verschillende geldige antwoorden zijn. In dit artikel worden de meest voorkomende of nuttige plaatsen beschreven. Deze vragen worden gegroepeerd op thema:
- Vanuit een Kubernetes-oogpunt
- Vanuit het oogpunt van gegevensservices met Azure Arc
Notitie
Omdat het om een preview-functie gaat, is de technologie die in dit artikel wordt behandeld onderhevig aan de Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews.
De meest recente updates zijn beschikbaar in de releaseopmerkingen.
Vanuit een Kubernetes-oogpunt
Wat zijn de Postgres-servers geïmplementeerd en hoeveel pods gebruiken ze?
Geef de Kubernetes-resources van het type Postgres weer. Voer de opdracht uit:
kubectl get postgresqls -n <namespace>
In de uitvoer van deze opdracht ziet u de lijst met servergroepen die zijn gemaakt. Voor elk item wordt het aantal pods aangegeven. Voorbeeld:
NAME STATE READY-PODS PRIMARY-ENDPOINT AGE
postgres01 Ready 1/1 20.101.12.221:5432 12d
In dit voorbeeld ziet u dat er één server wordt gemaakt. Het wordt uitgevoerd op één pod.
Welke pods worden gebruikt door PostgreSQL-servers met Azure Arc?
Run:
kubectl get pods -n <namespace>
De opdracht retourneert de lijst met pods. U ziet de pods die door uw servers worden gebruikt op basis van de namen die u aan deze servers hebt gegeven. Voorbeeld:
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
Wat is de status van de pods?
De kubectl get pods -n <namespace>
kolom uitvoeren en bekijken STATUS
Welke permanente volumeclaims (PVC's) worden gebruikt?
Voer de volgende opdracht uit om te begrijpen welke PVC's worden gebruikt en welke worden gebruikt voor gegevens en logboeken:
kubectl get pvc -n <namespace>
Standaard geeft het voorvoegsel van de naam van een PVC het gebruik aan:
data-
...: is PVC gebruikt voor gegevensbestandenlogs-
...: is een PVC dat wordt gebruikt voor transactielogboeken/WAL-bestanden
Voorbeeld:
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
...
Hoeveel geheugen en vCores worden door een server gebruikt?
Gebruik kubectl om Postgres-resources te beschrijven. Hiervoor hebt u het type (naam van de Kubernetes-resource (CRD) voor Postgres in Azure Arc en de naam van de servergroep nodig.
De algemene indeling van deze opdracht is:
kubectl describe <CRD name>/<server name> -n <namespace>
Voorbeeld:
kubectl describe postgresql/postgres01 -n arc
Met deze opdracht wordt de configuratie van de servergroep weergegeven:
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>
De configuratie-informatie interpreteren
Laten we een aantal specifieke nuttige punten noemen in de beschrijving van de server
bovenstaande beschrijving. Wat vertelt het ons over deze server?
Het werd gemaakt op 13 oktober 2021:
Metadata: Creation Timestamp: 2021-10-13T01:09:25Z
Resourceconfiguratie: in dit voorbeeld is het gegarandeerde 256Mi aan geheugen. De server kan niet meer dan 1Gi geheugen gebruiken. Het is gegarandeerd één vCore en kan niet meer dan twee vCores verbruiken.
Scheduling: Default: Resources: Limits: Cpu: 2 Memory: 1Gi Requests: Cpu: 1 Memory: 256Mi
Wat is de status van de server? Is deze beschikbaar voor mijn toepassingen?
Ja, de pods zijn klaar
Ready Pods: 1/1
Vanuit het oogpunt van gegevensservices met Azure Arc
Gebruik Az CLI-opdrachten.
Wat zijn de Postgres-servers geïmplementeerd?
Voer de volgende opdracht uit.
az postgres server-arc list --k8s-namespace <namespace> --use-k8s
Hierin worden de servers vermeld die zijn geïmplementeerd.
[
{
"name": "postgres01",
"state": "Ready"
}
]
Hoeveel geheugen en vCores worden gebruikt?
Voer een van de volgende opdrachten uit
az postgres server-arc show -n <server name> --k8s-namespace <namespace> --use-k8s
Voorbeeld:
az postgres server-arc show -n postgres01 --k8s-namespace arc --use-k8s
Retourneert de informatie in een indeling en inhoud die vergelijkbaar is met de inhoud die wordt geretourneerd door kubectl. Gebruik het hulpprogramma van uw keuze om met het systeem te communiceren.