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

visual-studio-code - 更改 Cloud Code VSCode 扩展的 skaffold 命令

我正在使用 VSCode 的 Cloud Code 扩展,每次部署时,skaffold执行的命令如下:

在我的 skaffold.yaml 文件中,我有以下配置build.artifacts[].context.image: gcr.io/project-2/hello-world

因此,在构建步骤之后,部署继续

当然……这不是我所期待的。

在本地,我的 gcloud 正在使用一个可以访问这两个项目的帐户,以便 skaffold (docker) push 工作并且我的 gcr.io/project-1 被相应地填充。

但是我在 project-2 中的 Cloud Run 服务没有被授予访问 gcr.io/project-1 和部署的权限(image pull ) 失败。

请问,您知道在运行 Cloud Deploy(并更新目标注册表)时在哪里更改默认的 skaffold 命令吗?

谢谢

0 投票
2 回答
219 浏览

kubernetes - Kubernetes 部署中的 DNS 未按预期工作

我精通 Docker,但在这里用 K8 肯定做错了什么。我正在运行skaffoldminikube试图让容器之间的 DNS 正常工作。这是我的部署:

但是,在这种情况下my-api-node无法my-api-postgres通过 DNS 主机名联系my-api-postgres。知道我做错了什么吗?

0 投票
1 回答
620 浏览

kubernetes - 如何在 skaffold.yml 中命名版本化图像

我有一个多模块 Maven 项目(Spring Boot),我使用 JIB Maven 插件生成 docker 图像,但是我应该如何在脚手架中命名图像?我推送到本地 docker repo 和 Skaffold afaik 不支持模板。建议在 Skaffold 中引用这些图像是什么?

请记住,对于每个模块的单独图像,我需要将它们命名为:

所以别无选择,只能在 pom.xml 中对它们进行参数化。

我现在需要将主机名和端口名放入 skaffold 文件吗?处理这个自动取款机的最佳方法是什么?那么 Kubernetes 部署描述符中的名称呢?

这是 Kubernetes 部署描述符。

图片在这里应该有什么名字???


0 投票
1 回答
210 浏览

maven - 如何使用 jib 和 maven 将映像部署到 Kubernetes

我有一个环境,我可以简单地将图像(使用 Jib 创建)推送到本地存储库。我现在希望能够在 kubernetes 上部署它,但是从 maven 的“安全性”考虑。

我知道我可以旋转一些 Skaffold 魔法,但我不喜欢单独安装它。是否有一些 Jib-Skaffold 工作流程我可以用来不断强制 Skaffold 在源更改时重新部署(而不在命令行中运行它)

有 Skaffold 插件吗?我真的很喜欢他们在这里的东西,但提议的 kubernetes-dev-maven-plugin 可能只是内部的。

0 投票
3 回答
2325 浏览

kubernetes - How to use Skaffold with kubernetes volumes?

I have an python application whose docker build takes about 15-20 minutes. Here is how my Dockerfile looks like more or less

Now if I use skaffold, any code change triggers a rebuild and it is going to do a reinstall of all requirements(as from the COPY step everything else is going to be rebuild) regardless of whether they were already installed. iIn docker-compose this issue would be solved using volumes. In kubernetes, if we use volumes in the following way:

will this extra requirements build be resolved with skaffold?

0 投票
1 回答
416 浏览

kubernetes - Kubernetes LoadBalancer Service 不是负载均衡请求

我有一个在 minikube 集群中运行的简单微服务设置。它受到这个例子的启发。 我的设置包括一个简单的router微服务,其中包含一个 golang 网络服务器。我现在要测试的是当有多个 Pod 时的负载平衡。但似乎没有任何负载平衡。

微服务的 kubernetes 文件如下所示:

skaffold 配置如下所示:

Kubernetes 正确部署了两个 pod。的输出kubectl get pods如下所示:

skaffold dev日志输出中我可以看到每个请求都被路由到了router-7f75f6f9df-c8mgppod。即使使用不同的浏览器,所有请求最终都会出现在完全相同的 pod 中。

当我删除这个 pod 时,即使有另一个 pod 正在运行,路由器微服务也会有轻微的停机时间。

这种行为可能是什么问题?

0 投票
1 回答
415 浏览

postgresql - 在 k8s/Skaffold 中为 Postgres 容器映射本地卷和端口绑定

我的印象是以下命令的等效项不能放入 a Dockerfileor Dockerfile.dev

-p 5432:5432用来绑定到本地端口,所以我可以使用 pgAdmin 连接到 Postgres。这不是绝对的要求,但很高兴拥有。也许有更好的方法来做到这一点?

这样我就可以将-v /home/app/database/db-files:/var/lib/postgresql/data数据保存在本地卷上。

问题在于EXPOSEDockerfile据我所知,它只是在容器之间打开端口。VOLUMEin a的问题Dockerfile在于它只是指图像的文件系统。

