Helm部署Redis

环境信息

  1. Kubernetes:v1.20.6
  2. StorageClass:csi-udisk-rssd
  3. Helm:v3.5.2

添加 Helm仓库

这里选用BitNami提供的chart仓库

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

同步海外镜像

在国内环境部署应用,经常因为获取国外源站容器镜像超时,导致部署失败,可以提前将容器镜像同步到本地镜像仓库中,以自有镜像仓库 uhub.service.ucloud.cn/ucloud_pts 为例:

docker login uhub.service.ucloud.cn/ucloud_pts
docker pull docker.io/bitnami/redis:6.2.4-debian-10-r13
docker tag docker.io/bitnami/redis:6.2.4-debian-10-r13   \
            uhub.service.ucloud.cn/ucloud_pts/redis:6.2.4-debian-10-r13
docker push uhub.service.ucloud.cn/ucloud_pts/redis:6.2.4-debian-10-r13

创建 imagePullSecrets

创建容器集群访问 uhub.service.ucloud.cn/ucloud_pts 需要的 secret

kubectl create namespace db
kubectl create secret docker-registry registry-secret-name \
        --namespace=db \
        --docker-server=uhub.service.ucloud.cn/ucloud_pts \
        --docker-username='xxxxxx' \
        --docker-password='xxxxxx'

使用Helm部署redis

cat > redis-values.yaml << EOF
clusterDomain: cluster.local
image:
  registry: uhub.service.ucloud.cn/ucloud_pts
  repository: redis
  tag: 6.2.4-debian-10-r13
global:
  imagePullSecrets:
    - registry-secret-name
  storageClass: csi-udisk-rssd
  redis:
    password: redispwxxxxx
EOF
helm install gitlib-cache -f redis-values.yaml bitnami/redis -n db

如果需要部署不同redis版本,选择同步不同版本镜像即可:

  • redis 6: bitnami/redis:6.2.4-debian-10-r33
  • redis 5: bitnami/redis:5.0.12-debian-10-r120

更多版本可以参考,https://hub.docker.com/r/bitnami/redis/tags?page=1&ordering=last_updated

验证部署

  1. k8s集群内域名和端口
    cache-redis-master.gitlib.svc.cluster.local for read/write operations (port 6379) cache-redis-replicas.gitlib.svc.cluster.local for read-only operations (port 6379)

  2. 获取Redis auth密码

export REDIS_PASSWORD=$(kubectl get secret --namespace db cache-redis -o jsonpath="{.data.redis-password}" | base64 --decode)

  1. 连接 Redis(TM) server
    kubectl run --namespace db redis-client --restart='Never' --env REDIS_PASSWORD=$REDIS_PASSWORD --image uhub.service.ucloud.cn/ucloud_pts/redis:6.2.4-debian-10-r13 --command -- sleep infinity kubectl exec --tty -i redis-client --namespace db -- bash redis-cli -h test-redis-master -a $REDIS_PASSWORD redis-cli -h test-redis-replicas -a $REDIS_PASSWORD

参考部分

https://artifacthub.io/packages/helm/bitnami/redis

你可能感兴趣的:(Helm部署Redis)