你看下ks-installer的安装日志:

root@node1:/root # kubectl get po -A | grep ks-installer
kubesphere-system              ks-installer-6b9fc66575-4gzhl                                     1/1     Running            0          9d

看下这个pod的logs。如果失败了,会有日志。看下是哪一步失败了,如果是直接没有安装,应该是跳过了。你看下执行结果。

    zackzhang 日志跟之前的还是一样的,执行命令:kubectl logs ks-installer-59fb465b7-f5pcm -n kubesphere-system 查看,截图末尾是 ks-installer的日志,到那里就直接停了:

    这个错目前来看就是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版本有毒!这个坑帮大家踩了