首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用BitBucket将nodejs app导出到Kubernetes

使用BitBucket将nodejs app导出到Kubernetes
EN

Stack Overflow用户
提问于 2019-11-22 00:46:45
回答 2查看 426关注 0票数 0

我在设置导出到Kubernetes的bitbucket管道时遇到问题。我成功地运行了kubernetes onprem,由publicIP公开。我已经创建了部署、服务和入口。一切都很顺利,这是我的最后一站…:

我的管道:

代码语言:javascript
复制
#enabling docker
options:
  docker: true    
pipelines:
      branches:
        develop:
        - step:
            name: Build app for Develop purposes
            image: node:12.13.0
            caches:
              - node
            script:
              - pwd
              - ls -al
              - npm install  
              # Run our Tests
              # - npm test
              # Package App for Production
              - npm run build:dev
            artifacts:
              - build/**
        - step:
           name: Build Docker Image
           script:
            - export IMAGE_NAME=rurrobotics/ilog-develop:$BITBUCKET_COMMIT
            - docker build -t $IMAGE_NAME .
              # authenticate with the Docker Hub registry
            - docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
              # push the new Docker image to the Docker registry
            - docker push $IMAGE_NAME
        - step:
           name: Deploy to Kubernetes
           image: atlassian/pipelines-kubectl
           deployment: test
           script: 
            - export IMAGE_NAME=rurrobotics/ilog-develop:$BITBUCKET_COMMIT
            - echo $KUBE_TOKEN | base64 -d > ./kube_token
            - echo $KUBE_CA | base64 -d > ./kube_ca
            - kubectl config set-cluster kubernetes --server="https://my-public-IP:6443" --certificate-authority="$(pwd)/kube_ca"
            - kubectl config set-credentials bitbucket --token="$(cat ./kube_token)"
            - kubectl config set-context development --cluster=kubernetes --user=bitbucket
            - kubectl config use-context development
            - kubectl --namespace=dev set image deployment/ilog-app ilog-app=$IMAGE_NAME

一切正常,直到bitbucket说:

代码语言:javascript
复制
+ kubectl config set-cluster kubernetes --server="https://my-public-ip" --certificate-authority="$(pwd)/kube_ca"
error loading config file " LS0tLS1CRUdJTiBDR...bz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=     server: file name too long
error loading config file " LS0tLS1CRUdJTiBDR... VEUtLS0tLQo=     client-key-data: file name too long
error loading config file " LS0tLS1Ck1N0RuT.....VktLS0tLQo=: file name too long

我尝试了多个教程,但都没有帮助。

EN

回答 2

Stack Overflow用户

发布于 2020-03-02 18:28:46

我遇到了完全相同的问题,花了很长时间来排除故障。所以对于后来来这里的任何人:

对我来说,问题在于我之前在管道设置中添加了一个名为$KUBECONFIG的存储库值。

在我删除这个值之后,一切都正常工作了。

票数 1
EN

Stack Overflow用户

发布于 2020-09-11 16:09:19

因此,我在尝试设置KUBECONFIG环境变量时遇到了类似的问题。

这里发生的问题是某个工具或cli命令试图将KUBECONFIG设置为文件以外的其他内容。

在我的例子中,我试着在善意上变得更聪明,并这样做

代码语言:javascript
复制
KUBECONFIG=$(kind get kubeconfig --name kind-3)

问题在于,它会将KUBECONFIG设置为您希望在kubeconfig文件中使用的值,而不是该文件的路径

https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#the-kubeconfig-environment-variable

所以你真正想要的是

代码语言:javascript
复制
kind get kubeconfig --name kind-3 > local-kind-3-kubeconfig.yaml
export KUBECONFIG=$(pwd)/local-kind-3-kubeconfig.yaml

希望这能在未来拯救一些人(也许是我)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58979832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档