簡體   English   中英

在 gitlab ci 作業中使用 kubectl 創建 ImagePullSecret 時出現奇怪錯誤

[英]Strange Error while creating ImagePullSecret with kubectl in gitlab ci job

我正在嘗試將私有 gitlab 注冊表中的映像部署到由 gitlab 連接和管理的自托管 kubernets 集群。 據我了解,我需要在我的部署配置中創建和引用一個 ImagePullSecret 才能使其工作。 Gitlab 正在為每個項目創建一個命名空間,所以我試圖在我的 CI 作業開始時創建一個秘密。 奇怪的是,盡管存在所有必需的參數,但我總是收到錯誤,即缺少參數。 我究竟做錯了什么?

這是我的 gitlab-ci.yml 中的 CI-Job

deploy-app:
  stage: deploy
  image:
    name: bitnami/kubectl:latest
    entrypoint: [""]
  script:
    - kubectl create secret docker-registry gitlab-registry --docker-username=$CI_DEPLOY_USER --docker-password=$CI_DEPLOY_PASSWORD --docker-server=$CI_REGISTRY --dry-run=client -o yaml | kubectl apply -f -
    - kubectl apply -f k8s/configmap.yaml
    - kubectl apply -f k8s/deployment.yaml
    - kubectl apply -f k8s/service.yaml
    - kubectl apply -f k8s/ingress.yaml
  environment:
    name: production
    url: <my-url>
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH

CI-Job 總是遇到以下錯誤:

error: either --from-file or the combination of --docker-username, --docker-password and --docker-server is required

我試圖直接在服務器上運行命令而沒有錯誤,所以這與這個特定環境有關。 有人對另一種方法有想法嗎? 我現在有點失落。

正在創建的 kubectl secret 可能不在 corret 命名空間中。 由於您提到不同項目有命名空間,因此請確保在正確的命名空間中創建機密。 對於其他命令,您也可以提及命名空間。 如果未提及命名空間,則這些 kubectl 命令將在“默認”命名空間中執行。

deploy-app:
  stage: deploy
  image:
    name: bitnami/kubectl:latest
    entrypoint: [""]
  script:
    - kubectl create secret --namespace $namespace docker-registry gitlab-registry --docker-username=$CI_DEPLOY_USER --docker-password=$CI_DEPLOY_PASSWORD --docker-server=$CI_REGISTRY --dry-run=client -o yaml | kubectl apply -f -
    - kubectl apply -f k8s/configmap.yaml --namespace $namespace
    - kubectl apply -f k8s/deployment.yaml --namespace $namespace
    - kubectl apply -f k8s/service.yaml --namespace $namespace
    - kubectl apply -f k8s/ingress.yaml --namespace $namespace
  environment:
    name: production
    url: <my-url>
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM