问题标签 [minikube]

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 投票
4 回答
8710 浏览

kubernetes - Minikube 将在 localhost 上运行的 MySQL 公开为服务

我的机器上运行着 minikube 版本 v0.17.1。我想模拟我在 AWS 中的环境,我的 MySQL 实例将在我的 Kubernetes 集群之外。

基本上,如何将我机器上运行的本地 MySQL 实例暴露给通过 minikube 运行的 Kubernetes 集群?

0 投票
1 回答
698 浏览

docker - 为什么本地工作的服务会在 docker 中频繁收到终止信号?

我在 minikube (kubernetes) 开发环境中的 docker 容器中托管了一个通用反应应用程序。我使用 virtualbox,实际上我在这个 vm 上有更多的微服务。

在这个 react 应用程序中,我使用pm2在更改服务器代码时重新启动我的应用程序,并webpack hmr在更改客户端代码时热重载客户端代码。

每说 15-45 秒,pm2就会向我记录以下消息,表明应用程序由于SIGKILL.

我一生都无法弄清楚为什么会这样。它相对频繁,但不是那么频繁,以至于每秒都发生一次。这很烦人,因为每次发生这种情况时,我的 webpack 包都必须重新编译。

pm2在这种类型的开发环境中可能会收到 SIGKILL 的一些原因是什么?另外,有哪些可能的调试方法?

我注意到我的使用 pm2 在服务器更改时重新启动的服务在它们只是后端服务时没有这个问题。即当他们没有webpack. 此外,我在我的应用程序的 prod 版本中没有看到这些 SIGKILL 问题。这对我来说表明 webpack hmr setup、pm2 和 minikube / docker 的组合存在一些问题。

我已经在本地(不在 docker /minikube 中)尝试了该应用程序,它没有任何 sigkills 就可以正常工作,因此它不能单独使用 webpack hmr。Kubernetes 会杀死使用大量内存的服务吗?(也许它认为我的应用程序正在使用大量内存)。如果不是这样,kubernetes 或 docker 发送 SIGKILL 的原因可能是什么?有没有办法调试这个?

非常感谢任何指导。谢谢

0 投票
2 回答
3343 浏览

kubernetes - “无法检查图像 XXX:图像 XXX 的 ID 或大小未设置”?

我正在尝试将 Docker 容器部署到本地运行的 minikube 实例,并在尝试拉取(?)图像时收到此错误。该映像存在于自托管的 Docker 注册表中。我正在测试的图像是使用以下 Dockerfile 构建的:

我正在使用 fabric8iokubernetes-client库来创建这样的部署:

这一切都在 Arch Linux 内核上运行Linux 4.10.9-1-ARCH x86_64 GNU/Linux。使用minikube 0.18.0-1kubectl-bin 1.6.1-1来自 AUR、docker 1:17.04.0-1来自社区存储库和位于(撰写本文时)的 dockerregistry容器。fabric8io是版本。latest2.6.1kubernetes-client2.2.13

我检查过:

  • 自托管注册表通过 HTTPS 正确运行
  • 甚至可以拉出图像。docker pull并且docker run在主机和 minikube VM 内部都按预期工作
  • 图像运行。往上看
  • minikube 中没有任何名称冲突/等。为了安全起见,我在尝试之间删除了部署、副本集和 pod,并重新创建了命名空间。但是,我发现这并没有什么不同,因为我的代码会根据需要清理现有的 Pod/副本集/部署
  • 据我所知,DNS 不是问题

我没有:

  • 在本地运行 kubernetes(而不是 minikube),因为 kubernetes 的 AUR 包在我的机器上构建需要非常长的时间
  • 通读kubernetes源代码,因为我不懂golang

检查minikube dashboard时,Deployments、Replica Sets 和 Pods 的部分都有相同的错误:

并且 pod 日志永久卡在

查看提供的错误消息将我带到https://github.com/kubernetes/minikube/issues/947,但这不是同一个问题,kube-dns正如预期的那样。这是唯一相关的搜索结果,因为出现的其他结果是

  • 甚至不包含相关错误消息的 Slack 聊天室档案
  • kubernetes 源码,对我没有帮助
  • kubernetes/minikube #947,同上

老实说,我不确定从这里去哪里。任何意见,将不胜感激。

0 投票
1 回答
1811 浏览

virtualbox - 在 Mac 上,什么 IP 将代表 minikube 集群中的笔记本电脑?

我在我的 Mac 笔记本电脑上运行 minikube。我正在使用 VirtualBox 来托管 minikube 虚拟机,遵循官方说明

我想要一个要部署到集群中的 pod,以便能够 ping 将在我的笔记本电脑上运行的服务器。假设(现在)我没有定义 ExternalName 类型的 Kubernetes 服务来表示该服务器,我应该在我的 pod 中运行的程序中使用什么 IP 或主机名?

