1

我已按照这些说明使用 kops 在 AWS 上设置 kubernetes 集群。

然后我就可以运行kubectl create -f ...命令来运行应用程序了。

https://api.useast1.dev.example.com/我可以在浏览器中访问(我认为是)API 。

这会提示进行身份验证,我通过运行获得的凭据

kubectl config view --minify

根据kops github 的这些说明

然后 API 显示:

{
  "paths": [
    "/apis",
    "/apis/",
    "/apis/apiextensions.k8s.io",
    "/apis/apiextensions.k8s.io/v1beta1",
    "/healthz",
    "/healthz/etcd",
    "/healthz/ping",
    "/healthz/poststarthook/generic-apiserver-start-informers",
    "/healthz/poststarthook/start-apiextensions-controllers",
    "/healthz/poststarthook/start-apiextensions-informers",
    "/metrics",
    "/swagger-2.0.0.json",
    "/swagger-2.0.0.pb-v1",
    "/swagger-2.0.0.pb-v1.gz",
    "/swagger.json",
    "/swaggerapi",
    "/version"
  ]
}

现在我正在尝试设置 GitLab CI,它请求一个 API 端点和一个服务令牌。

我使用来自 kubernetes 的这些指令创建了一个服务令牌,尽管我还没有完成 imagePullSecret 部分。

但是,当我尝试在 kubernetes 集群上进行任何操作时(例如安装 Helm Tiller),它给了我:Kubernetes error: Unauthorized. 我认为这是因为我没有给它任何访问该 API 的凭据。

如何设置 kubernetes 集群以使 Gitlab 不需要这些凭据来访问 API?

4

1 回答 1

2

好的,关于令牌是什么有点混乱。

检索令牌的最佳方法是:

kubectl get secrets

列出秘密

然后

kubectl describe secret SECRET_NAME

检索令牌。

于 2018-02-28T01:25:00.807 回答