Итак, я хочу развернуть модуль mssql на кубернетах, хотя у меня возникают проблемы с отключением постоянного тома.
Сначала я развернул свой класс хранилища в своих пространствах имен, который, похоже, развернут, мой постоянный том не был развернут mssql с ожидающим статусом, и при использовании команды описания он сказал, что не может привязать мой том
Итак, я погуглил этот тип ошибки и наткнулся на другую конфигурацию постоянного тома, которая заставила меня изменить мой файл yaml, хотя теперь я столкнулся с другой ошибкой.
Об этой ошибке уже спрашивают на этом форуме, но ответ, похоже, не подходит и не решает мою проблему. -> ссылка: та же проблема
сообщение об ошибке:
постоянный том pvc-mssql недействителен: spec.persistentvolumesource: запрещено: неизменяемо после создания nodeaffinity: недопустимое значение: core.volumenodeaffinity (обязательно: (* core.nodeselector) (0xc007163b00)}: поле неизменяемо
мой класс хранилища (развернут):
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
мой пвх (с ошибками):
apiVersion: v1
kind: PersistentVolume
metadata:
name: pvc-mssql
labels:
type: local
spec:
capacity:
storage: 12Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
hostPath:
path: /mnt/data
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- master-production-internal
мой mssql (ожидает развертывания):
apiVersion: apps/v1
kind: Deployment
metadata:
name: mssql
labels:
app: mssql
spec:
replicas: 1
selector:
matchLabels:
app: mssql
template:
metadata:
labels:
app: mssql
spec:
containers:
- name: mssql
image: mcr.microsoft.com/mssql/server
resources:
requests:
cpu: 1
memory: 2Gi
env:
- name: ACCEPT_EULA
value: "Y"
- name: SA_PASSWORD
value: mypassword
ports:
- containerPort: 1433
volumeMounts:
- name: mssql
mountPath: /var/opt/mssql
volumes:
- name: mssql
persistentVolumeClaim:
claimName: pvc-mssql
конечно, все они развернуты в одном пространстве имен. мои кубернеты состоят из 4 узлов, или 4 виртуальных машин, где каждая виртуальная машина имеет около 2 виртуальных процессоров и 4 ГБ оперативной памяти с 128 ГБ дискового пространства, на котором запущен сервер ubuntu: настроен с помощью fail2ban, ufw, у меня есть 1 мастер и 3 узла. У меня кластер последней версии был развернут менее 2 месяцев назад
В чем, по-видимому, проблема и что мне нужно изменить в моем pvc и, возможно, что-то мне нужно изменить в моем yaml развертывания mssql?
Поскольку я правильно понимаю ошибку моего mssql, он не может привязать том клочка к другому узлу, поэтому теперь у меня есть конкретный узел в моем pvc, который является моим хозяином. <- это тоже правильно, или мне следует это изменить?