Обеспечение доступности журналов для Stackdriver из настраиваемого контейнера докеров Kubernetes, работающего под управлением Apache и PHP-FPM - PullRequest
0 голосов
/ 18 октября 2018

В облаке Google мы запускаем небольшой тестовый кластер пользовательских модулей Kubernetes, на котором внутренне работают Apache и PHP-FPM.

Кластер имеет следующую конфигурацию ключей:

  • Основная версия: 1.10.6-gke.2
  • Альфа-функции Kubernetes: Отключено
  • Общий размер: 3
  • Регистрация в StackDriver: Включено
  • Мониторинг StackDriver: Enabled

Как только кластер запускается, kubectl get pods --all-namespaces показывает службы fluentd и heapster, работающие параллельно с нашими службами, как я и ожидал.

kube-system   event-exporter-v0.2.1-5f5b89fcc8-r89d5                           2/2       Running   0          13d
kube-system   fluentd-gcp-scaler-7c5db745fc-gbrqx                              1/1       Running   0          21d
kube-system   fluentd-gcp-v3.1.0-76mr4                                         2/2       Running   0          13d
kube-system   fluentd-gcp-v3.1.0-kl4xp                                         2/2       Running   0          13d
kube-system   fluentd-gcp-v3.1.0-vxsq5                                         2/2       Running   0          13d
kube-system   heapster-v1.5.3-95c7549b8-fdlmm                                  3/3       Running   0          13d
kube-system   kube-dns-788979dc8f-c9v2d                                        4/4       Running   0          99d
kube-system   kube-dns-788979dc8f-rqp7d                                        4/4       Running   0          99d
kube-system   kube-dns-autoscaler-79b4b844b9-zjtwk                             1/1       Running   0          99d

Мы можем получить запись из нашего кода приложения (который запускается внутри наших модулей) для отображения в журнале Stackdriver, но мы хотим объединить ведение журнала для Apache (/ var / log / httpd / access_log и error_log) и PHP-FPM в Stackdriver.

Эта страница из Документов Google подразумевает, что это должно быть включено по умолчанию.https://cloud.google.com/kubernetes-engine/docs/how-to/logging

Примечание. Ведение журнала Stackdriver включено по умолчанию при создании нового кластера с помощью инструмента командной строки gcloud или консоли Google Cloud Platform.

Однако этоэто явно не тот случай для нас.Мы попробовали несколько разных подходов, чтобы заставить это работать (перечислены ниже), но безуспешно.

Включая:

Не похоже, что этот шаг должен быть обязательным, поскольку документация подразумевает, что вам нужно толькосделать это на экземпляре виртуальной машины, но мы все равно попробовали это на наших модулях k8s.В рамках этого шага мы убедились, что в Apache включен mod_status (/ server-status) и в PHP-FPM включен / fpm-status, а затем установили подключаемый модуль Apache модуля, следуя документам.

Кажется, что это должно быть простым делом, но мы, очевидно, пропустиличто-то.Любая помощь будет наиболее ценной.

Ура, Джулиан Конус

...