这个错目前来看就是helm在安装redis-ha的时候一直失败。你直接进这个Pod然后执行这个命令看下,如果还是报错,结合上面我发的那个链接,那个是redis的安装步骤,然后分析下错的原因。如果感觉最终还是无法解决,很有可能是你的系统里面有卸载后残留的一些垃圾导致的,建议把系统环境初始化下,然后按照步骤重新安装。

    把ks-installer这个pod删掉下,它会重新执行,再看下日志。

      zackzhang 删除pod,或者deployment后,也是一样的,现在是这几个路径:/etc/kubesphere/redis-ha , /etc/kubesphere/custom-values-redis.yaml 是在哪一步复制过去的,我自己本地找了/etc 下的目录,没发现有这个kubesphere 文件夹的

      这个是在在ks-installer这个Pod里面的。

      [root@node1 ~]# kubectl  -n kubesphere-system get po |grep ks-installer
      
      ks-installer-7c59d944ff-xd7tq            1/1     Running   0          2d20h
      [root@node1 ~]# kubectl  -n kubesphere-system exec -ti ks-installer-7c59d944ff-xd7tq sh
      / # ls /etc/kubesphere/redis-ha
      Chart.yaml   OWNERS       README.md    ci           templates    values.yaml
      / #

        上面的步骤你是在这个Pod里面执行的吗?比如按报错提示,手动helm来安装,然后看报错。另外你的环境初始化,重新安装过吗

          zackzhang 是的,报的是 ks -redis没安装:
          [root@master1 ~]# kubectl -n kubesphere-system exec -ti ks-installer-59fb465b7-qsrd5 sh
          / # ls /etc/kubesphere/redis-ha
          Chart.yaml OWNERS README.md ci templates values.yaml
          / # /usr/local/bin/helm upgrade --install ks-redis /etc/kubesphere/redis-ha -f /etc/kubesphere/custom-values-redis.yaml --set fullnameOverride=redis-ha --namespace kubesphere-system
          Error: UPGRADE FAILED: "ks-redis" has no deployed releases
          / #

          你看下你的helm的版本吧,helm2这样执行应该是没有问题的。

            zackzhang helm 我本地安装redis,是没问题的啊:
            `[root@master1 ]# helm version
            Client: &version.Version{SemVer:“v2.16.9″, GitCommit:“8ad7037828e5a0fca1009dabe290130da6368e39″, GitTreeState:“clean”}
            Server: &version.Version{SemVer:“v2.16.9”, GitCommit:“8ad7037828e5a0fca1009dabe290130da6368e39”, GitTreeState:“clean”}
            [root@master1 ]# helm install aliyun/redis
            NAME: geared-sheep
            LAST DEPLOYED: Mon Jul 20 10:47:17 2020
            NAMESPACE: default
            STATUS: DEPLOYED

            RESOURCES:
            ==> v1/PersistentVolumeClaim
            NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
            geared-sheep-redis Bound pvc-f98f8aba-7787-455f-9c7a-20b2aa66758a 8Gi RWO managed-nfs-storage 0s

            ==> v1/Pod(related)
            NAME READY STATUS RESTARTS AGE
            geared-sheep-redis-59585b47c6-zvmjg 0/1 Pending 0 0s

            ==> v1/Secret
            NAME TYPE DATA AGE
            geared-sheep-redis Opaque 1 0s

            ==> v1/Service
            NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
            geared-sheep-redis ClusterIP 10.68.73.170 <none> 6379/TCP 0s

            ==> v1beta1/Deployment
            NAME READY UP-TO-DATE AVAILABLE AGE
            geared-sheep-redis 0/1 1 0 0s

            NOTES:
            Redis can be accessed via port 6379 on the following DNS name from within your cluster:
            geared-sheep-redis.default.svc.cluster.local
            To get your password run:

            REDIS_PASSWORD=$(kubectl get secret --namespace default geared-sheep-redis -o jsonpath="{.data.redis-password}" | base64 --decode)

            To connect to your Redis server:

            1. Run a Redis pod that you can use as a client:

              kubectl run –namespace default geared-sheep-redis-client –rm –tty -i \
              –env REDIS_PASSWORD=$REDIS_PASSWORD \
              –image bitnami/redis:4.0.8-r2 – bash

            2. Connect using the Redis CLI:

              redis-cli -h geared-sheep-redis -a $REDIS_PASSWORD

            [root@master1 ]# helm list

            NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE

            geared-sheep 1 Mon Jul 20 10:47:17 2020 DEPLOYED redis-1.1.15 4.0.8 default

            metrics-server 1 Fri Jul 17 16:41:39 2020 DEPLOYED metrics-server-2.5.0 0.3.1-0217 kube-system`

            zackzhang 好像那个版本不对,并且那个repo list好像也没有的,是不是这个问题啊:

            [root@master1 ~]# kubectl -n kubesphere-system exec -ti ks-installer-59fb465b7-qsrd5 sh
            / # /usr/local/bin/helm version
            Client: &version.Version{SemVer:"v2.12.3", GitCommit:"eecf22f77df5f65c823aacd2dbd30ae6c65f186e", GitTreeState:"clean"}
            Server: &version.Version{SemVer:"v2.16.9", GitCommit:"8ad7037828e5a0fca1009dabe290130da6368e39", GitTreeState:"clean"}
            / # /usr/local/bin/helm install aliyun/redis
            Error: failed to download "aliyun/redis" (hint: running
            helm repo updatemay help)
            / #

              xingye311 刚我以为是helm的问题,但是我安装了3.0的,又可以安装成功了,真是一言难尽:

              zackzhang 之前helm删除没删除干净,删除干净后重新安装,helm 安装出来的reids-ha 是FAILED状态的,这个要做怎么定位啊:

              [root@master1 ]# helm list

              NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE

              ks-redis 1 Mon Jul 20 14:07:52 2020 FAILED redis-ha-3.9.0 5.0.5 kubesphere-system
              metrics-server 1 Fri Jul 17 16:41:39 2020 DEPLOYED metrics-server-2.5.0 0.3.1-0217 kube-system

              zackzhang redis的现在可以安装了,是redis-ha.conf 的残余配置有问题,删了后就可以了,但是现在到openldap的安装有问题了:

              fatal: [localhost]: FAILED! => {“changed”: true, “cmd”: “/usr/local/bin/helm upgrade –install ks-openldap /etc/kubesphere/openldap-ha -f /etc/kubesphere/custom-values-openldap.yaml –set fullnameOverride=openldap –namespace kubesphere-system\n”, “delta”: “0:00:00.765785”, “end”: “2020-07-20 07:03:46.721472″, “msg”: “non-zero return code”, “rc”: 1, “start”: “2020-07-20 07:03:45.955687″, “stderr”: "Error: render error in \“openldap-ha/templates/statefulset.yaml\”: template: openldap-ha/templates/statefulset.yaml:25:9: executing \“openldap-ha/templates/statefulset.yaml\” at <(.Values.ldap.replication) and eq .Values.ldap.replication \“true\”>: can’t give argument to non-function .Values.ldap.replication", “stderr_lines”: ["Error: render error in \“openldap-ha/templates/statefulset.yaml\”: template: openldap-ha/templates/statefulset.yaml:25:9: executing \“openldap-ha/templates/statefulset.yaml\” at <(.Values.ldap.replication) and eq .Values.ldap.replication \“true\”>: can’t give argument to non-function .Values.ldap.replication"], “stdout”: "Release \“ks-openldap\” does not exist. Installing it now.", “stdout_lines”: ["Release \“ks-openldap\” does not exist. Installing it now."]}

              这个statefulset.yaml配置文件是不是有什么问题啊?麻烦帮忙看下,这两天要搭出来一套,急用呀,谢谢

              可以了,是helm的版本问题,v2.16.9有毒的,换成v2.16.1就好了;总结下,高版本的降到低版本的,记得清空各个配置文件,还有请选对helm版本,v2.16.9版本有毒!这个坑帮大家踩了