编辑:从我的 pod 我可以ping 10.0.2.2得到答案。然而,试图在我telnet碰巧有一个 H2 数据库运行的10.0.2.2端口9092上,只是挂起。

最后,minikube ssh这显然让我进入了 VirtualBox VM,也许吧?运行为docker?导致上述所有相同的行为,以防万一这很重要,这表明这基本上是一个关于 VirtualBox 的问题。

编辑#2:VirtualBox 的重新启动解决了连接问题(!)。尽管如此,10.0.2.2对我来说仍然像魔术一样;我想知道这个IP是从哪里来的。

0 投票
2 回答
979 浏览

docker - 本地部署在 minikube 上

我已经通过使用 docker-files 直接在本地部署和创建服务 (socketcluster请参阅此链接以获取文件)。而且我还使用我提到的链接中提供的文件在同一个集群中创建了一个服务。据我了解,默认情况下,这些服务属于类型。scc-brokerscc-statekubernetesminikube.yamlingress.yamlClusterIP

服务的部署在 vm (minikube) 上正常工作。状态设置为在 Kubernetes 仪表板上运行

  • 豆荚

  • 部署

但我面临的问题是 scc-state、scc-broker、socketcluster 服务器没有暴露公共端点。所以目前我无法理解如何从外部访问服务,即在虚拟机之外(在 minikube 上运行)。

这些图像是直接从 kubernetes yml 文件构建的,并且禁用了入口 TLS 安全性。

我是否错过了有关如何访问主机上的 socketcluster 的任何方面?我是否应该将服务类型指定为任何其他类型,而不是ClusterIP我知道使用此类型可确保服务仅在集群中公开。但我再次怀疑,如果我正在使用ingress,它应该有助于访问 vm 之外的服务。我需要ingress controller单独使用 NGINX 吗?

任何线索将不胜感激。

谢谢!

PS 按照指南进行部署。

0 投票
14 回答
105500 浏览

kubernetes - 如何在 gcloud 和 minikube 之间切换 kubectl 集群

我让 Kubernetes 在两种不同的环境中运行良好,即在我的本地环境(运行 minikube 的 MacBook)和谷歌的容器引擎(GCE,谷歌云上的 Kubernetes)上。我使用 MacBook/本地环境来开发和测试我的 YAML 文件,然后在完成后在 GCE 上试用它们。

目前我需要单独处理每个环境:我需要在本地环境中编辑 YAML 文件,准备好后,(git)将它们克隆到 GCE 环境,然后使用/部署它们。这是一个有点麻烦的过程。

理想情况下,我想使用我的 Macbook 中的 kubectl 在本地 minikube 或 GCE Kubernetes 环境之间轻松切换,并轻松确定 YAML 文件的使用位置。有没有一种简单的方法来切换上下文来做到这一点?

0 投票
3 回答
4860 浏览

docker - Kubernetes pod 未启动,在代理后面运行

我在 minikube 上运行 kubernetes,我在代理后面,所以我在 /etc/systemd/system/docker.service.d/http-proxy.conf 中为 docker 设置了环境变量(HTTP_PROXY 和 NO_PROXY)。我能够做 docker pull 但是当我运行下面的例子时

吊舱永远不会启动,我得到了错误

desc = unable to pull sandbox image \"gcr.io/google_containers/pause-amd64:3.0\"

docker pull gcr.io/google_containers/echoserver:1.4工作正常

0 投票
3 回答
3454 浏览

kubernetes - 服务在 Kubernetes 中不可用

我有一个在本地运行的 minikube 集群(v0.17.1),有两个部署:一个是 Redis 实例,一个是尝试连接到 Redis 实例的自定义应用程序。我的配置或多或少是从官方文档和Kubernetes 留言簿示例中复制/粘贴的。

服务定义和部署:

应用部署:

相关(我希望)Kubernetes 信息:

pollerpod(自定义应用程序)内部,我获得了为 Redis 创建的环境变量:

但是,如果我尝试连接到该端口,则无法连接。做类似的事情:

失败。

我注意到的是,我无法通过其 ClusterIP 访问 Redis 服务,但我可以通过运行 Redis 的 pod 的 IP。

请问有什么想法吗?

0 投票
1 回答
57 浏览

kubernetes - 是否可以在vmplayer上运行fabric8

是否可以在vmplayer而不是virtualbox上运行fabric8。?它的驱动程序名称是什么。?

0 投票
1 回答
666 浏览

mysql - Mysql 无法写入 minikube 创建的持久卷

我正在尝试使用 hostPath 将具有持久卷的 minikube mysql pod 部署到 Mac 主机上的 /data 或 /Users 目录。但是,创建的目录总是具有错误的权限,mysql 无法访问或写入该目录。如果我运行minikube ssh并运行,chmod -R 777 /data/db/那么 mysql 运行良好。有没有办法让 minikube 设置正确的权限?

我得到的错误是

我的容器定义是

以及minikube创建的目录的默认权限