「云原生」Redis on k8s 编排部署讲解与实战操作

一、概述

REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。

Redis有三种集群模式:主从模式,Sentinel(哨兵)模式,Cluster模式,这三种模式环境编排部署都会在本文章介绍与实战操作。

二、redis 主从模式编排部署实战操作
在这里插入图片描述
地址:https://artifacthub.io/packages/helm/bitnami/redis

1)下载chart 包

helm repo add bitnami https://charts.bitnami.com/bitnami

helm pull bitnami/redis --version 17.3.7

tar -xf redis-17.3.7.tgz

2)构建镜像
这里就不重新构建镜像了,只是把远程镜像tag一下,推到本地harbor仓库加速下载镜像。有不清楚怎么构建镜像的小伙伴,可以私信或者留言。

docker pull docker.io/bitnami/redis:7.0.5-debian-11-r7

# tag
docker tag docker.io/bitnami/redis:7.0.5-debian-11-r7 myharbor.com/bigdata/redis:7.0.5-debian-11-r7

# 推送镜像到本地harbor仓库
docker push myharbor.com/bigdata/redis:7.0.5-debian-11-r7

3)修改yaml编排
redis/templates/master/pv.yaml
新增pv.yaml文件,内容如下:

{
   {
   - range .Values.master.persistence.local }}
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: {
   {
    .name }}
  labels:
    name: {
   {
    .name }}
spec:
  storageClassName: {
   {
    $.Values.master.persistence.storageClass }}
  capacity:
    storage: {
   {
    $.Values.master.persistence.size }}
  accessModes:
    - ReadWriteOnce
  local:
    path: {
   {
    .path }}
  nodeAffinity:
    required:
      nodeSelectorTerms:
        - matchExpressions:
            - key: kubernetes.io/hostname
              operator: In
              values:
                - {
   {
    .host }}
---
{
   {
   - end }}

redis/templates/replicas/pv.yaml
新增pv.yaml文件,内容如下:

redis/templates/replicas/pv.yaml
新增pv.yaml文件,内容如下:

redis/values.yaml

global:
  redis:
    password: "123456"

...

image:
  registry: myharbor.com
  repository: bigdata/redis
  tag: 7.0.5-debian-11-r7

master:
  count: 1
  persistence:
    enabled: true
    size: 8Gi
    storageClass: "local-redis-storage"
    local:
    - name: redis-0
      host: "local-168-182-110"
      path: "/opt/bigdata/servers/redis/data/data1"

replica:
  replicaCount: 2
  persistence:
    enabled: true
    size: 8Gi
    storageClass: "local-redis-storage"
    local:
    - name: redis-1
      host: "local-168-182-111"
      path: "/opt/bigdata/servers/redis/data/data1"
    - name: redis-2
      host: "local-168-182-112"
      path: "/opt/bigdata/servers/redis/data/data1"

4)开始部署

# 创建存储目录
mkdir /opt/bigdata/servers/redis/data/data1

# 先检查语法
helm lint ./redis

# 开始安装
helm install redis ./redis -n redis --create-namespace

NOTES

REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: redis
CHART VERSION: 17.3.7
APP VERSION: 7.0.5

** Please be patient while the chart is being deployed **

Redis® can be accessed on the following DNS names from within your cluster:

    redis-master.redis.svc.cluster.local for read/write operations (port 6379)
    redis-replicas.redis.svc.cluster.local for read-only operati
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值