Installing on Kubernetes

Что такое ресурсы GCP?

В контексте хостинга речь идет о Google Cloud Platform.

Услуги Google Cloud для PostgreSQL и Redis.

Мне пока не удалось заставить это работать, но я решил разместить эти материалы здесь, на случай, если кому-то они пригодятся.

discourse 0.2.1 · halkeye/halkeye Это helm-чарт для Discourse.

Несколько других ссылок:

image.repository string “halkeye/discourse”

Не рекомендую использовать какую-либо настройку k8s для Discourse, если Docker-образ не собирается внутри кластера, иначе вы будете зависеть от того, кто бы ни оказался этим случайным человеком, отвечающим за обновления Discourse.

Я рассматривал возможность предложения услуги, где я бы выступал в роли этого случайного человека, выполняющего обновления, но очень опасался последствий для поддержки как для себя, так и для meta. Очень скоро я настрою свою k8s-инфраструктуру для моего небольшого кластера на «голом железе», так что тогда я снова обдумаю этот вопрос.

Да, я только что заметил это. Мы, вероятно, могли бы использовать официальный образ для создания Helm-чартов.

Непонятно, зачем ему понадобилось создавать свою собственную версию.

Какая точка входа (entrypoint) передаётся в контейнер Docker? Я вижу, что точка входа по умолчанию — это

            "Cmd": [
            "/bin/bash",
            "-c",
            "cd /pups && git pull && /pups/bin/pups --stdin"
        ],

что просто обновляет pups. Стоит ли заменить это на что-то другое?

@Geoffrey_Challen Отличная статья. Мне интересно: не было бы логичным использовать резервные копии для решения проблемы необходимости рабочей базы данных во время обновления образа (или любого другого процесса инициализации)?

Шаги были бы следующими:

  1. У вас уже работает Discourse с вашими настройками, темами, пользователями и т. д.
  2. Перед обновлением создайте резервную копию Discourse (используя встроенное решение для резервного копирования в Discourse).
  3. Создайте новый образ (и сделайте это «с нуля», без вашей существующей базы данных, просто начните заново).
  4. Запустите новый контейнер из нового образа.
  5. Восстановите резервную копию из пункта 2.
  6. Готово?

Я считаю, что эти шаги можно автоматизировать. Таким образом вам не придётся изменять стандартные скрипты — вы будете использовать их по назначению для инициализации нового образа.

Есть какие-то обновления? До сих пор нет официального способа установить Discourse в Kubernetes?

Есть ли какие-либо обновления по этому вопросу?

Я использую Helm-чарт Bitnami/Discourse, но хочу перейти на официально поддерживаемый Docker-образ Discourse.

То же самое! Я разворачиваю кластер k8s у себя дома. Затраты на хостинг растут, а мой небольшой форум не стоит таких ежемесячных расходов. Поэтому я хотел бы перенести его на свой кластер k8s, как только он будет готов. Было бы здорово иметь официальный Helm-чарт для Discourse.

Есть ли новости по установке k8s? Helm-чарты?

Хорошо, я пообщался с ChatGPT, чтобы понять, почему в 2025 году для запуска CLI-лаунчера, необходимого для инициализации образа Docker на выделенной виртуальной машине, требуются права root. Получил ответ и принимаю его. Отвечать на мой предыдущий вопрос больше не нужно.

Я слышал, что некоторые заменяют GlusterFS на SeaweedFS.

Привет.

Я знаю, что это не поддерживается официально, но мне удалось установить Discourse на GKE, используя образ Docker discourse/discourse - Docker Image, а также сервисы Postgres и Redis от Google.

На данный момент всё работает нормально и стабильно, насколько я могу судить (нет скачков потребления ресурсов, всё выглядит хорошо, хотя в продакшене это не используется), но меня в основном беспокоят обновления. Поэтому я хотел бы узнать, не сможет ли кто-нибудь помочь мне разобраться:
Если образ изменится, каковы будут реальные последствия? Например, предположим, что новый образ требует обновления базы данных. Как запустить необходимые миграции? Или как я могу быть уверен, что программное обеспечение работает как ожидалось, если это не поддерживаемый способ установки?

Спасибо, жду вашего ответа.

Я планирую заняться этим как хобби и способом изучения k3s, а не для реального развёртывания. Так что спасибо всем за предоставленную информацию. Если у кого-то есть ещё советы или предостережения, я весь во внимании! :slight_smile: