【问题标题】:How to access kubernetes cluster using masterurl如何使用 masterurl 访问 Kubernetes 集群
【发布时间】:2020-07-03 15:17:31
【问题描述】:

我正在尝试使用主 url 连接到 kubernetes 集群。但是,尝试以下命令时遇到错误

命令:config, ConfigErr clientcmd.BuildConfigFromFlags("https://192.168.99.100:8443","")

错误:Get "https://192.168.99.100:8443/api/v1/namespaces": x509: certificate signed by unknown authority

有没有其他人遇到过这个和/或知道如何解决这个错误?

【问题讨论】:

  • 是否将tokenca.crt 传递给您的Kubernetes 客户端?这似乎是个问题。
  • 我该怎么做? buildconfigfromflags 仅采用 masterlurl 和 kubeconfig 路径
  • 您是如何尝试连接到 k8s 服务器的。使用 kubectl、curl、浏览器?
  • 我正在从 buildconfigfromflags 获取配置,kubernetes.NewForConfig(config) 这样做是为了连接

标签: kubernetes kubernetes-go-client


【解决方案1】:

通过描述服务获取 kube-apiserver 端点

kubectl describe svc kubernetes

这将列出 APIServer 的端点,如下所示:

Endpoints:         172.17.0.6:6443

像这样获取访问 APIServer 的令牌:

TOKEN=$(kubectl get secret $(kubectl get serviceaccount default -o jsonpath='{.secrets[0].name}') -o jsonpath='{.data.token}' | base64 --decode )

使用检索到的令牌查询 APIServer:

curl -v https://172.17.0.6:6443/api/v1/nodes -k  --header "Authorization:Bearer $TOKEN" --insecure

【讨论】:

【解决方案2】:
config, ConfigErr = clientcmd.BuildConfigFromFlags(masterurl,"")
        config.BearerToken=token
        config.Insecure=true

使用此代码使其工作。它对我有用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 2021-06-05
    • 2019-03-21
    • 2023-03-09
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    相关资源
    最近更新 更多