• 安装部署应用商店
  • 更新4.1.2后添加应用仓库,域名解析失败,各种DNS检查方法都试了一下,找不到原因。。

创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。如果未按模板创建问题,管理员有权关闭问题。
确保帖子格式清晰易读,用 markdown code block 语法格式化代码块。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。

操作系统信息
例如:虚拟机,Ubuntu

Kubernetes版本信息
kubectl version 命令执行结果贴在下方

Client Version: version.Info{Major:“1”, Minor:“23”, GitVersion:“v1.23.10”, GitCommit:“7e54d50d3012cf3389e43b096ba35300f36e0817”, GitTreeState:“clean”, BuildDate:“2022-08-17T18:32:54Z”, GoVersion:“go1.17.13”, Compiler:“gc”, Platform:“linux/amd64”}

Server Version: version.Info{Major:“1”, Minor:“23”, GitVersion:“v1.23.10”, GitCommit:“7e54d50d3012cf3389e43b096ba35300f36e0817”, GitTreeState:“clean”, BuildDate:“2022-08-17T18:26:59Z”, GoVersion:“go1.17.13”, Compiler:“gc”, Platform:“linux/amd64”}

容器运行时
docker version / crictl version / nerdctl version 结果贴在下方

Client: Docker Engine - Community

Version: 27.3.1

API version: 1.47

Go version: go1.22.7

Git commit: ce12230

Built: Fri Sep 20 11:40:59 2024

OS/Arch: linux/amd64

Context: default

Server: Docker Engine - Community

Engine:

Version: 27.3.1

API version: 1.47 (minimum version 1.24)

Go version: go1.22.7

Git commit: 41ca978

Built: Fri Sep 20 11:40:59 2024

OS/Arch: linux/amd64

Experimental: false

containerd:

Version: 1.7.22

GitCommit: 7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c

runc:

Version: 1.1.14

GitCommit: v1.1.14-0-g2c9f560

docker-init:

Version: 0.19.0

GitCommit: de40ad0

KubeSphere版本信息
v4.1.2

问题是什么
添加应用仓库,域名解析失败

使用busybox测速可以解析

  • wolf 回复了此帖
    10 天 后

    风过无痕

    这个就是拉取repo的核心逻辑, 你尝试编译一下放到 ks-apiserver的容器中运行一下看看?

    package main
    
    import (
    	"crypto/tls"
    	"fmt"
    	"helm.sh/helm/v3/pkg/getter"
    	"net/http"
    	"net/url"
    	"time"
    )
    
    func main() {
    	u := "https://charts.bitnami.com/bitnami/index.yaml"
    	parsedURL, err := url.Parse(u)
    	if err != nil {
    		panic(err)
    	}
    	indexURL := parsedURL.String()
    	g, _ := getter.NewHTTPGetter()
    	options := []getter.Option{
    		getter.WithTimeout(5 * time.Minute),
    		getter.WithURL(u),
    		getter.WithInsecureSkipVerifyTLS(true),
    		getter.WithTLSClientConfig("", "", ""),
    		getter.WithBasicAuth("", "")}
    
    	options = append(options, getter.WithTransport(
    		&http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: true}},
    	))
    
    	resp, err := g.Get(indexURL, options...)
    	if err != nil {
    		panic(err)
    	}
    	fmt.Println(resp.String())
    
    }