服务器错误(NotFound):找不到Deployments.extensions“生产”

时间:2019-12-03 23:11:09

标签: kubernetes gitlab kubernetes-helm

我正在努力使用Helm Charts和Gitlab Auto Devops将应用程序部署到GKE。我觉得我已经取得了很大的进步,但是我已经达到了我似乎无法弄清的东西。

我现在只有两个阶段,即“构建”和“生产”。在“生产”阶段,它在部署到消息为Error from server (NotFound): deployments.extensions "production" not found的Kubernetes后失败。我看过类似的SO问题,但似乎无法将其解决方案与我的环境相匹配。我是整个kubernetes的新手,我正在竭尽全力将事情拼凑起来,一次解决一个问题...而且有很多问题!

这是我的deployment.yml文件。我使用kompose开始使用Helm图表。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    kompose.cmd: kompose convert -c
    kompose.version: 1.19.0 ()
  creationTimestamp: null
  labels:
    io.kompose.service: api
  name: api
spec:
  replicas: 1
  strategy:
    type: Recreate
  template:
    metadata:
      namespace: {{ .Release.Namespace }}
      annotations:
        kompose.cmd: kompose convert -c
        kompose.version: 1.19.0 ()
      creationTimestamp: null
      labels:
        io.kompose.service: api
    spec:
      imagePullSecrets:
        - name: gitlab-registry
      containers:
      - image: git.company.com/company/inventory-api
        name: api
        env:
          - name: RAILS_ENV
            value: "production"
        ports:
        - containerPort: 5000
        resources: {}
        volumeMounts:
        - mountPath: /app
          name: api-claim0
      restartPolicy: Always
      volumes:
      - name: api-claim0
        persistentVolumeClaim:
          claimName: api-claim0
status: {}

2 个答案:

答案 0 :(得分:1)

我发现this线程也存在同样的问题,并最终弄清楚了如何使其对我有用。

必须将根级别元数据中的部署名称从“ api”更改为匹配Gitlab中的部署环境。在我的情况下,我必须将其更改为“生产”,然后正确部署它。

答案 1 :(得分:0)

这里有很多自动化步骤,其中任何一个都可能隐藏了问题。我很想一次运行一个阶段并建立自动化。

例如首先,我将尝试通过您计算机上的kubectl将yaml清单文件手动部署到群集中。

我还发现,GitLab Auto DevOps和GitLab Kubernetes集成特别难以使用,并且倾向于在kubetcl更高效率的情况下使用手动配置。