首页 > 解决方案 > Kubernetes:无法将实例“mssql-secondary1”加入可用性组“fghyt”。(Microsoft.SqlServer.Management.HadrModel)

问题描述

我有两个名称为mssql-primarymssql-secondary1的节点配置了 Kubernetes 和 mssql-2019 并启用了始终在线。两个节点上一切正常,但是当我尝试将它们连接到可用性组时,我遇到以下错误:

Failed to join the instance 'mssql-secondary1' to the availability group 'fghyt'. (Microsoft.SqlServer.Management.HadrModel)

For help, click: https://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=16.100.46041.41+(SMO-master-A)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&LinkId=20476

------------------------------ ADDITIONAL INFORMATION:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

Cannot join availability group 'fghyt'. Download configuration timeout. Please check primary configuration, network connectivity and firewall setup, then retry the operation. Failed to join local availability replica to availability group 'fghyt'.  The operation encountered SQL Server error 47106 and has been rolled back.  Check the SQL Server error log for more details.  When the cause of the

初级.yml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mssql-primary-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mssql-primary
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mssql-primary
    spec:
      hostname: mssql-primary
      terminationGracePeriodSeconds: 10
      securityContext:
        fsGroup: 1000
      volumes:
        - name: task-pv-storage-primary
          persistentVolumeClaim:
            claimName: mssql-pv-claim-primary
      containers:
      - name:  mssql-primary
        image: mcr.microsoft.com/mssql/server:2019-latest
        env:
        - name:  MSSQL_PID
          value:  "Developer"
        - name:  ACCEPT_EULA
          value: "Y"
        - name:  MSSQL_ENABLE_HADR
          value: "1"
        - name:  MSSQL_AGENT_ENABLED
          value: "true"
        - name:  MSSQL_SA_PASSWORD
          valueFrom:
            secretKeyRef:
              name:  mssql
              key: SA_PASSWORD
        resources:
          limits:
            memory: 3G
        volumeMounts:
          - name:  task-pv-storage-primary
            mountPath:  /var/opt/mssql
    hostname: mssql-primary

Secondary1.yml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mssql-secondary1-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mssql-secondary1
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mssql-secondary1
    spec:
      hostname: mssql-secondary1  
      terminationGracePeriodSeconds: 10
      securityContext:
        fsGroup: 1000
      volumes:
        - name: task-pv-storage-secondary1
          persistentVolumeClaim:
            claimName: mssql-pv-claim-secondary1
      containers:
      - name:  mssql-secondary1
        image: mcr.microsoft.com/mssql/server:2019-latest
        env:
        - name:  MSSQL_PID
          value:  "Developer"
        - name:  ACCEPT_EULA
          value: "Y"
        - name:  MSSQL_ENABLE_HADR
          value: "1"
        - name:  MSSQL_AGENT_ENABLED
          value: "true"
        - name:  MSSQL_SA_PASSWORD
          valueFrom:
            secretKeyRef:
              name:  mssql
              key: SA_PASSWORD
        resources:
          limits:
            memory: 3G
        volumeMounts:
          - name:  task-pv-storage-secondary1
            mountPath:  /var/opt/mssql
    hostname: mssql-secondary1

标签: sql-serverkubernetesalwayson

解决方案


根据您的错误,我发现了这个类似的问题

基本上是这么说的:

创建可用性组时,节点说明符的主机名最多应包含 15 个字符,否则它将无法识别剩余的字符。

如果您鼓励在重命名期间出现任何问题,另请参阅此问题,其中重新安装窗口集群有帮助。如果它不会帮助尝试重新配置可用性组。以下视频逐步显示:


推荐阅读