Kubernetes Redis群集K8s-复制密码
我正在尝试让我的redis群集启动并运行,但我无法为我的客户端正确设置密码身份验证。只要我使用Kubernetes Redis群集K8s-复制密码,kubernetes,redis,Kubernetes,Redis,我正在尝试让我的redis群集启动并运行,但我无法为我的客户端正确设置密码身份验证。只要我使用--requirepass设置密码,复制就不再工作了。所以我在谷歌上搜索,发现redis使用单独的密码进行复制。可以使用masterauth进行设置,请参见:。 所以我也试着从--masterauth开始,但没有成功。有人知道--masterauth是否可以用作参数,我可以在启动时传递给redis server命令,因为文档没有直接引用它。在提到helm之前,请注意,我的整个部署都是使用kustomiz
--requirepass
设置密码,复制就不再工作了。所以我在谷歌上搜索,发现redis使用单独的密码进行复制。可以使用masterauth
进行设置,请参见:。
所以我也试着从--masterauth
开始,但没有成功。有人知道--masterauth
是否可以用作参数,我可以在启动时传递给redis server
命令,因为文档没有直接引用它。在提到helm之前,请注意,我的整个部署都是使用kustomize.io设置的,helm
目前不是我首选的方式
我也尝试了一些没有成功的东西
这就是我的redis-cluster.yaml的样子:
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
在redis容器上配置密码有两种方法:
快速实施:
更好的做法:
- 为每个部署使用一个ConfigMap,安装在
/etc/redis/redis.conf
上,具有特定的配置,并在不使用args
或命令的情况下运行容器
更多Redis 6.0配置参数和文档可在此处找到:将在明天之前检查此问题,提前感谢:但masterauth在哪里得到处理?您可以使用我稍后在回答中编辑的masterauth
。
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