安装kubesphere的 devops 插件报错

安装kubesphere的 devops 插件报错

ks-minio 报错:

bash 复制代码
TASK [common : Kubesphere | Check minio] ***************************************
changed: [localhost]

TASK [common : Kubesphere | Deploy minio] **************************************
fatal: [localhost]: FAILED! => {"changed": true, "cmd": "/usr/local/bin/helm upgrade --install ks-minio /etc/kubesphere/minio-ha -f /etc/kubesphere/custom-values-minio.yaml --set fullnameOverride=minio --namespace kubesphere-system --wait --timeout 1800\n", "delta": "0:00:00.283695", "end": "2024-03-29 02:47:43.891112", "msg": "non-zero return code", "rc": 1, "start": "2024-03-29 02:47:43.607417", "stderr": "Error: UPGRADE FAILED: \"ks-minio\" has no deployed releases", "stderr_lines": ["Error: UPGRADE FAILED: \"ks-minio\" has no deployed releases"], "stdout": "", "stdout_lines": []}
...ignoring

TASK [common : debug] **********************************************************
ok: [localhost] => {
    "msg": [
        "1. check the storage configuration and storage server", 
        "2. make sure the DNS address in /etc/resolv.conf is available.", 
        "3. execute 'helm del --purge ks-minio && kubectl delete job -n kubesphere-system ks-minio-make-bucket-job'", 
        "4. Restart the installer pod in kubesphere-system namespace"
    ]
}

TASK [common : fail] ***********************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "It is suggested to refer to the above methods for troubleshooting problems ."}

PLAY RECAP *********************************************************************
localhost                  : ok=35   changed=20   unreachable=0    failed=1    skipped=73   rescued=0    ignored=4


UPGRADE FAILED: \"ks-minio\" has no deployed releases

以及有些 pod 一直处于 ContainerCreating 和 Error 状态。

解决方法:

先一步步排查问题:

查看 pod 状态:

bash 复制代码
kubectl get pods --all-namespaces

然后使用 kubectl describe 命令查看 异常的 pod 日志:

bash 复制代码
# 示例:
 kubectl describe pod ks-devops-db-init-job-j94hh -n kubesphere-devops-system


发现有些镜像一直在 pull, pull 很久都没进展。

这个极有可能是网络问题,所以就先排查网络问题。

因为它从 <hub.docker.com> 下载镜像,我在浏览器打开这个网址发现访问不了,然后挂了VPN就可以访问,所以很明显被墙了。以前不用VPN都能正常访问,现在不知道为什么要用VPN才能访问了。

回到系统里,使用ping命令测试:

bash 复制代码
ping hub.docker.com

没有结果返回。但是它把 IP 显示出来了,我再 ping 了一下这个IP,发现可以 ping 通。

所以我就直接把 域名和 IP 在 /etc/hosts 文件中做一个 IP 和 域名的映射:

再次执行 ping hub.docker.com 就可以正常 ping 通了。

之后,我遇到了另一个问题是因为我用第一个手机开的热点,很多镜像都下不下来,

图中有一个 layer 一直处于 waiting 拉不下来。

之后我换了一个手机开热点,就没问题了。

当你使用 kubectl apply 的方式部署 pod,要经常使用 kubectl describe 命令查看日志,当看到 日志 一直卡在 pulling image 的那行时,你可以手动到对应的 node 节点上直接使用 docker pull 的方式把镜像拉取下来。

如果手动都拉取不下来,那就要进一步排查网络问题了。


你可能在操作的过程中需要删除某些 pod, 可以参考这篇文章《最小化安装Kubesphere报错问题解决方法》.

删除某个 namespace 下的所有 pod.

bash 复制代码
kubectl delete deploy <namespace> --all
相关推荐
一切顺势而行几秒前
k8s 使用docker 安装教程
docker·容器·kubernetes
霖檬ing1 分钟前
K8s——配置管理(1)
java·贪心算法·kubernetes
澜兮子1 分钟前
k8s-服务发布基础
云原生·容器·kubernetes
小安运维日记3 分钟前
CKS认证 | Day4 最小化微服务漏洞
安全·docker·微服务·云原生·容器·kubernetes
2401_836836594 分钟前
k8s服务发布进阶
云原生·容器·kubernetes
Two_brushes.23 分钟前
【linux网络】网络编程全流程详解:从套接字基础到 UDP/TCP 通信实战
linux·开发语言·网络·tcp/udp
夕泠爱吃糖37 分钟前
Linux中的静态库和动态库
linux·运维·服务器
比奥利奥还傲.2 小时前
Linux运维安全新范式:基于TCPIP与SSH密钥的无密码认证实战
linux·运维·安全
mmsx2 小时前
使用git生成ssh的ed25519密钥
运维·git·ssh
裁二尺秋风3 小时前
CI/CD — DevOps概念之实现k8s持续交付持续集成(一)
ci/cd·kubernetes·devops