问题标签 [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.
kubernetes - 同时部署副本
使用默认设置,由n
服务副本组成的部署在部署期间将遵循以下顺序:
启动 pod 1
-> 等待 pod1
准备好
pod1
准备好后,启动 pod 2
-> 等待 pod2
准备好
...
一旦 podn-1
准备好,启动 pod n
-> 等待 podn
准备好
在我的应用程序中,服务需要几分钟才能接受流量(准备就绪)。因此,我想将我的部署配置为:
启动 pod 1
-> 启动 pod 2
... -> 启动 podn
一旦所有 pod 都启动,等待pod1
准备n
就绪。
我该如何配置?
bash - 在 skaffold 部署期间提取 pod 日志
我们使用 k3s 和 skaffold 对我们在本地部署的应用程序(到 CI 构建代理)运行一些自动化测试。
我们如何在运行时查看(stdout 或文件)pod 日志skaffold deploy --status-check
?(我们在部署过程中遇到了错误,除非我们通过 ssh 连接到构建代理,否则我们看不到这些错误。)
以下,在部署成功后运行时,会捕获日志,但如果我们在运行之前运行它skaffold deploy
,这将不起作用,大概是因为它没有拾取运行此命令后启动的任何 pod:
的输出skaffold deploy --status-check
看起来像这样:
google-kubernetes-engine - 模棱两可的警告:“WARN[0064] 图像 [gcr.io/wired-benefit-XXXXX/demoapp] 未被部署使用”
预期行为
不应显示声明的警告。
实际行为
每次我进行更改并触发重新部署时,都会收到如下错误:
WARN[0064] image [gcr.io/wired-benefit-XXXXX/demoapp] 没有被部署使用
然而,图像已通过更新的更改进行了修改,所以我不确定错误表示什么,
信息
- Skaffold版本:版本... v1.15.0
- 操作系统:... MacOS Catilina 10.15.16
- skaffold.yaml 的内容:
K8s manifest 的内容:
重现行为的步骤
- 一个非常基本的入门演示应用程序
skaffold dev
- 任何更改... docker build 通过 skaffold 甚至推送到注册表成功
但是,变化并没有体现出来。可能是标签相关的问题。当我手动将映像名称设置为最新的部署时,应用程序更改工作。
kubernetes - Skaffold dev 只是挂起第一次部署消息失败
我正在向我的 Kubernetes 集群添加一个 NextJS 前端。我添加了以下文件:
到我的infra/k8s/
目录,然后ingress-srv.yml
像这样重新配置:
和skaffold.yml
文件:
当我运行skaffold dev
它时,它挂在这里:
有任何想法吗?
我也在运行 Docker 桌面和 Kubernetes。由于这是一个微服务应用程序,我认为 Kubernetes 可能需要更多资源。我试图添加更多资源,但这并没有解决问题。
minikube - 有没有办法使用 skaffold 配置加载私有图像而不构建它?
我创建了一个 mock.Dockerfile,它只包含一行。
使用该配置和对它的构建部分的引用,skaffold 使用私有 GCR 注册表构建该 dockerfile。但是,如果我删除该 Dockerfile,skaffold 不会构建它,并且在启动 skaffold 时它只会加载该build
部分中引用的图像(公共图像,如 postgres 也可以)。所以在本地 kubernetes 配置中,比如 minikube,这会导致
所以基本上当我创建一个单行 Dockerfile 并包含它时,skaffold 会构建该图像并将其加载到 minikube 中。现在可以更改 minikube 配置,以便对 GCR 的请求成功,但目标是开发人员不必更改他们的 minikube 配置...
有没有其他方法可以将该图像加载到 Minikube 中,而无需更改配置且无需该单行 Dockerfile?
skaffold.yaml:
node.js - 带脚手架的 NodeJS:如何设置开发环境?
我正在尝试使用 Skaffold 为我的 Nodejs 项目设置开发环境来处理 k8s。我注意到有时出现错误(通常是语法错误导致我使用自动保存),整个本地服务器似乎停止工作并且没有显示错误消息。有时它可以自行修复,但大多数时候我必须重新启动 skaffold。我不知道是什么导致了问题,因为错误消息每次都可能不同:“无法连接到 pod ...”、“502 错误”、“由于同步错误而跳过部署”...
这是我用于节点的简单 dockerfile:
包.json
部署 yaml
入口配置 yaml
脚手架 yaml
kubernetes - Skaffold 未检测到 js 文件更改
当我在 auth 目录中的 index.js 文件中进行更改时,skaffold 坚持观察更改...我重新启动但每次更改时都会卡住
同步 1 个文件进行测试/测试验证:941b197143f22988459a0484809ee213e22b4366264d163fd8419feb07897d99
关注变化...
我的 skaffold.yaml 文件是
如果我更改 signup.js 或 index.js 支架卡住了。请帮助我!
spring-boot - 如何使用带有 skaffold 和 dekorate 的 spring boot maven 插件 build-image?
我正在尝试使用 Skaffold、Dekorate 和 Spring Boot。
我找不到任何使用 Spring Boot 2.3+ 的新 buildpack 功能的示例
当我运行 skaffold dev 时出现错误:exiting dev mode because first build failed: the custom script didn't generate an image with tag [tellus-config-server:RELEASE_2020_2_0-226-g9be76a373-dirty]
然而,从日志看来,图像是构建的......
spring-boot - 运行 skaffold dev 后 Minikube 节点未准备好 - 反复发生
我正在运行 skaffold dev 并且 minikube 一直卡住。
我可以停止并启动 minikube,它通常会恢复。
警告 ContainerGCFailed 是问题,还是我应该调查:
PLEG is not healthy: pleg was last seen active 4m19.322678359s ago; threshold is 3m0s
kubernetes - Kubernetes Ingress Skaffold 文档
我正在尝试将入口添加到我的 Kubernetes 文档中。我能够添加 ingress.yaml 文件,并且有大量关于 ingress.yaml 的文档,但我使用 skaffold.yaml 来处理 Kubernetes 部署的细节。而且我找不到任何有关为入口创建 skaffold 文件的文档。(仅使用 googleCloudBuild、buildpacks 和 minikube)我遇到的所有文档都是针对 NGINX 的。
我的项目如下所示:
我当前的 skaffold 文件如下:
这个当前的 skaffold 文件没有部署在入口架构中,它使用后端和前端层。