gpt4 book ai didi

kubernetes - 如何让 Skaffold 和 Helm 图表与本地镜像存储库一起使用?

转载 作者:行者123 更新时间:2023-12-02 11:33:11 25 4
gpt4 key购买 nike

我们正在尝试在 Skaffold 下建立一个包含多个微服务应用程序的本地开发环境。我们使用 https://github.com/ahmetb/skaffold-from-laptop-to-cloud 上的(稍微过时的)教程设法使用基本 Skaffold 来做到这一点。 .为了让 Skaffold 在没有 Helm 的情况下将图像推送到本地存储库,我所要做的就是将 imageName 设置为使用 localhost:5000/image_name 之类的东西。

但是有了 Helm,好吧.... Helm 图表的/templates 目录,然后被炸毁了。

Skaffold 然后成功地创建了任何依赖于股票外部图像(如 redis)的 pod,但是当任何东西使用从本地 Dockerfile 生成的图像时,它就会卡住并抛出这个错误:

Failed to pull image "localhost:5000/k8s-skaffold/php-test": rpc error: code = Unknown desc = Error response from daemon: Get http://localhost:5000/v2/: dial tcp [::1]:5000: connect: connection refused



据我所知,这就是我们没有初始化本地 Docker 镜像存储库时出现的错误——但是对于非 Helm 版本,我们不需要启动本地镜像存储库,Skaffold 就是这么神奇发生。这是 Skaffold 吸引力的一部分。

那么我们如何自动让 Skaffold 创建 Helm 图表,从本地存储库中创建和拉取? (如前所述,这可能是我对 Helm 的不熟悉。如果是这样,我很抱歉。)

Skaffold YAML 是这样的:
apiVersion: skaffold/v1beta7
kind: Config
build:
tagPolicy:
sha256: {}
artifacts:
- image: localhost:5000/k8s-skaffold/php-test
context: voting-app/php-test
deploy:
helm:
releases:
- name: php-help-test
chartPath: helm
#wait: true
#valuesFiles:
#- helm-skaffold-values.yaml
values:
image: localhost:5000/k8s-skaffold/php-test
#recreatePods will pass --recreate-pods to helm upgrade
#recreatePods: true
#overrides builds an override values.yaml file to run with the helm deploy
#overrides:
# some:
# key: someValue
#setValues get appended to the helm deploy with --set.
#setValues:
#some.key: someValue

Helm Chart values.yaml 是生成的图表提供的默认值。如果需要,我也可以提供 Dockerfile,但它只是从该图像中提取的。

最佳答案

您不能使用 localhost在您的图像定义中。为了测试,您可以尝试使用运行私有(private)注册表的主机的 ip,假设主机的地址为 222.0.0.2,然后使用 image: 222.0.0.2:5000/k8s-skaffold/php-test .

硬编码地址当然是不可取的,因此更好的方法是完全省略“主机”部分;

  image: k8s-skaffold/php-test:v0.1

在这种情况下,您的 CRI(容器运行时接口(interface))插件将尝试一系列服务器,例如 docker.io .服务器是可配置的,但不幸的是我不知道如何为“docker”配置它,因为我使用 cri-o我。

关于kubernetes - 如何让 Skaffold 和 Helm 图表与本地镜像存储库一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55496830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com