#sql-server #kubernetes #vmware #sql-server-2019
Вопрос:
Спасибо за любую помощь в этом.
Я управляю кластером Tanzu kubernetes, совершенно новым в среде разработчиков. Я пытаюсь установить MS SQL Server 2019 и сталкиваюсь с этой ошибкой, как только применяю манифест.
Модуль SQLServer выходит из строя при этом:
ltkc-workers-mpqdb-556696d6f6-rhpsw Warning FailedMount 50s kubelet, sqltkc-workers-mpqdb-556696d6f6-rhpsw Unable to attach or mount volumes: unmounted volumes=[mssql-persistent-storage], unattached volumes=[default-token-qzt5k mssql-persistent-storage]: timed out waiting for the condition Warning FailedAttachVolume 45s (x9 over 2m53s) attachdetach-controller AttachVolume.Attach failed for volume "pvc-697e8f96-a23b-4255-9b19-fa04aeed98ee" : rpc error: code = Internal desc = observed Error: "ServerFaultCode: NotAuthenticated" is set on the volume "fbc91ad5-b62e-4bec-8132-4f2d1c5160f0-697e8f96-a23b-4255-9b19-fa04aeed98ee" on virtualmachine "sqltkc-workers-mpqdb-556696d6f6-rhpsw"
PV и пвх все связаны:
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE persistentvolume/pvc-697e8f96-a23b-4255-9b19-fa04aeed98ee 10Gi RWO Delete Bound default/mssql-data-claim pstore-high 67m NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE persistentvolumeclaim/mssql-data-claim Bound pvc-697e8f96-a23b-4255-9b19-fa04aeed98ee 10Gi RWO pstore-high 67m
Манифест развертывания-это только то, что я скачал из Интернета из различных других учебных пособий:
apiVersion: v1 kind: Service metadata: name: mssql-deployment spec: selector: app: mssql ports: - protocol: TCP port: 1433 targetPort: 1433 type: LoadBalancer --- apiVersion: apps/v1 kind: Deployment metadata: name: mssql-deployment spec: replicas: 1 strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 1 maxSurge: 0 selector: matchLabels: app: mssql template: metadata: labels: app: mssql spec: terminationGracePeriodSeconds: 10 securityContext: fsGroup: 1000 restartPolicy: Always containers: - name: mssql resources: requests: memory: 8000Mi image: mcr.microsoft.com/mssql/server:2019-latest ports: - containerPort: 1433 env: - name: MSSQL_PID value: "Developer" - name: ACCEPT_EULA value: "Y" - name: SA_PASSWORD value: VMware123! volumeMounts: - name: mssql-persistent-storage mountPath: /var/opt/mssql volumes: - name: mssql-persistent-storage persistentVolumeClaim: claimName: mssql-data-claim
Вот пвх yaml:
kind: PersistentVolumeClaim metadata: name: mssql-data-claim spec: accessModes: - ReadWriteOnce # storageClassName: vsan-default-storage-policy storageClassName: pstore-high resources: requests: storage: 10Gi
Класс хранения существует. Я пробовал это как с vSAN по умолчанию, так и с другими классами хранения и всегда сталкивался с одной и той же проблемой аутентификации тома.
Я обыскал все вокруг, не могу найти никаких связанных документов. Надеялся узнать, знает ли кто-нибудь больше.
Большое спасибо!!
Комментарии:
1. В сторону… Я не думаю, что это повлияет на запуск, но ваша
terminationGracePeriodSeconds
ценность10
кажется немного дикой. Я сомневаюсь, что SQL Server когда-либо сможет полностью завершить работу менее чем за 10 секунд, поэтому k8s всегда будет убивать экземпляр до того, как он завершит свои действия по очистке и завершению работы.2. Спасибо @AlwaysLearning! Я внесу это изменение, я просто прокомментировал его, так как не уверен, сколько времени было бы разумно для SQL server.
Ответ №1:
Еще раз спасибо за помощь, наша команда смогла это исправить. Мы обнаружили, что срок действия пароля корня vCenter истек. Как только мы сбросили пароль, наши постоянные тома смогли подключаться к контейнерам без каких-либо ошибок. Настоятельно рекомендую, если вы используете Tanzu, убедиться, что ваш vCenter полностью обновлен.