您的群集存在 authenticationg 问题。当我进行 gitlab 和 k8s 集群集成时

There was a problem authenticationg with your cluster. when i making gitlab and k8s cluster integration

我使用 kops 在 aws 中创建了 k8s 集群

我写了 kubernetes 集群名称:test.fuzes.io

api url : https://api.test.fuzes.io/api/v1

然后我用

的结果填写 CA 证书字段

kubectl get secret {secrete_name} -o jsonpath="{['data']['ca\.crt']}" | base64 --decode

最后我用

的结果填充服务令牌字段

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep gitlab-admin | awk '{print }')

但是当我保存更改时,我收到消息

There was a problem authenticating with your cluster. Please ensure your CA Certificate and Token are valid.

而且我无法使用 kubernetes 安装 helm tiller error:404

我真的不知道我做错了什么。请帮助我....

正如@fuzes 确认的那样,集群 re-creation 可以解决此问题。

这在 GitLab 问题上也有描述 - Kubernetes authentication not consistent

简而言之: 在多个项目中使用相同的 Kubernetes 集群集成配置在一个项目上正确验证,但在另一个项目上不正确。

另一个解决此问题的建议是仅设置 CI VariablesKUBE_NAMESPACEKUBECONFIG)而不是使用我们的 Kubernetes 集成。

希望这对以后的参考有所帮助。

kubectl cluster-info | \
    grep 'Kubernetes master' | \
    awk '/http/ {print $NF}' 

return https://control.pomazan.xyz/k8s/clusters/c-t7qr5

但是像https://80.211.195.192:6443一样使用APIURL.

  {"kind": "Status",
  "apiVersion": "v1",
  "metadata": {

  },
  "status": "Failure",
  "message": "forbidden: User \"system:anonymous\" cannot get path \"/\"",
  "reason": "Forbidden",
  "details": {

  },
  "code": 403
}

这个问题出现在很多人的环境中,终于可以解决了!!!

  1. 将 api URL 调整为 https://api.test.fuzes.io:6443 (6443 是 kube master 监听 api-server 的默认端口,如果你编辑了它然后使用定制的) 使用此命令验证端口 "kubectl cluster-info | grep 'Kubernetes master' | awk '/http/ {print $NF}' "

这个命令会打印出api-server url,你可以直接在询问栏中添加

  1. 接下来,对于您的 CA 证书,确保复制所有命令输出以及 BEGIN CERTIFICATE 和 END CERTIFICATE

有了这个你就可以添加集群了