如何将容器部署到kind等本地kubernetes环境?

问题描述

我在本地构建了一个 docker 镜像。它的名字是 myapp。

将其部署为 myjob.yaml

apiVersion: batch/v1beta1
kind: CronJob
Metadata:
  name: myapp
spec:
  schedule: "*/2 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
            - name: myapp
              image: myapp

使用 kind 作为本地 k8s 集群环境。加载此图片

kind load docker-image myapp

部署应用:

kubectl apply -f myjob.yaml

确认pods的日志,可以找到图片myapp

是否有必要在本地创建一个容器注册来提供图像?

解决方法

根据@David Maze 评论提供答案。

a note in the kind documentation 指定带有隐式 image: myapp 标记的 ...:latest 将导致集群尝试再次拉取映像,因此您需要一个 per-build 标记(首选)或明确指定 imagePullPolicy: Never

enter image description here