来自服务器的错误(NotFound):创建 STDIN 时出错:找不到命名空间 gitlab-runner

Md *_*ous 2 continuous-deployment gitlab gitlab-ci kubernetes

我正在使用 GitLab 设置 CI CD 管道。文件.gitlab-ci.yml部署部分如下所示。

Deploy to DEV:
  variables:
    GCP_PROJECT_ID: <>
    GOOGLE_IMAGE_NAME: <>
    CLUSTER_NAME: <>
    ZONE: <>
  image: gcr.io/cloud-builders/kubectl
  stage: deploy
  before_script:
    - curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"  | bash
    - mv kustomize /usr/local/bin/
  script:
    - gcloud auth activate-service-account --key-file ${GOOGLE_APPLICATION_CREDENTIALS}
    - gcloud container clusters get-credentials $CLUSTER_NAME --zone $ZONE --project $GCP_PROJECT_ID
    - cd .k8s/overlays/dev
    - kustomize edit set image <IMAGE_NAME>=gcr.io/$GCP_PROJECT_ID/$GOOGLE_IMAGE_NAME:$VERSION-$CI_COMMIT_SHORT_SHA
    - kustomize build . 
    - kustomize build . | kubectl apply -f -
  only:
    refs:
      - merge_request
      - master
  when: manual
Run Code Online (Sandbox Code Playgroud)

它显示错误Error from server (NotFound): error when creating STDIN: namespaces gitlab-runner not found

但我还没有定义任何名为 的命名空间gitlab-runner。该集群没有任何具有该名称的命名空间。这是从哪里来的?

Md *_*ous 6

对于遇到相同或类似问题的任何人,我终于能够通过namespace: default在部署 yaml 中明确提及来解决它。我想既然部署位于默认命名空间中,我就不必指定命名空间。但指定它为我解决了这个问题。

我仍然不知道是什么导致了这个问题。

  • 或者,您可以使用:`kubectl config set-context --current --namespace=default` (4认同)