当前位置: 首页 > 知识库问答 >
问题:

操作方法:访问本地迷你库贝集群,并在 VSCode 开发容器内运行?

景永春
2023-03-14

我有一个在 Windows WSL2 上运行的迷你库贝集群,我有一个开发容器 https://code.visualstudio.com/docs/remote/create-dev-container)运行我的 React 应用程序和 Kubernetes CLI 工具。我的目标是容器化应用程序并在 minikube 集群上运行它。

所以现在我已经向我的Dev容器公开了minikube的本地配置和认证,并且我将它用作默认的KUBECONFIG。我有一个部署,Docker映像也准备好了,所以下一步是尝试使用部署并在集群上运行。

当我在Dev Container中运行kubectl命令时,会收到如下错误消息:

The connection to the server 127.0.0.1:51515 was refused - did you specify the right host or port?

当我检查迷你库贝容器时,我看到它只听本地主机

gcr.io/k8s-minikube/kicbase:v0.0.28                          "/usr/local/bin/entr…"   3 hours ago          Up 3 hours          127.0.0.1:58892->22/tcp, 127.0.0.1:58893->2376/tcp, 127.0.0.1:58895->5000/tcp, 127.0.0.1:58896->8443/tcp, 127.0.0.1:58894->32443/tcp   minikube

据我所知,这些请求失败了,因为来自开发容器的请求不被视为localhost请求(我可以pinglocalhost)。我正在运行带有network=host标志的开发容器。

因此,至少有一种方法可以让这个设置工作,将minikube的端口绑定到监听0.0.0.0,而不是本地主机,还有其他方法吗?如何使0.0.0.0绑定工作?我有一种感觉,这可能与Docker Desktop设置有关-我需要以某种方式从127.0.0.1更改一些默认设置-

使用此命令运行minikube没有成功。

minikube start --driver=docker --listen-address='0.0.0.0'

版本:

  • Docker桌面4.6.0(75818)
  • Docker 20.10.13,构建a224086
  • minikube v1.24.0
  • 库贝特尔1.21.5

提前感谢!

编辑:

我还尝试了localhost的不同替代方案,没有改变minikube中的配置,使用主机上的相同端口——这些没有成功。然而,我可以从容器ping每个地址。

kubernetes.docker.internal, host.docker.internal, 192.168.49.2 (Minikube's IP on localhost), minikubeCA, control-plane.minikube.internal, kubernetes.default.svc.cluster.local, kubernetes.default.svc, kubernetes.default, kubernetes, localhost

这是我的minikube的KUBECONFIG。

- cluster:
    certificate-authority-data: Removed for Security.
    extensions:
    - extension:
        last-update: Mon, 28 Mar 2022 17:30:48 EEST
        provider: minikube.sigs.k8s.io
        version: v1.24.0
      name: cluster_info
    server: https://localhost:58896
  name: minikube

共有1个答案

丌官霖
2023-03-14

我设法解决了这个问题。Docker 桌面需要使用主机.docker.internal,而不是 Kubernetes Config YAML 中的本地主机

问题是Minikubes证书不允许第一个地址。运行带有标志的kubectl命令--不安全的跳过tls验证-例如

kubectl get nodes -A --insecure-skip-tls-verify

适用于上面定义的设置。

还找到一些留档:https://github.com/Microsoft/vscode-dev-containers/tree/main/containers/kubernetes-helm

 类似资料:
  • 注: 内容翻译自 Run etcd clusters inside containers 下列指南展示如何使用 static bootstrap process 来用rkt和docker运行 etcd 。 rkt 运行单节点 etcd 下列 rkt 运行命令将在端口 2379 上暴露 etcd 客户端API,而在端口 2380上暴露伙伴API。 当配置 etcd 时使用 host IP地址。 ex

  • 我正在尝试创建minikube集群,但总是失败。 任何建议都非常欢迎: C:\WINDOWS\system32 Microsoft Windows 10 Home 10.0.19042 Build 19042上的minikube v1.16.0 根据用户配置使用vmware驱动程序 启动群集minikube中的控制平面节点minikube 正在创建vmware VM(CPU=2,内存=4000MB

  • 我对迷你库贝很陌生。 我想在本地机器上尝试迷你库贝。 我安装了乌班图服务器和泊坞窗。 我已经下载并使用此命令启动了迷你库贝: sudo minikube start--vm驱动程序=无 如果我键入此命令: sudo kubectl get services --all-namespaces 如果我输入:sudo minikube仪表板--url,我得到:http://127.0.0.1:30000

  • 我是库伯内特斯的新手。在库伯内特斯文档的帮助下,我在我的Windows机器上安装了(v0.24.1)和。虚拟盒子(版本5.1.18)也安装在我的机器上。 在启动之前,我已经执行了和

  • 我是库伯内特斯的新手,我正在学习。我有我的视窗8机器,我在那里安装了瓦格兰特。使用流浪者,我运行ubuntu虚拟机,在虚拟机中,我运行3个docker容器。 流浪者档案: 容器 in Ubuntu VM : 在同一个VM中,现在我安装了迷你库贝和库贝特,如此链接中所述 迷你库贝版本: kubectl版本: 迷你库贝在我的 ubuntu VM 中成功启动。我已经创建了 文件。 使用这个yml文件,我

  • {% tabs first=”SDK 1.1.3 及以上版本”, second=”SDK 1.1.3 以下版本” %} {% content “first” %} SDK 1.1.3 及以上版本 以下操作都需指明操作的内容库,方法如下: let MyContentGroup = new wx.BaaS.ContentGroup(contentGroupID) 参数说明 参数 类型 必填 说明 co