Kubernetes ReadOnlyMany + ReadWriteOnce
В настоящее время я пытаюсь настроить кластер Logstash с Kubernetes, и я хотел бы, чтобы каждый из узлов logstash монтировал том только для чтения с конвейерами. Этот же том будет затем подключен для чтения / записи в одном экземпляре управления, где я могу редактировать конфиги.
Это возможно с K8s и GCEPersistentDisk?
1 ответ
Под Logstash я полагаю, что вы имеете в виду кластер ELK. Logstash - это просто средство пересылки журналов, а не конечная точка для хранения.
На самом деле, нет. Это невозможно с GCEPersistentDisk
, Это больше ограничения GCE, когда вы можете подключать том только к экземпляру за раз.
Кроме того, как вы можете видеть в документах, поддерживает ReadWriteOnce
и ReadOnlyMany
но не одновременно.
Важный! Том может быть подключен только с использованием одного режима доступа за раз, даже если он поддерживает несколько режимов. Например, GCEPersistentDisk может быть смонтирован как ReadWriteOnce одним узлом или ReadOnlyMany многими узлами, но не одновременно.
Вы можете достичь этого, но просто используя один том на одном узле K8s, а затем разделите свой том для использования различными модулями Elasticsearch на одном и том же узле, но это лишит цели наличие распределенного кластера.
Elasticsearch отлично работает, если ваши узлы находятся в разных узлах Kubernetes, и каждый из них имеет отдельный том.