问题标签 [skaffold]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
587 浏览

.net - 如何使用引导的 .NET Core API Docker 项目运行 Skaffold?

我正在考虑使用 Skaffold.dev 来改善我使用 Kubernetes 的开发体验。

我创建了一个默认的 .NET API 项目,它会自动生成我的 docker 文件:

我已经创建了一个 Kubernetes 清单,并且使用kubectl apply.

安装 skaffold 后,我运行skaffold init并自动生成了这个

但是,当我运行时,skaffold run我得到以下信息:

我认为这是因为,当我docker build从 CLI 运行时,我必须在docker build -f Dockerfile .. 这里运行看看为什么

我只是不知道如何将其翻译成 skaffold 的 yaml 文件。有任何想法吗?!

0 投票
1 回答
135 浏览

typescript - 使用 mongoose 时出现打字稿错误(在 kubernetes 集群和 skaffold 中运行)

代码是,

现在,我遇到的错误是,

静态属性确实存在于模式对象中,并且在我 console.log(userSchema) 时会显示。我认为这与 kubernetes 和 skaffold 有关。知道如何解决这个问题吗?

0 投票
1 回答
529 浏览

kubernetes - 为什么在 skaffold dev 中重建容器时 skaffold 失败?

我正在尝试更多地了解 Kubernetes 和相关工具。这次我试图学习如何使用 skaffold 设置本地开发环境。但是,我skaffold dev只在重建时遇到了一些错误,而不是在初始构建时。我需要一些关于在哪里查看和/或如何解决该问题的提示。

我正在使用k3s本地集群。

这是我的 Kubernetes 文件:

这是我的skaffold.yaml

当我第一次跑步skaffold dev时,这就是结果。

在此处输入图像描述

如您所见 - 它似乎运行正常(这health check changed是正确的日志)。当 Kubernetes 到达/health端点时,它会记录一条消息(没有准备就绪的日志)。我也可以从我的本地机器上同时点击/health,/readiness和其他端点。

但是,如果我更改代码库的任何部分(例如更改为health check really changed),我会得到这个。

在此处输入图像描述

这将永远挂起。如果我运行kubectl get pods- 我可以看到所有的 pod 都是新的,新近重建的。如果我从其中一个中获取日志 - 我将得到正确的结果,正如预期的那样。我希望skaffold重建图像并仍然跟踪结果。它没有。

任何想法为什么?我会在哪里寻找发生了什么样的错误?

编辑:这是我用来测试它的示例存储库。https://github.com/galkowskit/k8s-skaffold-example

skaffold dev在新设置的 k3s 集群上运行时,这是我在输出中得到的。

看起来秘密有一些错误。我对如何解决这个问题感到有点迷茫。我的设置基于此https://devopsspiral.com/articles/k8s/k3d-skaffold/博文。

0 投票
1 回答
315 浏览

ubuntu - sudo:无法解析主机从节点:需要在 ubuntu 20 上安装 skaffold 时,名称或服务未知

我想在 ubuntu 20 中使用 skaffold。我使用此命令进行安装:

并且它已完成下载,但在完成下载后它向我显示此消息:

我在我的 ubuntu 中安装了 kubernetes

这是我skaffold.yaml的项目:

当我运行此命令时,它会显示此消息:

有什么问题 ?我怎么解决这个问题 ???

0 投票
2 回答
869 浏览

python - 如何访问使用 Skaffold 部署的本地 FastAPI 服务?

到目前为止,我使用 docker 和 docker-compose 在本地开发 Python 应用程序。现在,我想更改我的开发工作流程,skaffolddocker用作构建器、kubectl用作部署器以及minikube用于管理本地 kubernetes 集群。

假设我有这个用于 FastAPI 的基于 docker 的 hello world:

项目结构:

应用程序/应用程序.py

Dockerfile:

如果我运行docker build -t hello-fastapi .并且docker run -p 80:80 hello-fastapi我可以通过0.0.0.0或访问该服务localhost。我跳过docker-compose这里的东西,因为脚手架设置无关紧要。

要使用skaffold我有完全相同的项目结构和内容,但我添加了 skaffold + kubectl 特定的东西(skaffold.yamldeployment.yaml):

