首页 文章

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

提问于
浏览
3

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

Spinnaker: 1.40.2
Halyard: 0.35
Cloud driver provider: k8s (1.7.4)
Cloud: AWS

我有一个在集群模式下配置的ElastiCache Redis集群,它有自己的配置 endpoints :

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.

在这一点上,我不知道如何做到这一点?

3 回答

  • 2

    我不能让spinnaker使用集群/复制的elasticache redis,所以我只使用一个ElastiCache redis节点,然后将 spinnaker-local.yml 中的 service.redis.host 设置为相应的redis endpoints ,并将 gate-local.yml 中的 redis.configuration.secure 设置为true

  • 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%肯定它的工作原理,但至少所有的大三角帆服务都启动了,即使在我杀死了升降机复制套件之后,它仍在表面上正常工作

  • 1

    以下是其他任何想要使用外部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) .

相关问题