如果运行在同一个k8集群中,配置redis的哪个主机?

如果运行在同一个k8集群中,配置redis的哪个主机?

我在我的 k8s 集群中运行一个 redis 集群helm install -n redis staging bitnami/redis-cluster,并想将它与自托管的 gitlab 一起使用。在文档我知道我必须设置

redis:
  install: false
global:
  redis:
    host: ???
    password: enabled
    key: secret
    secret: staging-redis-secret

我的问题是我必须设置哪个主机,因为所有东西都在同一个 k8s 集群中运行。我是否必须设置本地 IP,例如10.42.0.4。如果是,哪个 redis 容器的 IP,因为我正在运行其中 6 个。

有了这个配置我可以运行

helm install \
    gitlab gitlab/gitlab \
    --namespace gitlab \
    --version 5.2.3 \
    -f config.yaml

秘密在于

kubectl create secret generic staging-redis-secret --from-literal=secret=$(kubectl get secret --namespace "redis" staging-redis-cluster -o jsonpath="{.data.redis-password}")

答案1

Kubernetes 运行一个名为 CoreDNS 的内部 DNS 服务器。它应该负责处理 pod/服务之间的所有内部名称解析。您永远不应该将任何静态 IP 硬编码到配置文件中,因为下次重新启动整个集群时,此 IP 可能不再存在。

开始对一切事物使用域名并坚持下去。

相关内容