首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redis群集K8s -复制密码

Redis群集K8s -复制密码
EN

Stack Overflow用户
提问于 2021-01-03 07:12:41
回答 1查看 596关注 0票数 0

我正在尝试启动和运行我的redis集群,但我无法为我的客户端正确设置密码身份验证。一旦我使用--requirepass设置了密码,复制就不再起作用。所以我用谷歌搜索了一下,发现redis使用单独的密码进行复制。这可以使用masterauth来设置,也请参见:https://redis.io/topics/replication。因此,我也尝试从--masterauth开始,但没有成功。如果有人知道--masterauth是否可以用作参数,我可以在启动时传递给redis-server命令,因为文档没有直接引用它。在提到helm之前,请注意我的整个部署都是使用kustomize.io设置的,helm目前不是我首选的方式。

我也尝试了一些like this,但没有成功。

下面是我的redis-cluster.yaml:

代码语言:javascript
复制
apiVersion: v1
kind: Service
metadata:
  name: redis
spec:
  type: LoadBalancer
  ports:
  - protocol: TCP
    port: 6379
    targetPort: 6379
    name: redis
  selector:
    name: redis
---
apiVersion: v1
kind: Service
metadata:
  name: redis-slave
spec:
  type: LoadBalancer
  ports:
  - protocol: TCP
    port: 6379
    targetPort: 6379
    name: redis
  selector:
    name: redis-slave
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis
  labels:
    name: redis
spec:
  replicas: 1
  selector:
    matchLabels:
      name: redis
  template:
    metadata:
      labels:
        name: redis
    spec:
      subdomain:
      containers:
      - name: redis
        image: redis:6.0.9-alpine
        command:
          - redis-server
        args:
          - "--protected-mode"
          - "no"
        ports:
        - containerPort: 6379
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis-slave
  labels:
    name: redis-slave
spec:
  replicas: 2
  selector:
    matchLabels:
      name: redis-slave
  template:
    metadata:
      labels:
        name: redis-slave
    spec:
      subdomain: redis-slave
      containers:
      - name: redis
        image: redis:6.0.9-alpine
        command:
          - "redis-server"
        args:
          - "--slaveof"
          - "redis.default.svc.cluster.local"
          - "6379"
          - "--protected-mode"
          - "no"
        ports:
        - containerPort: 6379
EN

回答 1

Stack Overflow用户

发布于 2021-01-03 08:13:46

在redis容器上配置密码有两种方式:

  1. 快速implementation:

代码语言:javascript
复制
      containers:
      - args:
        - -c
        - |-
          echo -e 'maxmemory 183500800
          maxmemory-policy allkeys-lru
          stop-writes-on-bgsave-error no
          slaveof redis-master.default.svc.cluster.local
          requirepass YOUR_PASSWORD
          masterauth MASTER_PASSWORD' | docker-entrypoint.sh -
        command:
        - /bin/sh
        image: redis:6.0.9-alpine
        name: redis-slave

  1. 最好为每个部署安装一个具有特定配置的ConfigMap,并在没有/etc/redis/redis.confargs的情况下运行容器

更多Redis6.0配置参数和文档可以在这里找到:https://raw.githubusercontent.com/redis/redis/6.0/redis.conf

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65545091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档