美文网首页
Helm部署Redis

Helm部署Redis

作者: 行者深蓝 | 来源:发表于2021-07-16 17:12 被阅读0次

    环境信息

    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

          本文链接:https://www.haomeiwen.com/subject/kwsbpltx.html