如何配置Spinnaker以使用ElastiCache redis群集?

时间:2017-10-10 17:45:43

标签: redis amazon-elasticache spinnaker spinnaker-halyard

instructions here之后,我尝试将Spinnaker配置为使用ElastiCache redis群集,并启用群集模式。

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 个答案:

答案 0 :(得分:2)

我正在使用弹力学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#issuecomment-260971228

并非100%确定它有效,但至少所有的大三角帆服务都启动了,即使我杀死了升降机启动的redis副本集,它也表面上看起来很不错

答案 1 :(得分:2)

以下是其他任何想要使用外部redis的说明(基于我的GH issue):

# ~/.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,请不要忘记重新应用任何其他配置(如果您已经设置了kubernetes服务,请使用外部IP)。

答案 2 :(得分:1)

我不能让spinnaker使用集群/复制的elasticache redis,所以我只使用一个ElastiCache redis节点,然后将set list "The dog rant to the field by the red house..." set first [lsearch -regexp $list \[Tt\]he] ($first =0) set last [lsearch -last -regexp $list \[Tt\]he ($last=7) 中的service.redis.host设置为相应的redis端点并设置{{ 1}} spinnaker-local.yml中的真实

答案 3 :(得分:0)

对于使用 Spinnaker 运算符的任何人,我都使用了以下设置的 elasticsearch redis:

  • Redis 版本:5.0.6
  • 启用集群模式:否
  • 传输中加密:是
  • 静态加密:是
  • Redis 身份验证:是的

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 部署。