我目前可以这样部署,还是有点繁琐,
1、create_project_harbor.sh没有包含在离线包里
2、要改create_project_harbor.sh,现在registry都是基于registry v2了吧
3、kubesphere-all-v3.0.0-offline-linux-amd64.tar.gz这个包略大一些,不过也大不是很多

基于k8s 离线部署kubesphere

1、准备harbor镜像仓库,镜像仓库地址:http://192.168.93.9

2、下载kubesphere离线镜像包并解压

curl -Ok https://kubesphere-installer.pek3b.qingstor.com/offline/v3.0.0/kubesphere-all-v3.0.0-offline-linux-amd64.tar.gz
tar -zxvf kubesphere-all-v3.0.0-offline-linux-amd64.tar.gz

3、推送镜像到harbor仓库

下载脚本

wget https://raw.githubusercontent.com/kubesphere/ks-installer/master/scripts/create_project_harbor.sh

修改create_project_harbor.sh脚本,指定镜像仓库地址和登录信息:

url="http://192.168.93.9"
user="admin"
passwd="Harbor12345"

如果使用2.x版本harbor修改最后行为以下内容:

${url}/api/v2.0/projects

创建项目

sh create_project_harbor.sh

推送镜像到私有镜像仓库

cd kubesphere-all-v3.0.0-offline-linux-amd64/kubesphere-images-v3.0.0
sh push-images.sh 192.168.93.9

3、部署kubesphere容器平台

helm repo add test https://charts.kubesphere.io/test
helm pull test/ks-installer
tar -zxvf ks-installer-0.2.1.tgz

helm install kubesphere \
  --namespace=kubesphere-system \
  --create-namespace \
  --set image.repository=192.168.93.9/kubesphere/ks-installer \
  --set image.tag=v3.0.0 \
  --set persistence.storageClass=longhorn \
  --set .registry=192.168.93.9 \
  ./ks-installer

csz711
多谢提醒,后边我们补充下
可以先自己尝试导入下flannel镜像
只有一个:kubesphere/flannel:v0.12.0

10 天 后

离线包中没有jaegertracing/jaeger-es-index-cleaner的镜像,解决方法:先将镜像下载到本地,然后手动导入:

1. docker pull jaegertracing/jaeger-es-index-cleaner:1.17  
2. docker save -o jaeger-es-index-cleaner.tar jaegertracing/jaeger-es-index-cleaner:1.17
3. docker load -i jaeger-es-index-cleaner.tar

请问下要是用本地镜像,配置文件里面镜像那边应该写什么?
registry:
registryMirrors: []
insecureRegistries: []
privateRegistry: dockerhub.kubekey.local

privateRegistry这个参数后面是 privateRegistry: []这样写吗

请问可以只使用本地镜像,不拉取镜像仓库的镜像吗

    lmc920213 只要在privateRegistry下写镜像仓库就行,镜像仓库双引号“”包含就行。不会去别的镜像仓库拉取。

      Forest-L 多谢指导,再请教个问题,我centos部署环境只有sudo权限,配置文件 用户名user那边应该怎么写
      user: root,这里是写 user: sudo 吗

      请教个问题,我centos部署环境只有sudo权限,配置文件 用户名user那边应该怎么写
      user: root,这里是写 user: sudo 吗

        您好,我在本地部署kubeSphere3.0 使用自己的harbor报错。
        执行 ./push-images.sh sk.reiat.com
        镜像载入过程过去以后,push环节开始报类似于:an image does not exist locally with the tag: sk.reiat.com/csplugin/csi-neonsan-centos这种错误
        在config-sample.yaml中,已经写了privateRegistry: https://sk.reiat.com
        好像在2.0中有更改tag.sh来适配harbor的选项,3.0没有了,不知道该怎么做。

          lmc920213
          用哪个user就填哪个user,但要保证这个user具有sudo权限。

          mirror_eclia
          看信息是本地没有相关的镜像,可以docker images看下有木有错误信息中的镜像,是不是机器存储空间不够了,导致镜像数据丢失。

            Cauchy 您好,我看了本地没有镜像,但是编译过程却有docker load的过程显示。我尝试手动load镜像再进行tag,却发现载入后的镜像过一会用docker images查看时会自己消失。使用free -h 查看,可用空间59G,空闲16G,应该不是存储空间不够吧,还可能是什么问题呢?

              6 天 后

              Cauchy 可使用harbor或其他第三方镜像仓库。

              请问下这里该如何使用harbor作为第三方镜像仓库,该如何配置呢?

              这东西装到肾虚,就为学习一下,折腾了几个月,找不到一个讲清楚的,各种坑,拿到真实环境怎么用啊,伤不起啊…

              这又是哪门子的错误,为何怎么都装不成功?