如何获取用于将 bitbucket 部署到 Digital Ocean 上的 Kubernetes 实例的 $KUBE_CONFIG 变量?

如何获取用于将 bitbucket 部署到 Digital Ocean 上的 Kubernetes 实例的 $KUBE_CONFIG 变量?

因此,我的公司一直在将我们的后端应用程序托管从数字海洋水滴迁移到数字海洋 Kubernetes 集群。

然而,当按照 bitbucket 管道指南更新我们的 kubernetes 管道时(https://support.atlassian.com/bitbucket-cloud/docs/deploy-to-kubernetes/

    - step:
    name: Deploy
    deployment: production
    script:
      - sed -i "s|{{image}}|$DOCKER_HUB_USERNAME/$APPLICATION_NAME:$BITBUCKET_COMMIT|g" deployment.yml
      - pipe: atlassian/kubectl-run:1.1.2
        variables:
          KUBE_CONFIG: $KUBE_CONFIG
          KUBECTL_COMMAND: 'apply'
          RESOURCE_PATH: 'deployment.yml'

有一个变量 $KUBE_CONFIG,它在那里或我查看过的其他相关资源中没有解释。

有人知道如何找到这个变量吗?如何生成它?等等?谢谢,即使是对它的基本概述在这一点上也会有所帮助。

答案1

根据文档对于您使用的管道(请参阅先决条件部分):

为了在 Pipelines 中配置凭证,您需要将 base64 编码的 kubeconfig 文件添加为存储库变量。获取方法如下:在 Linux 上为 base64 -w 0 < ~/.kube/config,在 Mac OS 上为 base64 < ~/.kube/config。只需从 stdout 复制 base64 编码的字符串并将其放入存储库设置中的 KUBE_CONFIG 变量中即可。

该管道利用了上述 kubeconfig 文件访问方法这里

为了进一步概述这一点,您需要:

  1. 检索您的 kubeconfig 文件。使用 digitalocean web 控制台执行此操作。选择 k8s 集群的概览选项卡,您将看到下载配置文件的大按钮.将此文件保存到您的本地环境。

  2. 将该文件的内容转换为 base64 编码的字符串。从终端使用命令base64 -w 0 <downloaded kube config file>。将生成的字符串复制到剪贴板。

  3. 导航到您的 bitbucket 存储库,选择存储库设置,然后选择存储库变量

  4. 在里面姓名字段输入KUBE_CONFIG并在价值字段中粘贴第 2 步中的 base64 编码配置字符串。选择担保框以确保您的配置在管道日志中被混淆。(此变量的名称是任意的,仅供参考,它只需要与管道 yaml 中的引用相匹配)

这将创建存储库变量$KUBE_CONFIG,其中包含 kube 配置文件的 base64 编码值,管道使用该值填充KUBE_CONFIGatlassian/kubectl-run 管道所需的变量。

相关内容