【问题标题】:Is possible to use local image into pods yaml in kubernetes?可以在 kubernetes 中将本地图像用于 pod yaml 吗?
【发布时间】:2018-12-10 22:16:00
【问题描述】:

可以在 kubernetes pod yml 文件中设置本地镜像吗?

这是我的 pod yml 文件,问题是我是否可以将本地图像用于容器标签(在本地,我的 api 项目、dockerfile 等都有所有文件)。

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: api-service
spec:
  selector:
    matchLabels:
      api-name: api-service
  replicas: 2
  template: 
    metadata:
      labels:
        api-name: api-service
    spec:
      containers:
        - name: api-service
          image: #HERE

【问题讨论】:

    标签: docker kubernetes dockerfile


    【解决方案1】:

    本地是指它不是从 dockerhub 或任何公共注册表中提取的。是的,如果您运行单节点 Kubernetes,这是可能的。您将利用运行 kubernetes/kubelet 的 docker 缓存。

    首先,您需要设置 imagePullPolicy: IfNotPresent。然后,当您构建镜像时,您需要指向您的 Kubernetes 正在使用的 docker 实例。

    我主要使用 minikube 执行此操作,因此无需推送到我的注册表,开发迭代会更快。

    【讨论】:

    • 如果我需要使用集群并使用许多副本集和一些服务器实例,我需要遵循这种方式对吗?使用 dockerhub?
    • 是的,您需要一个 docker 注册表。不是特别是 dockerhub。您可以使用 nexus (sonatype.com/nexus-repository-oss) 或 Harbor (github.com/goharbor/harbor) 设置您的内部注册表
    • 非常感谢!我很感激......@Bal Chua
    • 看起来imagePullPolicy可以在YAML文件中设置,作为容器元素的一部分,但是你指向哪里的Docker实例呢?
    • @Panzercrisis kubelet 只会与运行 kubelet 的容器运行时(docker 或 containerd)对话。也许我没有得到你的问题。
    猜你喜欢
    • 2021-11-13
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 2012-08-16
    • 2021-11-23
    相关资源
    最近更新 更多