项目结构:

k8s/deployment.yaml

脚手架.yaml

如果我运行skaffold dev一切似乎都很好:

但是我无法通过我的网络浏览器访问该服务。如何通过网络浏览器从本地机器访问服务?

编辑

根据minikube service list服务fastapi-service存在:

但我无法通过以下方式访问它curl $(minikube service fastapi-service --url)

可能这与Unable to get ClusterIP service url from minikube 有关。如果我deployment.yaml改为

访问服务curl $(minikube service fastapi-service --url)成功:

但是我无法通过网络浏览器访问该服务。

0 投票
2 回答
262 浏览

skaffold - 如何从 skaffold 中 docker hub 的 docker 映像运行 docker 容器?

假设我想从docker hub 的图像中运行一个容器,假设我要执行mosquitto docker run -it -p 1883:1883 -p 9001:9001 eclipse-mosquitto

我试图从 gcr.io ( deployment.yaml) 中提取图像,就像这里所做的那样:

skaffold.yaml

但是,当我运行时skaffold --dev --port-forward,输出中出现错误:

在部署中运行 mosquitto 容器时,我必须如何配置skaffold.yaml架构版本 v2beta10) ?kubectl

0 投票
1 回答
230 浏览

docker - 有什么方法可以配置 Skaffold 以在我的本地 Docker 守护程序而不是 minikube 的守护程序上构建图像?

我在 Linux 上使用 minikube 和 Docker 驱动程序。对于手动工作流程,我可以在 minikube 中启用注册表插件,将我的图像推送到那里并在部署配置文件中将它们简单地引用为localhost:5000/anything. 然后它们被其 Docker 守护进程拉到 minikube 的环境中,并在此处成功开始部署。结果,我将所有基本图像都保存在我的本地设备上(当我使用本地 Docker 守护程序构建图像时),并且 minikube 的环境仅被其 Docker 守护程序拉取的图像弄乱了。

我可以在使用 Skaffold 时实现相同的工作流程吗?默认情况下,Skaffold 使用 minikube 的环境来构建镜像和运行容器,并且它在 minikube 中复制(有时甚至三重复制)我的镜像(不知道为什么)。

0 投票
1 回答
258 浏览

kubernetes - 如何使用 Skaffold 挂载 docker 配置文件?

我想使用Prometheus映像将容器部署为本地部署的一部分。通常必须使用卷和绑定挂载运行容器才能将配置文件 ( prometheus.yml) 放入容器中:

使用 Skaffold 时如何使用 Kubernetes 实现这一点?

0 投票
1 回答
824 浏览

docker - Skaffold 开发失败

运行skaffold dev后出现此错误。

这是 skaffold.yml

我已经尝试了我在网上看到的所有可能的解决方案,包括添加 8.8.8.8 作为 DNS,但错误仍然存​​在。我正在使用 Linux 并运行 ubuntu,我也在本地使用 Minikube。请协助。

0 投票
1 回答
114 浏览

docker - 将 Verdaccio Registry 与 Skaffold 一起使用

** 编辑 - 重要细节:verdaccio 也在 docker 容器中运行。问题似乎是容器到容器的通信。我将 npm 注册表设置为 localhost,但我认为它正在尝试连接到容器上下文中的 localhost,而不是容器主机。

我正在尝试从在 localhost 上运行的 Verdaccio 注册表安装包,但不确定如何更改 skaffold 配置或 dockerfile 以将注册表从 npmjs 更改为 Verdaccio。我收到的 404 错误如下:

npm 通知 npm 错误!代码 E404 npm 错误!404 未找到 - 获取https://registry.npmjs.org/@flashsparkmedia%2fcommon - 未找到 npm 错误!404 npm 错误!404 '@flashsparkmedia/common@^1.0.3' 不在 npm 注册表中。npm 错误!404 你应该让作者发布它(或自己使用名称!)npm ERR!404 npm 错误!404 请注意,您也可以从 npm ERR 安装!404 tarball、文件夹、http url 或 git url。

这是我的 dockerfile 和 skaffold.yaml 供参考:

我在根目录中还有一个 .npmrc 文件,它使用 _authToken 变量引用 localhost:4873