【发布时间】:2023-02-13 09:45:13
【问题描述】:
我有以下 .gitlab-ci.yml 配置:
deploy:
stage: deploy
image:
name: bitnami/kubectl:latest
entrypoint: ['']
script:
- echo "Hello, Rules!"
- kubectl config get-contexts
- kubectl config use-context OurGroup/our-repo:agent-0
- kubectl get pods
rules:
- if: '$CI_COMMIT_REF_NAME == "master"'
when: manual
allow_failure: true
- if: '$CI_COMMIT_REF_NAME == "develop"'
when: manual
allow_failure: true
tags:
- docker
这会因以下错误而失败:
无法连接到服务器:x509:由未知授权机构签署的证书
我们正在运行一个带有自签名证书的自托管 gitlab 实例。问题是 bitnami/kubectl:latest 是一个非 root docker 容器,它在官方 gitlab docu 中有描述: https://docs.gitlab.com/ee/user/clusters/agent/ci_cd_workflow.html#update-your-gitlab-ciyml-file-to-run-kubectl-commands
我已经尝试使用“echo "$CA_CERTIFICATE" > /usr/local/share/ca-certificates/my-ca.crt && update-ca-certificates" 来注入证书,但由于没有权限和 SUDO 而失败存在于这个容器中。
kubectl get certificates 因无法连接到本地主机而失败:8080
关于如何获得自签名证书以与 kubectl 和代理身份验证连接工作的任何指示,或者什么可能被认为是使这项工作安全的方法?
【问题讨论】:
-
你有没有找到解决这个问题的方法?我刚刚遇到了完全相同的问题。
标签: kubernetes gitlab kubectl gitlab-ci-runner bitnami