问题标签 [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 回答
298 浏览

spring-boot - Skaffold dev 仅适用于 minikube。其他本地集群失败

我有一个配置了 jib-maven 的 Spring Boot 应用程序

聚甲醛

SKAFFOLD.YAML

还设置不安全的注册表

但是当使用minikube时我可以成功运行

当使用其他集群(ON-PREM)时,我得到

可能是什么问题?

我今天使用 kubectl 上下文重新启动

它失败了

我认为 minikube 有效。但是禁用缓存无法构建

如果我跑

工作正常

但是如果我在禁用缓存的情况下运行

失败它显示上面的日志

0 投票
0 回答
135 浏览

docker - Skaffold:AMD64 开发机器 (Mac),远程集群 ARM64 正在挑选 AMD64 映像

使用 Skaffold 构建多架构 docker 映像之后,我已经能够成功地继续构建我的多架构(AMD64 和 ARM64)映像。

但是,看起来 kubernetes 集群最终会拉取 AMD64 映像,正如我所看到的:

在日志中。

我查看了https://skaffold.dev/docs/references/yaml/但这似乎并没有说明我如何确保它使用正确的架构。

提前致谢。

0 投票
3 回答
687 浏览

google-cloud-platform - Skaffold vs Spinnaker

我已经阅读了关于在 GCP 中实现持续交付管道的两种方法(可能还有更多):

  • 支架
  • 大三角帆 + 容器生成器

我在 Quiklabs 中与这两者都有过合作。如果有人对两者都有实际经验,您能否分享一下他们之间的优缺点?你为什么选择一个而不是另一个?

使用 Skaffold 的管道(来自文档https://skaffold.dev/docs/pipeline-stages/):

  • 检测源代码更改
  • 构建工件
  • 测试工件
  • 标记工件
  • 渲染清单
  • 部署清单
  • 尾日志和转发端口
  • 清理图像和资源

使用 Spinnaker + Cloud Builder 的管道:

  • 开发商:
    • 更改代码
    • 创建一个 git 标签并推送到 repo
  • 容器生成器:
    • 检测新的 git 标签
    • 构建 Docker 镜像
    • 运行单元测试
    • 推送 Docker 镜像
  • Spinnaker(来自文档https://www.spinnaker.io/concepts/):
    • 检测新图像
    • 部署金丝雀
    • 割接人工审批
    • 部署 PROD(蓝/绿)
    • 拆掉金丝雀
    • 销毁旧产品
0 投票
1 回答
1366 浏览

node.js - 如何修复:TypeError [ERR_FEATURE_UNAVAILABLE_ON_PLATFORM]:在启动脚本中使用 ts-node-dev 时

我正在使用 express、docker 和 Kubernetes 编写一个 node.js 应用程序。node -v 是 v12.16.3 Docker 版本 19.03.1,使用 minikube 构建 74b1e89e8a Kubernetes

我创建了一个名为 auth 的服务,当我尝试使用 skaffold dev 命令部署它时,出现以下错误

bwlow 是 package.json 文件

泊坞窗文件

下面是 skaffold.yaml

0 投票
1 回答
260 浏览

docker - 如何修复 minikube - skaffold 本地环境的服务端口?

目前我正在使用带有 Skaffold + Minikube 的本地环境,每次我像这样启动集群时:

skaffold dev -f='./skaffold-cluster.yaml' --no-prune=false --cache-artifacts=false --status-check=false

我得到了一堆属于我的 skaffold 清单的服务,但是这些服务中的每一个都使用随机端口公开。ip 是一样的,因为 minikube 已经启动了。

如果我这样做:minikube service nice-service --url 我将使用随机 PORT 获得服务。

我希望能够修复这个端口。但我不知道这是否应该在 k8s 配置/skaffold/minikube/docker 中考虑?

典型用例:我想mysql从 sequel pro / workbench 或任何工具访问...因此,此配置使用端口保存在本地...不必更改此工具中的端口即可访问mysql的minikube服务...

当前设置有:操作系统系统中的 Virtualbox,带有 minikube 和 skaffold。服务被暴露为 k8s 服务节点端口。

是否可以修复此端口服务?

0 投票
1 回答
150 浏览

minikube - Minikube存储泄漏如何分析?

我有一个带有 2 个 PV 的本地集群

1 对于 20Gb 的 mysql 转储

1 对于大约 10Gb 的 Mongo db

一堆不同的服务,主要是大约 400Mb 或更少的图像,以及 1 个 2.1Gb 图像的遗留。

我正在运行 Skaffold + Minikube + VirtualBox

我从 mysql 收到以下错误:

然后我开始查看当前的系统内存,如下:

我得到以下信息:

我运行以下命令:

我得到以下信息:

我看到这/mnt/sda1可能是主要问题,但我无法追踪 sda1 是如何填充的。我怎样才能看到内容 /dev/sda1 以及填充此设备的可能有罪进程?

我还执行了以下命令:

docker image prune删除未使用的图像 docker volume prune删除未使用的卷

考虑到带有清理的文档,我还运行 skaffold: skaffoold -f="file-skaffold-config" --no-prune=false --cache-artifacts=false

docker rmi -f [IMAGE_ID]按 ID 删除特定图像并查看删除此图像是否最终会释放 /dev/sda1 中的一些空间

但是我的 sda1 看不到更好的情况,这意味着它minikube ssh "df -h"显示的结果与以前完全相同。

我如何使用 minikube / skaffold / docker 查看正在填充的内容/dev/sda1

0 投票
1 回答
1597 浏览

kubernetes - skaffold 找不到它刚刚构建的图像

我有以下脚手架

前两个图像构建得很好。而第三个失败。第二个构建取决于第一个,第三个取决于第二个。然而,第三个失败了,"MANIFEST_UNKNOWN: manifest unknown"因为它试图从 docker hub 中检索它。如果我将第三个构建的上下文更改为 docker(这将使镜像构建失败),skaffold 会找到本地镜像。我能做些什么来保持正确的上下文并让 skaffold 意识到它不应该从 docker hub 中提取,而是使用本地构建的图像?

0 投票
10 回答
38203 浏览

docker - 遇到至少一个无效签名

我正在尝试使用 minikube 构建微服务映像并将其部署到在我的开发机器上运行的单节点 Kubernetes 集群。我正在使用 Google 的云原生微服务演示应用程序 Online Boutique 来了解 Kubernetes、Istio 等技术的使用。

链接到 github 仓库:microservices-demo

在遵循安装过程并运行命令skaffold run来构建和部署我的应用程序时,我收到了一些错误:

我在尝试构建负载生成器时收到这些错误。我该如何解决这个问题?

0 投票
2 回答
753 浏览

javascript - 将 Kubernetes 与 Skaffold 一起使用并运行 Next JS 在 Chrome 中的 HTTPS 下会产生“您的连接不是私有的”

我正在使用开发中的一些应用程序运行 Skaffold:

Skaffold.yaml

客户端的 Dockerfile:

客户端 depl.yaml

skaffold dev从命令行执行时,一切都完美编译:

我在 Windows 等文件夹的 Hosts 文件中添加了域:

但是,在 Chrome 中输入时,ticketing.dev我得到:

在此处输入图像描述

如何在 Chrome 中运行该应用程序并克服此消息?

0 投票
1 回答
646 浏览

docker - skaffold 不会在 minikube 中重新加载 golang 代码

我一直在尝试使用本地 minikube 安装的 skaffold。能够在尽可能接近生产的东西上开发您的项目真是太好了。

如果我使用skaffold github repo 上提供的入门示例,一切正常,我的 IDE(intellij idea)在断点处停止,当我修改代码时,更改会立即反映。

现在,在我的个人项目中,它比简单的 main.go 文件更复杂一些,但事情并没有按预期工作。IDE 在断点处停止,但即使我在控制台中看到 skaffold 检测到对该特定文件所做的更改,但热代码重新加载也没有发生,但不幸的是,这些更改没有反映/应用。

一个docker文件用于构建镜像,docker文件如下

在 kubernetes 方面,我正在创建一个部署和一个服务,如下所示:

至于 skaffold,这里是 skaffold.yaml 文件:

我已启用详细日志记录,每当我保存 (CTRL+S) 源代码文件时,我都会在输出中注意到这一点。

我假设这意味着已检测到更改。

断点在 IDE 中正常工作,但 kubernetes 中的代码交换似乎没有发生