问题标签 [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.
.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 文件。有任何想法吗?!
typescript - 使用 mongoose 时出现打字稿错误(在 kubernetes 集群和 skaffold 中运行)
代码是,
现在,我遇到的错误是,
静态属性确实存在于模式对象中,并且在我 console.log(userSchema) 时会显示。我认为这与 kubernetes 和 skaffold 有关。知道如何解决这个问题吗?
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/博文。
ubuntu - sudo:无法解析主机从节点:需要在 ubuntu 20 上安装 skaffold 时,名称或服务未知
我想在 ubuntu 20 中使用 skaffold。我使用此命令进行安装:
并且它已完成下载,但在完成下载后它向我显示此消息:
我在我的 ubuntu 中安装了 kubernetes
这是我skaffold.yaml
的项目:
当我运行此命令时,它会显示此消息:
有什么问题 ?我怎么解决这个问题 ???
python - 如何访问使用 Skaffold 部署的本地 FastAPI 服务?
到目前为止,我使用 docker 和 docker-compose 在本地开发 Python 应用程序。现在,我想更改我的开发工作流程,skaffold
以docker
用作构建器、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.yaml
,deployment.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)
成功:
但是我无法通过网络浏览器访问该服务。
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
docker - 有什么方法可以配置 Skaffold 以在我的本地 Docker 守护程序而不是 minikube 的守护程序上构建图像?
我在 Linux 上使用 minikube 和 Docker 驱动程序。对于手动工作流程,我可以在 minikube 中启用注册表插件,将我的图像推送到那里并在部署配置文件中将它们简单地引用为localhost:5000/anything
. 然后它们被其 Docker 守护进程拉到 minikube 的环境中,并在此处成功开始部署。结果,我将所有基本图像都保存在我的本地设备上(当我使用本地 Docker 守护程序构建图像时),并且 minikube 的环境仅被其 Docker 守护程序拉取的图像弄乱了。
我可以在使用 Skaffold 时实现相同的工作流程吗?默认情况下,Skaffold 使用 minikube 的环境来构建镜像和运行容器,并且它在 minikube 中复制(有时甚至三重复制)我的镜像(不知道为什么)。
kubernetes - 如何使用 Skaffold 挂载 docker 配置文件?
我想使用Prometheus映像将容器部署为本地部署的一部分。通常必须使用卷和绑定挂载运行容器才能将配置文件 ( prometheus.yml
) 放入容器中:
使用 Skaffold 时如何使用 Kubernetes 实现这一点?
docker - Skaffold 开发失败
运行skaffold dev后出现此错误。
这是 skaffold.yml
我已经尝试了我在网上看到的所有可能的解决方案,包括添加 8.8.8.8 作为 DNS,但错误仍然存在。我正在使用 Linux 并运行 ubuntu,我也在本地使用 Minikube。请协助。
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