1执行下面的命令修改上一篇中yaml文件来实现定制化安装devops
kubectl edit cm -n kubesphere-system ks-installer
主要是将devops几个配置由False改为True
然后使用下面的命令查看安装日志
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
整个安装持续时间视个人网络环境而定,通常需要十来分钟。如果出现某个pod 镜像拉取失败,参照下面文章的教程,重新拉取镜像,删除失败的pod让其重建。
可以通过下面的命令,检查网络环境,从哪个镜像库拉的,则地址换为对应的镜像库地址即可
nslookup registry-1.docker.io
如果出现下面的提示,则网络正常
[root@k8s-node3 ~]# nslookup registry-1.docker.io
Server: 192.168.31.1
Address: 192.168.31.1#53Non-authoritative answer:
Name: registry-1.docker.io
Address: 173.244.217.42
Name: registry-1.docker.io
Address: 2a03:2880:f127:83:face:b00c:0:25de
待所有关于devops和alert的pod都处于Running状态,则devops构建建成功。
查看,在主页集群状态-->Monitoring-->DevOps,如果没有问题DevOps选项卡会变成绿色,我这里是因为这个pod构建失败,再往里深究是这个镜像joosthofman/wget:1.0拉不下来。
上网查了下才了解到,目前joosthofman/wget:1.0
镜像在国内网络环境下无法直接从 Docker Hub 拉取,原因可能包括镜像已被删除、设为私有或网络限制等。
因此可尝试自行构建一个功能等价的镜像,并将其保存为 tar 包以供使用。以下是具体步骤:
🛠️ 构建等价的 wget 镜像
-
创建 Dockerfile
在工作目录下创建一个名为
Dockerfile
的文件,内容如下:FROM alpine:3.18 RUN apk add --no-cache wget
-
构建镜像
在终端中执行以下命令构建镜像:
docker build -t joosthofman/wget:1.0 .
-
保存镜像为 tar 包
将构建好的镜像保存为 tar 包:
docker save -o joosthofman-wget-1.0.tar joosthofman/wget:1.0
此操作将在当前目录下生成一个名为
joosthofman-wget-1.0.tar
的文件。 -
在目标机器上加载镜像
将
joosthofman-wget-1.0.tar
文件传输到目标机器后,执行以下命令加载镜像:docker load -i joosthofman-wget-1.0.tar
加载完成后,您可以通过
docker images
命令验证镜像是否成功导入。
最后查看devops 相关pods,都处于Running或者Completed状态了,kubeSphere上查看Devops变成绿色可行状态了