Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server Linux rendszeren
Ez az oktatóanyag bemutatja, hogyan konfigurálhatja az SQL Server Always On rendelkezésre állási csoportjait (AG-ket) egy Azure Kubernetes Service-fürtön üzembe helyezett SQL Server Linux-alapú tárolókhoz a DH2i DxOperator használatával. Ezek az eljárások az Azure Red Hat OpenShift klasterekre is érvényesek. Az elsődleges különbség egy Azure Red Hat OpenShift-klaszter üzembe helyezése, majd a következő lépésekben a kubectl parancsok oc parancsokra történő cseréje.
A cikkben szereplő lépések segítségével megtanulod, hogyan telepíthetsz egy StatefulSet-et, és a DH2i DxOperátorral létrehozhatsz és konfigurálhatsz egy AG-t három replikával, AKS-en tárolva.
Ez az oktatóanyag a következő lépésekből áll:
- Az AKS-fürtön egy
configmapobjektum létrehozása mssql-conf beállításokkal. - A DxOperator telepítése
- Titkos objektumok létrehozása
- Háromreplika SQL Server elérhetőségi csoportot telepíteni YAML fájl használatával
- Csatlakozás az SQL Serverhez
Prerequisites
Azure Kubernetes Service (AKS) vagy Kubernetes-fürt.
Érvényes DxEnterprise-licenc, amelyen engedélyezve van az AG-funkciók és az alagutak. További információ: fejlesztői kiadás tesztelési célokra, vagy DxEnterprise szoftver termelési munkaterheléshez.
Az configmap objektum létrehozása
Az AKS-ben hozza létre az
configmapobjektumot, amely az mssql-conf beállításaival rendelkezik a követelmények alapján. Ebben a példában a(z)mssqlconfig.yamlnevű fájl használatával, a következő paraméterekkel hozod létre aconfigmapelemet.apiVersion: v1 kind: ConfigMap metadata: name: mssql-config data: mssql.conf: | [EULA] accepteula = Y [sqlagent] enabled = trueHozd létre az objektumot a következő parancs futtatásával.
kubectl apply -f ./mssqlconfig.yaml
Titkos objektumok létrehozása
Hozzon létre egy titkos kulcsot az SQL Server jelszavának sa tárolásához.
kubectl create secret generic mssql --from-literal=MSSQL_SA_PASSWORD="<password>"
Caution
A jelszónak az SQL Server alapértelmezett password szabályzatot kell követnie. Alapértelmezés szerint a jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő négy készletből három karakterből kell állnia: nagybetűk, kisbetűk, 10 számjegyből és szimbólumokból. A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.
Hozzon létre egy titkos kulcsot a DH2i licenckulcsának tárolásához. Fejlesztői licenc beszerzéséhez látogasson el a DH2i webhelyére . Az alábbi példában cserélje le a XXXX-XXXX-XXXX-XXXX elemet a licenckulcsával.
kubectl create secret generic dxe --from-literal=DX_PASSKEY="<password>" --from-literal=DX_LICENSE=XXXX-XXXX-XXXX-XXXX
A DxOperator telepítése
A DxOperator telepítéséhez töltse le a DxOperator YAML fájlt az alábbi példával, majd alkalmazza a YAML fájlt.
Telepítsd a YAML fájlt, amely leírja, hogyan lehet AG-t beállítani a következő parancs használatával. Mentse a fájlt egy egyéni névvel, például
DxOperator.yaml.curl -L https://dxoperator.dh2i.com/dxsqlag/files/v2.yaml -o DxOperator.yaml kubectl apply -f DxOperator.yamlMiután telepítetted az operátort, telepítheted az SQL Server konténereket, konfigurálhatod a rendelkezésre állási csoportot, definiálhatod a replikákat, és telepítheted és konfigurálhatod a DxEnterprise klasztert. Változtasd meg a következő mintatelepítési YAML fájlt,
DxSqlAg.yaml, az igényeidnek megfelelően.apiVersion: dh2i.com/v1 kind: DxSqlAg metadata: name: contoso-sql spec: sqlAgConfiguration: synchronousReplicas: 3 asynchronousReplicas: 0 # ConfigurationOnlyReplicas are only allowed with availabilityGroupClusterType set to EXTERNAL configurationOnlyReplicas: 0 availabilityGroupName: AG1 # Adds auto-generated load balancers to serviceTemplates for easy cluster access # For more customization, use the serviceTemplates section below #createLoadBalancers: true # Listener port for the availability group (uncomment to apply) #availabilityGroupListenerPort: 51433 # For a contained availability group, add the option CONTAINED #availabilityGroupOptions: CONTAINED # Disables automatic availability mode switching when scaling down #disableModeSwitching: true statefulSetSpec: podspec: dxEnterpriseContainer: image: "docker.io/dh2i/dxe:latest" imagePullPolicy: Always acceptEula: true clusterSecret: dxe vhostName: VHOST1 # Configuration options for the required persistent volume claim for DxEnterprise #volumeClaimConfiguration: # Set custom storage class for DxE PVC #storageClassName: example-class mssqlServerContainer: image: "mcr.microsoft.com/mssql/server:2025-latest" imagePullPolicy: Always mssqlSecret: mssql acceptEula: true mssqlPID: Developer # Set a non-default SQL Server port. DxOperator will auto-detect # the port from other sources too, such as mssqlConfigMap mssqlTcpPort: 51444 # The MSSQL configMap (mssql.conf file) mssqlConfigMap: mssql-config # Configuration options for the required persistent volume claim for SQL Server #volumeClaimConfiguration: # resources: # requests: # storage: 2Gi # Additional pod containers, such as mssql-tools #containers: #- name: mssql-tools #image: "mcr.microsoft.com/mssql-tools" #command: [ "/bin/sh" ] #args: [ "-c", "tail -f /dev/null" ]Telepítse a
DxSqlAg.yamlfájlt.kubectl apply -f DxSqlAg.yaml
Rendelkezésre állási csoport figyelőjének létrehozása
Frissítsd az
availabilityGroupListenerPortértéket aDxSqlAg.yamlfájlodban:spec: sqlAgConfiguration: availabilityGroupListenerPort: 51433Alkalmazd a fájlt:
kubectl apply -f DxSqlAg.yamlAlkalmazd a következő YAML-t, hogy hozzáadj egy terheléskiosztót a hallgatónak.
apiVersion: v1 kind: Service metadata: name: contoso-cluster-lb spec: type: LoadBalancer selector: dh2i.com/entity-name: contoso-sql # This label points to whichever pod is the active Vhost member dh2i.com/active-vhost-vhost1: "true" ports: - name: sql protocol: TCP port: 1433 targetPort: 51444 - name: listener protocol: TCP port: 51433 targetPort: 51433 - name: dxe protocol: TCP port: 7979 targetPort: 7979Ellenőrizd, hogy a szolgáltatások és terheléselosztók futnak-e.
kubectl get servicesA kimenet az alábbi példához hasonlóan néz ki:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE contoso-cluster-lb LoadBalancer 10.1.0.21 172.212.20.29 1433:30484/TCP,14033:30694/TCP,7979:30385/TCP 3m18s contoso-sql-0 ClusterIP None <none> 7979/TCP,7980/TCP,7981/UDP,5022/TCP,1433/TCP 79m contoso-sql-0-lb LoadBalancer 10.1.0.210 4.255.19.171 7979:32374/TCP,1433:32444/TCP 79m contoso-sql-1 ClusterIP None <none> 7979/TCP,7980/TCP,7981/UDP,5022/TCP,1433/TCP 79m contoso-sql-1-lb LoadBalancer 10.1.0.158 4.255.19.201 7979:30152/TCP,1433:30868/TCP 79m contoso-sql-2 ClusterIP None <none> 7979/TCP,7980/TCP,7981/UDP,5022/TCP,1433/TCP 79m contoso-sql-2-lb LoadBalancer 10.1.0.159 4.255.19.218 7979:30566/TCP,1433:31463/TCP 79m kubernetes ClusterIP 10.1.0.1 <none> 443/TCP 87mEllenőrizd, hogy mindhárom SQL Server pod fut-e.
kubectl get podsA kimenet az alábbi példához hasonlóan néz ki:
NAME READY STATUS RESTARTS AGE contoso-sql-0 2/2 Running 0 74m contoso-sql-1 2/2 Running 0 74m contoso-sql-2 2/2 Running 0 74m
Kapcsolódó tartalom
- SQL Server-tárolók és rendelkezésre állási csoport üzembe helyezése a DH2i DxOperator használatával az Azure Kubernetes Service-ben a Rancheren keresztül
- Rendelkezésre állási csoportok üzembe helyezése a DH2i DxEnterprise használatával a Kubernetes-
- Rövid útmutató: SQL Server-tárolófürt üzembe helyezése az Azure-ban vagy a Red Hat OpenShiftben
- SQL Server Linux-tárolók üzembe helyezése a Kubernetesen StatefulSets