简体   繁体   English

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

[英]How do you configure Spinnaker to use an ElastiCache redis cluster?

Following the instructions here , I am attempting to configure Spinnaker to use an ElastiCache redis cluster, with cluster mode enabled.按照此处说明,我尝试将 Spinnaker 配置为使用 ElastiCache redis 集群,并启用集群模式。

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

I have an ElastiCache Redis cluster configured in cluster mode, it has its configuration endpoint:我有一个以集群模式配置的 ElastiCache Redis 集群,它有它的配置端点:

redis-spinnaker.1234.clustercfg.use1.cache.amazonaws.com:6379

It has one node:它有一个节点:

I have created the following file: halyard/default/service-settings/redis.yml我创建了以下文件: halyard/default/service-settings/redis.yml

overrideBaseUrl: redis://redis-spinnaker.1234.clustercfg.use1.cache.amazonaws.com:6379

I also tried我也试过

overrideBaseUrl: redis://redis-spinnaker-0001-001.1234.0001.use1.cache.amazonaws.com:6379

Note that both of these addresses are accessible from the cluster.请注意,这两个地址都可以从集群访问。

When I run halyard deploy apply , spin-gate times out当我运行halyard deploy applyspin-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.

At this point, I'm not sure what to do to make this work?在这一点上,我不知道该怎么做才能完成这项工作?

I'm making some progress with elasticache redis like so: 我正在使用弹力学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

the gate-local.yml change came from https://github.com/spinnaker/spinnaker/issues/1309#issuecomment-260971228 gate-local.yml的变化来自https://github.com/spinnaker/spinnaker/issues/1309#issuecomment-260971228

not 100% sure it works but at least all the spinnaker services start up and it is superficially working even after I kill off the redis replica set that halyard starts up 不是100%肯定它的工作原理,但至少所有的大三角帆服务都启动了,即使在我杀死了升降机复制套件之后,它仍在表面上正常工作

Here's a set of instructions for anyone else that wants to use an external redis (based on my GH issue ): 以下是其他任何想要使用外部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

Specific to elasticache as @DavidBlack said, you also need 具体到弹性,如@DavidBlack所说,你也需要

# ~/.hal/default/profiles/gate-local.yml 
redis:
  configuration:
    secure: true

Follow this by deleting replica sets, services etc, or perhaps more simply (depending on your situation): hal deploy clean && hal deploy apply 通过删除副本集,服务等,或者更简单地(取决于您的具体情况)来执行此操作: hal deploy clean && hal deploy apply

If you hal deploy clean , don't forget to re-apply any additional configs (like external IP to kubernetes services if you have set them up). 如果您hal deploy clean ,请不要忘记重新应用任何其他配置(如果您已经设置了kubernetes服务,则需要外部IP)。

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

For anyone using the Spinnaker operator, I got elasticsearch redis working with the following settings:对于使用 Spinnaker 运算符的任何人,我都使用了以下设置的 elasticsearch redis:

  • Redis Version: 5.0.6 Redis 版本:5.0.6
  • Cluster Mode enabled: No启用集群模式:否
  • Encryption in-transit: Yes传输中加密:是
  • Encryption at-rest: Yes静态加密:是
  • Redis AUTH: Yes Redis 身份验证:是的

k8s secret: rediss://:AUTH_TOKEN@master.spinnaker-test.XXX.YYY.cache.amazonaws.com:6379 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

Once this is deployed you need to manually delete the Redis deployment the operator created previously.部署完成后,您需要手动删除操作员之前创建的 Redis 部署。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何为 Spring 数据访问配置 ElastiCache Redis - How to configure ElastiCache Redis for Spring Data Access ElastiCache Redis群集和Istio - ElastiCache Redis Cluster and Istio redis-py 能否可靠地使用 AWS ElastiCache Redis 集群? - Can redis-py reliably use AWS ElastiCache Redis cluster? 怎么用redis-benchmark util填满一个redis集群内存? - How do you use redis-benchmark util to fill up a redis cluster memory? 如何在 AWS Elasticache (Redis) 中使用布隆过滤器? - How to use Bloom Filter with AWS Elasticache (Redis)? 如何在AWS EC2上安装/管理Redis群集,而不是ElastiCache? - How to install/manage Redis Cluster on AWS EC2, not ElastiCache? 如何将 AWS Elasticache Redis 集群连接到 Spring Boot 应用程序? - How to connect AWS Elasticache Redis cluster to Spring Boot app? 在AWS ElastiCache Redis群集上启用群集模式 - Enable cluster mode on AWS ElastiCache Redis cluster AWS ElastiCache Redis - 如何在集群(只有 1 个节点,没有多可用区)重启时使用最近的每日备份 - AWS ElastiCache Redis- How to use most recent daily backup upon cluster (with just 1 node, no Multi-AZ) restart 如何配置resque-web以使用Resque.redis.namespace? - How do you configure resque-web to use Resque.redis.namespace?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM