您的集群身份验证出现问题。当我进行gitlab和k8s集群集成时

时间:2019-06-24 08:11:47

标签: kubernetes gitlab-ci kops

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

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

api网址: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 $1}')

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

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

并且我无法安装带有kubernetes错误404的头盔分till器

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

4 个答案:

答案 0 :(得分:1)

@fuzes确认重新创建群集可以解决此问题。

在GitLab问题-Kubernetes authentication not consistent

中也对此进行了描述

简而言之: 在多个项目中使用相同的Kubernetes集群集成配置可以在一个项目上正确地进行身份验证,而在另一个项目上则不能。

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

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

答案 1 :(得分:1)

  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网址,您可以将其直接添加到要求的列中

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

您将可以添加集群

答案 2 :(得分:0)

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作为API URL。

答案 3 :(得分:-2)

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

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

  },
  "code": 403
}

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