问题标签 [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.
kubernetes - 如何将根 CA 添加到 minikube?
我的公司使用它自己的根 CA,当我尝试提取图像时。即使来自私人注册表,我也会收到错误消息:
1h 3m 22 {kubelet minikube} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for gcr.io/google_containers/pause-amd64:3.0,这可能是因为有此请求没有凭据。
详细信息:(来自守护进程的错误响应:获取https://gcr.io/v1/_ping:x509:由未知权威签署的证书)“1h 10s 387 {kubelet minikube} 警告 FailedSync 同步 pod 时出错,跳过:失败到“StartContainer”对于带有 ImagePullBackOff 的“POD”:“后退拉图像 \"gcr.io/google_containers/pause-amd64:3.0\""
如何将根 CA 安装到 minkube 或避免此消息,即仅使用私有注册表,并且不从中提取任何内容gcr.io
?
networking - 开发机器作为 Minikube 网络的一部分?
是否可以让我的开发机器成为 Minikube 网络的一部分?
理想情况下,它应该双向工作:
- 在我的 IDE 中开发应用程序时,我可以使用与 pod 相同的地址访问 Minikube 中的 k8s 资源。
- 在 Minikube 中运行的 Pod 可以访问我在 IDE 中运行的应用程序,例如通过 HTTP 请求。
这听起来第一部分在 GCE 上使用网络路由是可行的,所以我想知道在本地使用 Minikube 是否可行。
curl - 如何调试失败的 kubectl 调用?
我在 Suse 12.01 Enterprise 上并试图让 Minikube 工作。虚拟机已经工作,并且 minikube shell 工具可以通信。
但是kubectl还是不能和kubernetes master对话。我正在尝试对其进行调试,而获取其他信息的最佳方法似乎是运行带有-v 9
. 这样做我得到以下输出:
信息不多,但我猜这curl -k -vvvv ....
会给我更多信息。但是,只是执行与日志中相同的 curl 会导致身份验证错误,因为 api 服务器执行客户端身份验证(对吗?)。所以这行不通。
我现在如何继续调试?有没有一种秘密的忍者方法可以在不将它们添加到 shell 调用的情况下提供 curl auth 参数?kubectl 是否真的在做另一个请求,只是将 curl 打印到日志中以提供一些关于它调用的提示?
*编辑:与同事讨论时,我们都同意这一定是 minikube vm 内部问题。
minikube logs
开始是这样的:
minikube ssh
不过,在服务 api内部有效。检查curl 127.0.0.1:8080/api
并接收漂亮的 json。
*编辑:根据反馈提供更多信息。
在minikube 虚拟机内卷曲:
kube 配置(在 vm 之外):
docker - networking options for a docker image in minikube
I have a docker image (usermanagement:latest) from which I normally create containers this way when I'm testing locally:
Both port
and configfile
has default values and port's default value is 8096.
I can then simply reach it at localhost:8096/1/users/some_api
. This gives me the flexibility of being able to create many containers of the same image listening to different ports.
Now, I've pushed this image into a private registry and want to use minikube which also has access to the registry (all good and fine).
Problem is I can't figure out how to specify networking options (--net
or -p
) or even volume option (-v
) when creating a Kubernetes deployment.
I tried:
Where REGISTRY_IP is the IP of the private registry from which the image has already been pulled into the minikube's docker.
I've verified the service is created and exposed, but I can't reach (getting 404) the container in minikube using:
Service's IP and port above came from:
Any help is appreciated.
kubernetes - 带有 VirtualBox 的 Windows 上的 Minikube:连接尝试失败
我在笔记本电脑上安装了 Kubernetes Minikube(4 核,8 GB RAM)。我刚刚执行了基本的安装步骤(获得了miniKube和kubectl,启用了 BIOS 虚拟化)并且我能够启动集群:
但是,当我尝试与集群交互时,总是会遇到相同的错误,示例:
我执行minikube ip
并 ping 结果 IP 并得到响应。我还尝试提供更多内存(3Gb 与标准 2Gb),但没有任何改变。
我在这里做错了吗?
谢谢!
linux - Kubernetes:重新生成 Minikube 挂载目录
所以我可以minikube mount /my-directory
在我的 minikube vm 中挂载一个卷来反映我的本地目录。但是我发现我无法在 minikube(称为/mount-9p
)内对这个目录进行任何更改。
我正在尝试创建一个容器,该容器会将/mount-9p
目录与另一个可以运行我的可执行文件的目录同步,但我遇到了这个错误:Couldn't watch /mount-9p/src: Unknown error 526
有没有办法覆盖这个或解决方法?
docker - 在 Minikube 中创建部署时指定 nodeport
此要求主要针对开发环境。
当我更新通过 Minikube 创建和公开部署的 docker 映像时,我必须删除并重新创建此部署和服务。但是,我想维护分配给该特定服务的相同节点端口。我知道如果留给 Minikube,则会分配一个随机端口。但是我可以指定 NodePort 吗?
我使用以下 Yaml 文件创建部署并通过expose
命令公开服务。
linux - 如何从 docker 容器同步到我的主机
我当前的开发环境允许在更改文件(即nodemon
/ webpack
)时自动重新加载代码。但是我正在设置一个kubernetes
( minikube
) 环境,以便我可以一次快速打开 3-4 个相关服务。
一切正常,但目前没有进行自动代码重新加载。docker
我尝试安装卷,但与处理文件的方式存在一些冲突virtualbox
,因此冲突导致来自主机的文件更改未反映在 docker 容器中。(这不是我拥有的与此问题相关的第一个链接,这只是我在另一天谷歌搜索时发现的第一个)......
无论如何,长话短说,人们在开发中无法完成实时重载。我发现这个问题在整个互联网上都存在,但解决方案很少。到目前为止,我想说的最好的解决方案是这个人使用主机中的 tar来同步文件夹。
但是我想从容器中得到一个解决方案。原因是我想从容器中运行脚本,这样开发人员就不必在每次开始在特定存储库中进行开发时在他的主机上运行一些脚本。
但是,为了做到这一点,我需要从容器运行 rsync 到主机。而且我在弄清楚如何为此编写语法时遇到了很多麻烦。
让我们假设我的应用程序分别存在于我的容器和主机中:
如何从容器同步到主机?我尝试使用172.17.0.17
and127.0.0.1
无济于事。不完全确定是否有办法做到这一点?
我试过的例子:
ssl - Kubernetes - Kubectl - 客户端数据是什么格式的?
我目前已经建立了一个 kubernetes 集群——我想构建一些监控基础设施。我用 ruby 构建了一个简单的库,可以与 kube 集群通信。对于 minikube,这很好,因为我可以放入客户端密钥和客户端证书。但是对于我的 kops AWS 实例,我有两个值:
- 客户证书数据
- 客户密钥数据
我不知道这些是什么格式 - 我如何将它们转换为 pem 编码证书,以便我可以在我的库中使用它们?
docker - 当另一个发生更改时重新启动 Kubernetes pod
两个 pod已成功创建,app
并且postgres
能够通过节点中彼此的服务进行通信。在当前流程中,两个 pod 是同时创建的,但可以更改为按顺序创建/启动它们。
最初,postgres
pod 中的数据库容器是空的,需要播种。种子进程通过app
pod,因此它也需要启动并运行。一旦postgres
播种,app
仍然不知道这个新数据,需要重新启动。这本身就是一个缺陷app
,我无法控制。
目前,流程是:
有没有更好的方法来自动协调app
一旦postgres
达到种子状态的重启?
也许我完全缺少 Kubernetes 的某些方面/功能集,这有助于解决这种情况......