我在设置导出到Kubernetes的bitbucket管道时遇到问题。我成功地运行了kubernetes onprem,由publicIP公开。我已经创建了部署、服务和入口。一切都很顺利,这是我的最后一站…:
我的管道:
#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说:
+ 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我尝试了多个教程,但都没有帮助。
发布于 2020-03-02 18:28:46
我遇到了完全相同的问题,花了很长时间来排除故障。所以对于后来来这里的任何人:
对我来说,问题在于我之前在管道设置中添加了一个名为$KUBECONFIG的存储库值。
在我删除这个值之后,一切都正常工作了。
发布于 2020-09-11 16:09:19
因此,我在尝试设置KUBECONFIG环境变量时遇到了类似的问题。
这里发生的问题是某个工具或cli命令试图将KUBECONFIG设置为文件以外的其他内容。
在我的例子中,我试着在善意上变得更聪明,并这样做
KUBECONFIG=$(kind get kubeconfig --name kind-3)问题在于,它会将KUBECONFIG设置为您希望在kubeconfig文件中使用的值,而不是该文件的路径
所以你真正想要的是
kind get kubeconfig --name kind-3 > local-kind-3-kubeconfig.yaml
export KUBECONFIG=$(pwd)/local-kind-3-kubeconfig.yaml希望这能在未来拯救一些人(也许是我)。
https://stackoverflow.com/questions/58979832
复制相似问题