Как настроить Spinnaker для использования Redis-кластера ElastiCache?
Следуя приведенным здесь инструкциям, я пытаюсь настроить Spinnaker для использования Redis-кластера ElastiCache с включенным режимом кластера.
Spinnaker: 1.40.2
Halyard: 0.35
Cloud driver provider: k8s (1.7.4)
Cloud: AWS
У меня есть кластер ElastiCache Redis, настроенный в режиме кластера, у него есть конечная точка конфигурации:
redis-spinnaker.1234.clustercfg.use1.cache.amazonaws.com:6379
У него есть один узел:
Я создал следующий файл: halyard/default/service-settings/redis.yml
overrideBaseUrl: redis://redis-spinnaker.1234.clustercfg.use1.cache.amazonaws.com:6379
Я тоже пробовал
overrideBaseUrl: redis://redis-spinnaker-0001-001.1234.0001.use1.cache.amazonaws.com:6379
Обратите внимание, что оба эти адреса доступны из кластера.
Когда я бегу halyard deploy apply
, spin-gate
время вышло
/ Deploy spin-gate
Timed out
And the whole deploy times out.
Problems in Global:
! ERROR Unexpected exception:
DaemonTaskInterrupted(interruptedTime=1507614194943, message=Task interrupted at
Tue Oct 10 05:43:14 UTC 2017 with message: Interrupted during reap by exception:
null)
- Failed to deploy Spinnaker. Task killed because it was taking too
long.
На данный момент, я не уверен, что сделать, чтобы сделать эту работу?
4 ответа
Я не могу заставить спинакер работать с кластеризованным / реплицируемым перетаскиванием эластичной боли, поэтому я использую только один узел перерисовки ElastiCache и затем устанавливаю service.redis.host
в spinnaker-local.yml
к соответствующей конечной точке Redis и установить redis.configuration.secure
в gate-local.yml
к истине
Я делаю некоторые успехи с эластичной болью Redis следующим образом:
$ cat .hal/default/service-settings/redis.yml
overrideBaseUrl: redis://xxx.use1.cache.amazonaws.com:6379
$ cat .hal/default/profiles/gate-local.yml
redis:
configuration:
secure: true
изменение gate-local.yml произошло с https://github.com/spinnaker/spinnaker/issues/1309
не уверен на 100%, что это работает, но по крайней мере все службы spinnaker запускаются и работают поверхностно, даже после того, как я убил набор реплик redis, который запускает halyard
Вот набор инструкций для тех, кто хочет использовать внешний redis (на основе моей проблемы с GH):
# ~/.hal/default/service-settings/redis.yml
enabled: false
overrideBaseUrl: redis://:password@c1.us-central1-2.gce.cloud.redislabs.com:6379
# ~/.hal/default/service-settings/redis-bootstrap.yml
enabled: false
overrideBaseUrl: redis://:password@c1.us-central1-2.gce.cloud.redislabs.com:6379
Как и в случае с эластичной болью, как сказал @DavidBlack, вам также необходимо
# ~/.hal/default/profiles/gate-local.yml
redis:
configuration:
secure: true
Затем удалите наборы реплик, службы и т. Д. Или, возможно, проще (в зависимости от вашей ситуации):hal deploy clean && hal deploy apply
если ты hal deploy clean
не забудьте повторно применить любые дополнительные настройки (например, внешний IP-адрес для сервисов kubernetes, если вы их настроили).
Для всех, кто использует оператор спинакера, я получил elasticsearch redis, работающий со следующими настройками:
- Версия Redis: 5.0.6
- Включен кластерный режим: нет
- Шифрование при передаче: Да
- Шифрование в состоянии покоя: Да
- Redis AUTH: Да
Секрет k8s: rediss: //: AUTH_TOKEN@master.spinnaker-test.XXX.YYY.cache.amazonaws.com : 6379
profiles:
gate:
redis:
configuration:
secure: true
service-settings:
redis:
overrideBaseUrl: encrypted:k8s!n:spinnaker-secrets!k:redis-url-dev
skipLifeCycleManagement: true
После развертывания вам необходимо вручную удалить развертывание Redis, созданное ранее оператором.