我很难理解的更大问题是Skaffold 在运行容器时skaffold.yaml引用了这些Dockerfile`Dockerfile.dev`:

那么如果不能在中指定端口和映射卷,我应该如何绑定它们Dockerfiledocker run -p 5432:5432 -v /home/app/database/db-files:/var/lib/postgresql/data ishraqiyun77/database每次我想启动数据库时都需要手动运行吗?

如果有帮助,我将回购用作参考:https ://github.com/StephenGrider/DockerCasts/tree/master/complex

0 投票
1 回答
1134 浏览

docker - 无法从 Postman 的 k8s-Skaffold 中获得 Express API 的响应

尝试做一些应该很简单的事情:启动一个 Express pod 并获取localhost:5000/应该以Hello World!.

  • 我已经ingress-nginxDocker for Macminikube安装了
    • 强制kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
    • 适用于 Mac 的 Dockerkubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud-generic.yaml
    • 迷你库minikube addons enable ingress
  • 我跑skaffold dev --tail
  • 它打印出来Example app listening on port 5000,所以显然正在运行
  • 导航到localhostlocalhost:5000获得“无法获得任何响应”错误
  • 此外,尝试minikube ip了哪个是192.168.99.100并体验了相同的结果

不太确定我在这里做错了什么。代码和配置如下。建议?


index.js


脚手架.yaml


入口服务.yaml


服务器部署.yaml


服务器-集群-ip-service.yaml


Dockerfile.dev


输出自describe


输出自kubectl get po -l component=server

来自 的输出kubectl describe pods server-deployment:注意到Host Port: 0/TCP. 可能是问题?

0 投票
1 回答
838 浏览

reactjs - create-react-app 和 Skaffold kubernetes 的不稳定和缓慢的行为

我让 Skaffold 与本地开发服务器和数据库部署配合得很好。我正在尝试在create-react-app前端工作,但这种行为非常缓慢且不稳定。

问题

主要问题如下:

  1. 从运行开始需要超过五分钟skaffold dev --port-forward --tail,它最终开始旋转。运行只需docker build不到 30 秒。
  2. 当它最终开始旋转时,它又Starting the development server...静置了两分钟。
  3. 然后,十分之九,几分钟后我得到以下错误(有三个,因为那是有多少副本): 在此处输入图像描述

    十分之一的时候,它实际上会进入Compiled Successfully! You can now view in the browser.它永远不会在 Chrome 中启动。

  4. create-react-app 中对 JS 的更改永远不会反映在新浏览器中。您必须停止并再次运行 Skaffold。Skaffold 确实说Syncing 1 files for <image>... Watching for changes...,但即使刷新后也没有任何变化。

我试过的

  1. 我真的简化了我正在尝试做的事情,以便更容易解决这个问题,所以我只使用了一个 OOTBcreate-react-app应用程序。无论如何,行为都是相同的。
  2. minikube deleteminikube start多次(这样做是因为即使服务器部署在尝试后也开始出现异常create-react-app

重现的代码和步骤

我在 macOS Mojave (10.14.6) 上使用 Docker for Mac、Kubernetes (v1.16.0)、minikube (v1.4.0)、Skaffold (v0.39.0) 和create-react-app. 我将不得不跳过所有这些的安装过程,因为它相当长,所以以下步骤假设您已经设置了这个。

  1. 创建一个项目目录:

    mkdir project

  2. 创建一个 Kubernetes 清单目录并进入其中:

    mkdir k8s && cd k8s

  3. 制作一个client-deployment.yaml并添加以下内容:

    /li>
  4. 制作一个client-cluster-ip-service.yaml并添加以下内容:

    /li>
  5. 移回父级:

    cd ..

  6. 创建一个skaffold.yaml并添加以下内容:

    /li>
  7. 开始一个新create-react-app项目:

    npx create-react-app test-app

  8. 切换到目录:

    cd test-app

  9. 创建一个Dockerfile.dev并添加以下内容:

    /li>
  10. 创建一个.dockerignore文件并添加以下内容:

    /li>
  11. 回到父目录:

    cd ..

  12. 确保minikube正在运行:

    minikube start

  13. 运行skaffold.yaml

    skaffold dev --port-forward --tail

这就是给我带来问题的原因。

0 投票
1 回答
432 浏览

ruby-on-rails - 在 Minikube 中调试 Rails 应用程序

我在本地机器上的 minikube 集群内运行 rails 服务。我喜欢在我的代码中设置断点,以便与流程进行交互。这在 Minikube 中不起作用。我可以附加到运行我的 rails 容器的 pod 并点击binding.pr我的代码中的语句,而不是获得交互式断点,我只是看到 pry 尝试创建一个断点,但最终直接越过它。任何人都知道如何让这个工作?我猜部署的吊舱本身不是交互式的。