跳至主要內容

Redis部署


Redis部署

redis部署cluster集群模式,3主3从共6节点。

步骤1:准备配置文件

1.进入配置中心-配置,创建配置,输入名称等信息:

2.点击下一步,添加配置项: key为:redis.conf value为:

protected-mode no
cluster-enabled yes
cluster-node-timeout 5000
appendonly yes
appendfilename appendonly-hostname.aof
dbfilename dump-hostname.rdb
cluster-config-file nodes-hostname.conf
requirepass 7Nk5iqbeI
masterauth 7Nk5iqbeI

点击创建完成配置。 注意:配置名称和key名称需要记住,下面部署服务时配置文件相关配置需要与此一致。另外配置中的密码也需要记住,下面组建集群时要用到。

步骤2:配置存储

进入存储管理-存储卷,点击创建存储卷,输入名称等信息,需要注意记好这里输入的名称,下面部署服务时配置文件里的内容需要与此一致:

下一步,调整存储卷容量大小,其他默认:

下一步,高级配置默认,点击创建完成即可。

步骤3:部署服务

准备部署文件:

redis的k8s部署文件如下,包含有状态副本集和headless服务: 其中标记注释的内容需要根据实际情况修改:

kind: StatefulSet
apiVersion: apps/v1
metadata:
  name: redis
spec:
  serviceName: redis
  replicas: 6
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
    spec:
      volumes:
        - name: volume-data
          persistentVolumeClaim:
            #修改为已建的存储卷的名称
            claimName: redis-stor
        - name: volume-conf
          configMap:
            #修改为已建的配置的名称
            name: redis-conf
            items: #这里的key修改为配置的key,path不修改
              - key: redis.conf
                path: redis.conf
            defaultMode: 420
      containers:
        - name: redis
          image: 'redis:6.0'
          command:
            - /bin/sh
            - '-c'
            - >-
              sed -e "s/hostname/${HOSTNAME}/g" <
              /usr/local/etc/redis/redis.conf | redis-server -
          ports:
            - name: tcp-6379
              containerPort: 6379
              protocol: TCP
            - name: tcp-16379
              containerPort: 16379
              protocol: TCP
          volumeMounts:
            - name: volume-date
              mountPath: /data
            - name: volume-conf
              readOnly: true
              mountPath: /usr/local/etc/redis
          imagePullPolicy: IfNotPresent
      restartPolicy: Always
      dnsPolicy: ClusterFirst
---
kind: Service
apiVersion: v1
metadata:
  name: redis
spec:
  ports:
    - name: redis-port
      protocol: TCP
      port: 6379
      targetPort: 6379
  selector:
    app: redis
  clusterIP: None
  type: ClusterIP
  sessionAffinity: None

2.部署容器服务 进入应用负载-服务,点击创建,选择编辑YAML,使用上面的配置文件来创建服务,直接把上面内容拷贝到打开的编辑窗口即可,修改注释说明对应的内容,包括:存储卷名称、配置文件名称和key名称:

点击创建,自动部署和启动运行所有服务。

步骤4:配置集群

服务部署完成后,所有节点会自动启动和运行,共6个节点,但是目前6个节点独立运行,还需要操作组建集群。 点击服务名称,进入服务详细信息页面,可以看到6个容器节点以及6个节点的内网IP地址和端口:

选择一个容器,点击右侧下拉箭头,点击命令行终端按钮,打开终端,在终端内操作组建集群:

集群配置命令,其中最后部分是第一步骤中配置文件中的密码:

redis-cli --cluster create redis-0.middleware:6379 redis-1.middleware:6379 redis-2.middleware:6379 redis-3.middleware:6379 redis-4.middleware:6379 redis-5.middleware:6379 --cluster-replicas 1 -a 7Nk5iqbeI

输入命令后回车执行,期间需要输入yes确认,然后完成配置: