如何在将GitLab连接到新GKE集群时修复计费警告

时间:2018-03-28 09:16:12

标签: kubernetes google-cloud-platform gitlab

我未能将Kubernetes群集与我的GitLab CE服务器连接。对于GCE和k8s,我几乎是一个新人。当我尝试从GitLab创建一个新的k8s群集(而不是连接现有的群集)时,会出现一个通知,即还没有正确设置结算。

Please enable billing for one of your projects to be able to create a Kubernetes cluster, then try again.

我做了什么:

  • 我按照official tutorial两次所述完成了所有步骤。
  • 我确认GitLab Omniauth工作正常。
  • 我启用了以下k8s API:Cloud Resource Manager API,Cloud Google+ API,Compute Engine API,Kubernetes Engine API
  • 上述警告提供了GCE计费仪表板的链接。在那里,我启用了k8s计费(或者我认为我做了):
    • 我将新创建的k8s项目与结算帐户相关联。
    • 我根据网络控制台的通知升级了我的GCE帐户以启用结算功能。我认为这意味着启用了结算功能。我尝试了一个带免费套餐促销的结算账户和另一个不用避免遇到免费套餐问题的账单。
  • 我等了this issue半天

尽管如此,我还是遇到了同样的警告。我感谢任何解决方案或提示如何继续安装连接。

如果你想提出解决方案create and connect an existing server - 我不介意这样做,但我也试过了。我能够找出我的群集的API URL(kubectl cluster-info),但它没有发布到网络上,因此GitLab无法访问。如果你知道如何解决这个问题,请告诉我。

3 个答案:

答案 0 :(得分:1)

  

请为您的某个项目启用结算功能,以便能够创建Kubernetes群集,然后重试。

这是来自Google Cloud的消息。要在Google Cloud中创建一些资源,例如Kubernetes群集,首先需要创建一个结算帐户,将其关联到您的项目并启用结算。

这是一位官方documentation,您可以在那里获得详细说明,但简而言之,您需要:

  1. 转到Google云端平台控制台并登录,如果您还没有帐户,请注册。
  2. 打开控制台左侧菜单,然后选择结算。
  3. 点击新结算帐户按钮。
  4. 输入结算帐户的名称并输入您的结算信息。
  5. 点击提交并启用结算。
  6. 之后,您可以使用任何工具创建包含GitLab的群集。

    <强>更新

    我检查了一个GitLab文档,看起来它也可能是一个权限问题,因为:

      

    您关联的Google帐户必须拥有管理GKE上群集的权限。

    因此,我认为您可以添加您的GitLab用户(看起来像是使用Google帐户登录GitLab)作为您在&#34; GCP项目ID&#34;中设置的项目的所有者。

    您可以使用有关IAM的说明,只需点击几下即可完成此操作。顺便说一句,可以根据需要为任何访问权限添加尽可能多的用户。

    确保两个用户(GitLab和您)都可以访问您要用于创建GKE群集的项目。

答案 1 :(得分:1)

检查网络流量后,似乎与项目中未启用某些API有关。

  1. 登录到您的Google Cloud Platform Console。
  2. 确保已选择项目
  3. 从菜单中,选择API和服务->仪表板
  4. 点击页面顶部的“启用API和服务”链接。
  5. 搜索“ Cloud Recource Manager”,然后将其启用。
  6. 返回API库并搜索“ Cloud Billing”,然后选择并启用它。

这样做可以为我解决问题。如果这样做不能解决问题,则可以检查页面并查看浏览器中的网络流量。您将看到对Google服务的呼叫,并且可以阅读回复以获取更多信息。

答案 2 :(得分:0)

  

必须在GitLab中启用Google身份验证集成   实例级别。如果不是这样,请询问您的GitLab管理员   启用它。您关联的Google帐户必须拥有相应权限   在GKE上管理集群的权限。这意味着结算   必须设置帐户,并且您必须具有访问权限   它。您必须拥有主权限才能访问   Kubernetes页面。您必须启用Cloud Billing API您必须拥有   资源管理器API

似乎要做的伎俩