我正在尝试学习docker和kubernetes,而我要做的事情之一就是用哨兵设置redis,并将redis暴露于容器之外的东西。
获得Redis和Sentinel设置非常容易关注https://github.com/kubernetes/kubernetes/tree/master/master/examples/storage/redis
,但是现在我的下一个愿望是能够在容器外访问Redis,我无法弄清楚谁可以暴露Sentinel和Master Pod。
从您的链接(https://github.com/kubernetes/kubernetes/blob/master/master/master/examplees/storage/redis/redis/redis/redis/redis-sentinel-service.yaml)将暴露群集中的豆荚。对于外部访问(从群集外部),您可以使用 nodePort :
apiVersion: v1
kind: Service
metadata:
labels:
name: sentinel
role: service
name: redis-sentinel
spec:
type: NodePort
ports:
- port: 26379
targetPort: 26379
nodePort: 30369
selector:
redis-sentinel: "true"
这将使您的所有主机上的所有主机曝光端口30369。
对此有几句话:*防火墙:REDIS的安全性是有限的,因此请在打开端口之前防止不必要的访问*允许分配的 NodePort 范围从30000到32767,因此请在此限制中发挥创意。