1、配置helm redis repo
helm repo add bitnami https://charts.bitnami.com/bitnami2 安装下载helm redis
下面是默认安装,不过前往别直接拿着下面安装命令就安装,官方默认安装的默认参数配置往往和我们实际场景不一样,需要配置一些参数
helm install my-redis bitnami/redis --version 18.7.02.1 下载helm redis
helm pull bitnami/redis --version 18.7.02.2 查看storageclass
如果环境中没有storageclass,就需自己安装存储支持或者采用云厂商的storageclass,内网环境推荐openebs,测试nfs就行了。
我的默认storageclass是openebs-hostpath,我的k8s环境上安装的openebs来做存储支持。当然如果有其他支持storageclass的也可以,比如nfs、云厂商sc,这里不做过多解释。
[root@k8s-master01 redis]# kubectl get storageclass
NAME                         PROVISIONER        RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
openebs-device               openebs.io/local   Delete          WaitForFirstConsumer   false                  20d
openebs-hostpath (default)   openebs.io/local   Delete          WaitForFirstConsumer   false                  20d2.3 通过指定my-values.yaml安装
不过在这里因为是安装单机版,并且需要配置一些参数,所以需要通过--values配置一些参数
global:storageClass: "openebs-hostpath"redis:password: "redis123"architecture: standalonecommonConfiguration: |-appendonly yessave "300 10"master:resources:limits: cpu: 2memory: 4Girequests: cpu: 500mmemory: 2GinodeSelector: {}tolerations: []persistence:size: 10Giservice:type: NodePortnodePorts:redis: "30202"- storageClass可以不用配置,因为我的默认storageClass已经配置。
- password 配置密码
- architecture 配置单机部署
- commonConfiguration 配置redis的存储策略
- master 主redis相关配置
安装前测试:
helm -n newland install redis -f my-values.yaml ./redis --dry-run安装:
helm -n newland install redis -f my-values.yaml ./redis2.4 直接修改values.yaml
我用的比较多的是直接修改values.yaml,修改的参数和上面的一样,找到对应的位置修改
安装测试:
[root@k8s-master01 redis]# helm install redis  -n newland ../redis --dry-run安装:
[root@k8s-master01 redis]# helm install redis  -n newland ../redis2.5 查看安装情况
helm查看安装:
[root@k8s-master01 redis]# helm list
NAME    NAMESPACE       REVISION        UPDATED STATUS  CHART   APP VERSION
[root@k8s-master01 redis]# helm list -n newland
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
elasticsearch   newland         3               2024-01-01 11:26:33.538207701 +0800 CST deployed        elasticsearch-7.7.1     7.7.1      
kibana          newland         3               2024-01-01 11:45:37.329407575 +0800 CST deployed        kibana-7.7.1            7.7.1      
redis           newland         1               2024-01-21 14:36:37.627113594 +0800 CST deployed        redis-18.7.0            7.2.4 查看k8s安装情况:
[root@k8s-master01 redis]# kubectl get pod -n newland
NAME                             READY   STATUS    RESTARTS   AGE
elasticsearch-master-0           1/1     Running   0          20d
kibana-kibana-59f98df5c9-fn6n8   1/1     Running   0          20d
redis-master-0                   1/1     Running   0          3m8s
[root@k8s-master01 redis]# kubectl get service -n newland
NAME                            TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                         AGE
elasticsearch-master            NodePort    10.0.0.93    <none>        9200:32478/TCP,9300:30815/TCP   20d
elasticsearch-master-headless   ClusterIP   None         <none>        9200/TCP,9300/TCP               20d
kibana-kibana                   NodePort    10.0.0.246   <none>        5601:30062/TCP                  20d
redis-headless                  ClusterIP   None         <none>        6379/TCP                        3m52s
redis-master                    NodePort    10.0.0.123   <none>        6379:30379/TCP                  3m52s
[root@k8s-master01 redis]# kubectl get pv,pvc -n newland
NAME                                                        CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                                                             STORAGECLASS       REASON   AGE
persistentvolume/pvc-2909b96d-6de8-4dd1-9684-d084fde78bac   30Gi       RWO            Delete           Bound    newland/elasticsearch-master-elasticsearch-master-0               openebs-hostpath            20d
persistentvolume/pvc-746fb993-a14e-4d41-a9a5-ea188e66da68   8Gi        RWO            Delete           Bound    newland/redis-data-redis-master-0                                 openebs-hostpath            4m25s
persistentvolume/pvc-a9524463-9bdf-4ce6-9b2b-cbb3277235ae   20Gi       RWO            Delete           Bound    kubesphere-monitoring-system/prometheus-k8s-db-prometheus-k8s-0   openebs-hostpath            20dNAME                                                                STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS       AGE
persistentvolumeclaim/elasticsearch-master-elasticsearch-master-0   Bound    pvc-2909b96d-6de8-4dd1-9684-d084fde78bac   30Gi       RWO            openebs-hostpath   20d
persistentvolumeclaim/redis-data-redis-master-0                     Bound    pvc-746fb993-a14e-4d41-a9a5-ea188e66da68   8Gi        RWO            openebs-hostpath   4m29s2.6 测试redis安装情况
[root@k8s-master01 redis]# kubectl exec -n newland redis-master-0 -it -- /bin/sh
$ redis-cli -a 密码
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> get a
(nil)通过测试可以看出安装成功了,我们本地需要连接redis直接使用nodeport端口30379,如果是k8s内直接使用service:6379就行了