是的。
今天早上安装又没成功,这特么这玩意儿有那么难搞吗???
有/🙂
首先。我是通过下面这样把yaml配置文件get到本地
wget https://raw.githubusercontent.com/kubesphere/ks-installer/v3.0.0-alpha.1/deploy/kubesphere-installer.yaml
wget了两个文件,下面红框
然后依次配置两个yaml文件(下面只贴了一行)
kubectl apply -f kubesphere-installer.yaml
好,查看一下(下面这个要稍等一会儿才会有结果,不要一看报错就慌,稍等一会就OK了)
[root@master kubeSphere]# kubectl get svc/ks-console -n kubesphere-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ks-console NodePort 10.1.190.113 <none> 80:30880/TCP 76m
接着看一下pod状态,这就有点恶心人了,全特么装死
[root@master kubeSphere]# kubectl get pod -n kubesphere-system
NAME READY STATUS RESTARTS AGE
ks-apiserver-6f447cbdf9-knmwg 0/1 CrashLoopBackOff 7 14m
ks-console-5b68d6bfbd-nxwkq 1/1 Running 0 78m
ks-controller-manager-76c76977d7-6h48b 0/1 CrashLoopBackOff 7 13m
ks-installer-5b988669b9-8tf8b 1/1 Running 0 87m
openldap-0 0/1 Pending 0 78m
redis-644bc597b9-t28bb 0/1 Pending 0 79m
两个pod不停重启,两个直接pending
就是卡在这里!两次都是!
下面是我边骂边做的一些努力尝试
先选一个pod,查看一下详细信息
kubectl describe pod ks-apiserver-6f447cbdf9-knmwg -n kubesphere-system
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled <unknown> default-scheduler Successfully assigned kubesphere-system/ks-apiserver-6f447cbdf9-knmwg to master
Normal Pulled 16m (x5 over 17m) kubelet, master Container image "kubespheredev/ks-apiserver:latest" already present on machine
Normal Created 16m (x5 over 17m) kubelet, master Created container ks-apiserver
Normal Started 16m (x5 over 17m) kubelet, master Started container ks-apiserver
Warning BackOff 2m49s (x76 over 17m) kubelet, master Back-off restarting failed container
怎么办呢??
查一下吧,发现很多老哥说:
在deployment申明镜像的后面加上命令
command: [ "/bin/bash", "-ce", "tail -f /dev/null" ]
还有老哥说:
如果想要pod不用一直重启,可以给pod改一个restartPolicy
restartPolicy: Never
看着不错,应该可以解决我的问题了吧!
可我找不到对应的yaml文件啊,自己太菜了
找不到就没办法修改
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
后俩发现可以通过kubectl edit编辑配置文件
kubectl edit pod ks-apiserver-6f447cbdf9-vwgmt -n kubesphere-system
我就猜到肯定是可以编辑的,只是才发现
那就编辑~吧,这个就是用vi打开的
修改一下(我是打算按第二个老哥说的修改重启策略)
改好之后,怎么都保存不了,就显示
Edit cancelled, no changes made.
太气人了。线索又断了
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
查看pod日志
[root@master kubeSphere]# kubectl logs ks-apiserver-6f447cbdf9-knmwg -n kubesphere-system
W0804 16:22:51.441071 1 client_config.go:543] Neither --kubeconfig nor --master was specified. Using the inClusterConfig. This might not work.
Error: failed to connect to redis service, please check redis status, error: dial tcp 10.1.124.164:6379: connect: connection refused
2020/08/04 16:22:52 failed to connect to redis service, please check redis status, error: dial tcp 10.1.124.164:6379: connect: connection refused
先到这里,下午接着搞...害
好,下午两点半的时候终于搞定了。
方法就是,上面第一个老哥说的那样,添加一行
command: [ "/bin/bash", "-ce", "tail -f /dev/null" ]
我开始的时候确实找不到yaml文件
后来发现方法还是很多的,首先之前不是装了DashBoard嘛,那里面可以找到yaml文件,但是不能把改动写入,很奇怪
然后kubectl edit也可以找到yaml文件,同样不能修改
索性把Deployment删除(先把配置内容复制到一个文件,我这里复制到了ks-apiserver.yaml)
可以在DashBoard删除,也可以在命令行删除:
先查看所有的deployment
[root@master kubeSphere]# kubectl get deployments.apps -n kubesphere-system
NAME READY UP-TO-DATE AVAILABLE AGE
ks-apiserver 1/1 1 1 5m28s
ks-console 1/1 1 1 13h
ks-controller-manager 0/1 1 0 13h
ks-installer 1/1 1 1 13h
redis 0/1 1 0 13h
再删除deployment
[root@master kubeSphere]# kubectl delete deployments.apps ks-controller-manager -n kubesphere-system
deployment.apps "ks-controller-manager" deleted
[root@master kubeSphere]# kubectl get deployments.apps -n kubesphere-system
NAME READY UP-TO-DATE AVAILABLE AGE
ks-apiserver 1/1 1 1 8m36s
ks-console 1/1 1 1 13h
ks-installer 1/1 1 1 13h
redis 0/1 1 0 13h
然后在本地修改ks-apiserver.yaml
我这里把行号显示出来了,大概位置210行
command: [ "/bin/bash", "-ce", "tail -f /dev/null" ]
上面会报错,提示没有bash,只有sh,那就修改为下面这样
command: [ "/bin/sh", "-ce", "tail -f /dev/null" ]
然后
kubectl apply -f ks-apiserver.yaml
我去他妹的,终于OK了
可以看到,apiserver这个pod正常起来了
[root@master kubeSphere]# kubectl get pod -n kubesphere-system
NAME READY STATUS RESTARTS AGE
ks-apiserver-6b64d8b47-vmtzb 1/1 Running 6 12m
ks-console-5b68d6bfbd-rs48d 1/1 Running 1 12h
ks-controller-manager-cd8f855d6-c7snn 0/1 CrashLoopBackOff 17 65m
ks-installer-5b988669b9-5hlpf 1/1 Running 1 12h
openldap-0 0/1 Pending 0 12h
redis-644bc597b9-fjdj2 0/1 Pending 0 12h
接下来就是controller-manager了