GCP Kubernetes 云部署与云构建

GCP Kuberentes Cloud Deploy vs Cloud build

我正在通过 github 在 GCP 集群上部署一个 kubernetes 应用程序。然后一切正常..我遇到了 cloud deploy delivery pipeline..现在我卡住了。

在此处关注 docs

apiVersion: skaffold/v2beta12
kind: Config
build:
  artifacts:
  - image: skaffold-example
deploy:
  kubectl:
    manifests:
      - k8s-*

k8s 文件夹中,我有这样的部署文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ixh-auth-depl
  labels:
    app: ixh-auth
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ixh-auth
  template:
    metadata:
      labels:
        app: ixh-auth
    spec:
      containers:
      - name: ixh-auth
        image: mb/ixh-auth:latest
        ports:
        - containerPort: 3000
        resources:
          requests:
            cpu: 100m
            memory: 500Mi

但它给出了错误 invalid kubernetes manifest。我找不到任何可读的内容,也不知道如何继续。

声明清单的正确方法是这样的。通配符可能不起作用。此处的文件夹名称为 k8s-manifests.

deploy:
  kubectl:
    manifests:
      - k8s-manifests/redis-deployment.yml
      - k8s-manifests/node-depl.yml
      - k8s-manifests/node-service.yml
  

@Abhishek Rai,我同意你的回答。 Google Cloud Deploy 使用 skaffold render 呈现您的 Kubernetes 清单,将未标记的图像名称替换为您正在部署的容器图像的标记图像名称。然后当你推广发布时,Google Cloud Deploy 使用 skaffold apply 应用清单并将图像部署到你的 Google Kubernetes Engine cluster.The 清单文件的内容应该包括 yaml 的路径文件为

deploy:
  kubectl:
    manifests:
      - PATH_TO_MANIFEST

这样就不会遇到错误了。详情请参考document