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-fürtökre is érvényesek; az elsődleges különbség egy Azure Red Hat OpenShift-fürt üzembe helyezése, majd a kubectl parancsok oc-re történő cseréje az alábbi lépésekben.
A Microsoft támogatja az adatáthelyezést, az AG-t és az SQL Server-összetevőket. A DH2i felelős a DxEnterprise termék támogatásáért, amely magában foglalja a klaszter- és kvórumkezelést.
A DxOperator a Kubernetes szoftverkiterjesztése, amely egyéni erőforrásdefiníciókkal automatizálja a DxEnterprise-fürtök üzembe helyezését. A DxEnterprise ezután minden olyan eszközt biztosít, amellyel automatikus feladatátvételt hozhat létre, konfigurálhat, kezelhet és biztosíthat az SQL Server AG számítási feladataihoz a Kubernetesben. Regisztrálhat egy ingyenes DxEnterprise szoftverlicencet. További információt a DxOperator rövid útmutatójában talál.
A cikkben ismertetett lépésekkel megtudhatja, hogyan helyezhet üzembe StatefulSetet, és hogyan használhatja a DH2i DxOperatort egy AG létrehozására és konfigurálására három replikával az AKS-ben.
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
- 3 replika SQL AG üzembe helyezése YAML-fájllal
- Csatlakozás az SQL Serverhez
Előfeltételek
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 aconfigMaplétrehozásához amssqlconfig.yamlfájlt használja, a következő paraméterekkel.apiVersion: v1 kind: ConfigMap metadata: name: mssql-config data: mssql.conf: | [EULA] accepteula = Y [sqlagent] enabled = trueHozza létre az objektumot a következő parancs végrehajtá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>"
Figyelmeztetés
A jelszónak az SQL Server alapértelmezett jelszóházirendetkell 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ítse az AG beállítását leíró YAML-t az alábbi paranccsal. Mentse a fájlt egy egyéni névvel, például
DxOperator.yaml.curl -L https://dxoperator.dh2i.com/dxesqlag/files/v1.yaml -o DxOperator.yaml kubectl apply –f DxOperator.yamlAz operátor telepítése után SQL Server-tárolókat helyezhet üzembe, konfigurálhatja a rendelkezésre állási csoportot, replikákat definiálhat, üzembe helyezheti és konfigurálhatja a DxEnterprise fürtöt. Íme egy minta üzembe helyezési YAML-fájl, amelynek a neve
DxEnterpriseSqlAg.yamla követelményeknek megfelelően módosítható.apiVersion: dh2i.com/v1 kind: DxEnterpriseSqlAg metadata: name: contoso-sql spec: synchronousReplicas: 3 asynchronousReplicas: 0 # ConfigurationOnlyReplicas are only allowed with availabilityGroupClusterType set to EXTERNAL configurationOnlyReplicas: 0 availabilityGroupName: AG1 # Listener port for the availability group (uncomment to apply) availabilityGroupListenerPort: 51433 # For a contained availability group, add the option CONTAINED availabilityGroupOptions: null # Valid options are EXTERNAL (automatic failover) and NONE (no automatic failover) availabilityGroupClusterType: EXTERNAL createLoadBalancers: true template: metadata: labels: label: example annotations: annotation: example spec: dxEnterpriseContainer: image: "docker.io/dh2i/dxe:latest" imagePullPolicy: Always acceptEula: true clusterSecret: dxe vhostName: VHOST1 joinExistingCluster: false # QoS – guaranteed (uncomment to apply) #resources: #limits: #memory: 1Gi #cpu: '1' # Configuration options for the required persistent volume claim for DxEnterprise volumeClaimConfiguration: storageClassName: null resources: requests: storage: 1Gi mssqlServerContainer: image: "mcr.microsoft.com/mssql/server:latest" imagePullPolicy: Always mssqlSecret: mssql acceptEula: true mssqlPID: Developer mssqlConfigMap: mssql-config # QoS – guaranteed (uncomment to apply) #resources: #limits: #memory: 2Gi #cpu: '2' # Configuration options for the required persistent volume claim for SQL Server volumeClaimConfiguration: storageClassName: null resources: requests: storage: 2Gi # Additional side-car containers, such as mssql-tools (uncomment to apply) #containers: #- name: mssql-tools #image: "mcr.microsoft.com/mssql-tools" #command: [ "/bin/sh" ] #args: [ "-c", "tail -f /dev/null" ]Telepítse a
DxEnterpriseSqlAg.yamlfájlt.kubectl apply -f DxEnterpriseSqlAg.yaml
Rendelkezésre állási csoport figyelőjének létrehozása
A terheléselosztó hozzáadásához alkalmazza a következő YAML-t úgy, hogy a választót az előző lépésben értékre állítja metadata.name . Ebben a példában ez contoso-sql.
apiVersion: v1
kind: Service
metadata:
name: contoso-cluster-lb
spec:
type: LoadBalancer
selector:
dh2i.com/entity: contoso-sql
ports:
- name: sql
protocol: TCP
port: 1433
targetPort: 51444
- name: listener
protocol: TCP
port: 51433
targetPort: 51433
- name: dxe
protocol: TCP
port: 7979
targetPort: 7979
Ellenőrizze az üzembe helyezési és terheléselosztó-hozzárendeléseket.
kubectl get pods
kubectl get services
Az alábbi példához hasonló kimenetnek kell megjelennie.
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 87m
PS /home/aravind> kubectl get pods
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
- Rendelkezésre állási csoportok üzembe helyezése a Kubernetesen a DH2i DxOperator használatával az Azure Kubernetes Service-en és a Rancheren a SUSE által
- Rendelkezésre állási csoportok üzembe helyezése a DH2i DxEnterprise használatával a Kubernetes-
- SQL Server-tárolók üzembe helyezése az Azure Kubernetes Service-
- SQL Server Linux-tárolók üzembe helyezése a Kubernetesen StatefulSets