问题描述
我正在尝试设置部署管道,以通过github操作配置Azure Kubernetes服务。我已经在github操作市场上找到了用于配置各种步骤的步骤,但是我无法将它们的任何组合正确地工作。我不断收到错误消息
加载配置文件时出错 “ / home / runner / work / _temp / kubeconfig_xxxx”:yaml:找不到 预期密钥
加载配置文件时出错,无法获取版本/种类; json解析错误:json:无法将数组解组为struct类型的Go值{APIVersion字符串json:“ apiVersion,omitempty;类型的字符串json:\ kind,omitempty \}
取决于我如何尝试从terraform传递kube_config。如果我在本地运行相同的环境,那么它可以工作,因此我假设在github动作上设置它的方式有问题。
这是我的部署文件:
name: Deploy
on:
workflow_dispatch:
inputs:
<redacted>
jobs:
deploy:
name: Deploy
runs-on: ubuntu-18.04
env:
<redacted>
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v2
- uses: azure/login@v1.1
with:
creds: ${{ <redacted> }}
- name: Generate terraform backend
uses: azure/cli@v1.0.3
with:
azcliversion: 2.11.1
inlinescript: |
<redacted>
- uses: hashicorp/setup-terraform@v1.1.0
with:
terraform_version: 0.13.0
- name: terraform Init
run: |
terraform init
- name: terraform Plan
run: |
terraform plan \
<redacted>
-out=tfplan
- name: terraform Apply
run: |
terraform apply \
-auto-approve \
tfplan
- uses: azure/setup-kubectl@v1
with:
version: 'v1.19.2'
- uses: azure/setup-helm@v1
with:
version: 'v3.3.1'
- name: Save Config
run: |
terraform output kube_config > ./aks.yml
- name: Set Env
run: |
echo ::set-env name=XXX::$(cat ./aks.yml)
- uses: azure/k8s-set-context@v1
with:
method: kubeconfig
kubeconfig: "${{ env.XXX }}"
- name: Test
run: |
kubectl get pods -o wide
我尝试使用bash一步设置KUBECONfig并获取pod,但它也失败了。有什么想法我想念的吗?预先感谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)