MySQL с режимами постоянного доступа к тому Kubernetes (GKE)

#kubernetes #google-kubernetes-engine

# #kubernetes #google-kubernetes-engine

Вопрос:

У меня есть кластер из 3 узлов. Что я собираюсь сделать, так это создать постоянный том с режимом доступа ReadWriteMany для развертывания MySQL. Кроме того, опция монтирования — gcePersistentDisk. Мой вопрос в том, могу ли я использовать режим доступа ReadWriteMany для развертывания MySQL, будет ли это проблемой? Потому что том может быть смонтирован многими узлами. если я ошибаюсь, пожалуйста, поправьте меня.

Ответ №1:

Да, это может быть проблемой, когда серверная часть не поддерживает ReadWriteMany, однако, насколько мне известно, MySQL поддерживает ReadWriteMany. Так что в вашем случае это не должно быть проблемой.

Комментарии:

1. Спасибо. Но если модули из трех узлов пытаются подключиться к постоянному dist одновременно, будет ли это какой-либо проблемой?

2. Это уже должно быть обработано в коде MySQL, вам не нужно беспокоиться об этом.

3. Можете ли вы объяснить режим доступа к постоянному объему (RWO, RWX)?. Я не понял идею из документа. потому что не было добавлено никаких объяснимых деталей?

Ответ №2:

Постоянные диски GCE не поддерживают ReadWriteMany. Вы можете увидеть это здесь, в документации: ` https://cloud.google.com/kubernetes-engine/docs/concepts/persistent-volumes#access_modes

Однако существует обходной путь для достижения того же самого с помощью сервера NFS:
https://medium.com/@Sushil_Kumar/readwritemany-persistent-volumes-in-google-kubernetes-engine-a0b93e203180

Я бы не рекомендовал это, поскольку производительность MySQL будет неоптимальной. Рассмотрите возможность использования вместо этого экземпляра Cloud SQL и подключения к нему с нескольких узлов узлов с использованием протокола MySQL вместо доступа к диску.

Комментарии:

1. Спасибо за ваш ответ. Можете ли вы дать некоторое представление о режиме доступа к постоянному объему (RWO, RWX)?. Я не понял идею из документа?

2. Смотрите очень подробную разбивку в документации Kubernetes: kubernetes.io/docs/concepts/storage/persistent-volumes /…

3. Я уже прочитал это. Это не детализировано. Вопрос в том, что когда мы используем постоянный объем, такой как объем сохранения Google, он поддерживает только RWO. Как в этой ситуации, как мы можем масштабировать модули с другими узлами? Означает ли это, что мы должны использовать привязку к узлу? я пишу?

4. Я не понимаю, чего вы пытаетесь достичь; Почему именно вам нужно записывать на один диск с нескольких узлов? Это возможно различными способами с использованием различных программ; MySQL (для структурированных данных), MongoDB (пары ключей), Google Cloud Storage или NFS (удаленный доступ к файлам) или даже Rook ( rook.io ) или GlusterFS ( gluster.org ) все это может быть развернуто на GKE иони позволят вам обмениваться данными между экземплярами без необходимости полагаться на ReadWriteMany, из-за чего возникают проблемы с одновременной записью одного и того же файла несколькими экземплярами (состояние гонки)