如何配置 Spinnaker 以使用 ElastiCache redis 集群?
How do you configure Spinnaker to use an ElastiCache redis cluster?
在 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.
在这一点上,我不确定该怎么做才能使这项工作正常进行?
我在 elasticache 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
大门-local.yml变化来自https://github.com/spinnaker/spinnaker/issues/1309#issuecomment-260971228
不是 100% 确定它能正常工作,但至少所有 spinnaker 服务都启动了,即使我关闭了升降索启动的 redis 副本集,它表面上也能正常工作
这里有一组说明,供任何其他想要使用外部 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所说的elasticache具体,你还需要
# ~/.hal/default/profiles/gate-local.yml
redis:
configuration:
secure: true
通过删除副本集、服务等来执行此操作,或者可能更简单(取决于您的情况):
hal deploy clean && hal deploy apply
如果您 hal deploy clean
,请不要忘记重新应用任何其他配置(例如 kubernetes 服务的外部 IP,如果您已设置)。
我无法让 spinnaker 使用集群/复制的 elasticache redis,所以我只使用一个 ElastiCache redis 节点,然后将 spinnaker-local.yml
中的 service.redis.host
设置为适当的 redis 端点并设置redis.configuration.secure
在 gate-local.yml
到 true
对于任何使用 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 部署。
在 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.
在这一点上,我不确定该怎么做才能使这项工作正常进行?
我在 elasticache 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
大门-local.yml变化来自https://github.com/spinnaker/spinnaker/issues/1309#issuecomment-260971228
不是 100% 确定它能正常工作,但至少所有 spinnaker 服务都启动了,即使我关闭了升降索启动的 redis 副本集,它表面上也能正常工作
这里有一组说明,供任何其他想要使用外部 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所说的elasticache具体,你还需要
# ~/.hal/default/profiles/gate-local.yml
redis:
configuration:
secure: true
通过删除副本集、服务等来执行此操作,或者可能更简单(取决于您的情况):
hal deploy clean && hal deploy apply
如果您 hal deploy clean
,请不要忘记重新应用任何其他配置(例如 kubernetes 服务的外部 IP,如果您已设置)。
我无法让 spinnaker 使用集群/复制的 elasticache redis,所以我只使用一个 ElastiCache redis 节点,然后将 spinnaker-local.yml
中的 service.redis.host
设置为适当的 redis 端点并设置redis.configuration.secure
在 gate-local.yml
到 true
对于任何使用 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 部署。