问题标签 [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 - 拒绝 Istio 网关连接的 Minikube
我正在尝试使用 Minikube 和 Istio 运行本地 kubernetes 集群。我按照这里的 istio 文档中的说明进行操作:https ://istio.io/docs/tasks/installing-istio.html
然后我按照步骤在此处安装示例 BookInfo 示例:https ://istio.io/docs/samples/bookinfo.html
但是,当我尝试卷曲网关 URL 时,出现连接被拒绝错误。我所有的 pod 和服务似乎都在运行。这是kubectl get pods
命令的结果:
这是kubectl get services
命令的结果:
然后我运行这些命令:
我得到的回应是000
。用我的浏览器点击端点会给我一个连接被拒绝的错误。我在某个时候有这个工作,我不知道它在哪里打破了界限。任何帮助将不胜感激!
版本信息
Minikube
minikube version: v0.19.0
库贝尔
Istio
docker - 无法通过从外部私有注册表中提取图像来在 minikube 中启动 pod
我的笔记本电脑上安装了 ubuntu。
我启动了一个私有 docker 注册表(启用了 ssl + htpasswd 安全)并将其添加到覆盖网络(因此可以从其他主机/虚拟机访问它)
这是代码(docker-compose.yaml):
所以我的注册表在以下链接中运行(使用 dns,我可以在浏览器中验证它):https://home-thinkpad-t420s:5000/v2/_catalog
现在我在笔记本电脑上安装了“Minikube”。&& 通过“minikube ssh”对其进行 ssh。
我在 minikube vm 上创建了一个文件夹“/etc/docker/certs.d”并按照说明添加了证书:
https://docs.docker.com/engine/security/certificates/#understanding-the-configuration
我还修改了 /etc/hosts && 在 /etc/ssl/certs/ca-certificates.crt 上附加了 ca.cert。
并通过以下方式在 minikube vm 上重新启动 docker 服务: sudo systemctl restart docker.service
在此之后,我可以通过上面的“docker login & docker pull”和“curl with (cacert + username/password)”来拉取 minikube vm 上的图像工作得很好,这意味着我可以成功访问/拉取私有注册表图像在 minikube vm 里面。
然后我尝试创建一个秘密(在我的笔记本电脑上使用 kubectl create -f ),定义如下:
并创建了一个 pod(在我的笔记本电脑上使用 kubectl create -f ),定义如下:
但是当我尝试运行这个 pod 时,它会抛出错误:
无法拉取图像“home-thinkpad-t420s:5000/my-jenkins”:rpc 错误:代码 = 2 desc = 错误:找不到图像 my-jenkins 同步 pod 时出错,跳过:“private-jenkins”的“StartContainer”失败-container”和 ErrImagePull:“rpc 错误:代码 = 2 desc = 错误:找不到图像 my-jenkins”
如果我能够通过 curl & docker login/pull 成功地在 minikube vm 中提取图像......那么为什么 pod 创建失败并出现上述错误?
kubernetes - minikube:找不到 domaintype=kvm 的功能
minikube 安装了什么:
尝试通过 minikube 启动集群
我是 Kubernetes 的新手。知道如何解决吗?谢谢
更新
apache-kafka - 在 minikube 上部署 Kafka
嗨,我是 kubernets 的新手,我正在使用 minikube 单节点集群进行本地开发和测试。
我的要求是我需要在 minikube 上部署 kafka 和 zookeeper,并且应该用于生产或消费消息。我点击此链接并成功将其部署在 minikube 上,其详细信息如下
我已将 KAFKA_ADVERTISED_HOST_NAME 设置为 minikube ip(192.168.99.100)。现在对于消息生产者,我正在使用$cat textfile.log | kafkacat -b $(minikube ip):30244 -t mytopic
它不发布消息,给出以下消息
任何人都可以帮助如何发布和使用消息。
kubernetes - 如何最好地利用 Kubernetes/minikube DNS 进行本地开发
我们正在改用 Kubernetes。通过内置的 dns 访问 k8s 部署中的其他已部署服务很简单。因此,如果我有一个名为 app1 的 pod/service 和一个名为 app2 的 pod/service 并且 app1 需要调用 app2,它可以只使用“app2”,并且 k8s dns 会发挥它的魔力并且一切正常。这很好,因为我们不需要为所有环境拥有 app1_host 和 app2_host 的配置管理开销。
这也适用于本地使用 minikube。如果 app1 和 app2 部署到 minikube 中,它们可以通过服务名称(与应用名称匹配)相互引用
但是,我遇到的问题是本地开发。假设我想在本地 IDE 中处理 app1。我可以在 minikube 中启动 app2,但现在如果我想让 app1 访问 minikube 中的 app2……我不能再只使用“app2”。我必须 ping minikube/kubectl api 并获取正在运行的 IP 和端口,然后我可以在本地使用它......这使我们回到使用 HOST/PORT 类型配置 mgmt。
我们可以更新 /etc/hosts 文件并将 app2 指向 minikube IP,但我仍然需要找出外部/暴露端口是什么。
我们可以使用 config mgmt host/port 并在启动时从 minikube/k8s api 动态填充它们。这是推荐的方式吗?有什么东西已经做到了(类似于 envconsul)?
当我尝试在 IDE 中本地工作但在 minikube 或 k8s 中运行依赖服务时,是否有更好/更优雅的解决方案可以利用 k8s dns 的强大功能?
谢谢
apache-spark - 如何从 Kubernetes 提交 Spark 应用程序
查看来自https://spark.apache.org/docs/latest/cluster-overview.html的图片。
运行在 kubernetes 之外的 spark 集群。但我要在 kubernetes中运行驱动程序。问题是如何让spark集群知道驱动程序是否存在。
我的 Kubernetes yaml 文件:
错误是:
spark集群试图访问ip为172.17.0.8的驱动程序。172.17.0.8 可能是 Kubernetes 内部的一个内部 ip。
如何解决问题?如何修复我的 yaml 文件?谢谢
更新
我添加了以下两个参数:“--conf”、“spark.driver.bindAddress=192.168.42.8”、“--conf”、“spark.driver.host=0.0.0.0”。
但是从日志来看,还是试图到达172.17.0.8,也就是kubernetes内部的pod ip。
更新
另一个错误:
redis - kubectl 向 pod 添加额外的环境变量
好的,这是故事:
我正在使用 minikube 来托管我的应用程序:
1 个运行 redis 的 pod(ubuntu 上的 redis:14.04)
1 个运行我的 php 应用程序的 pod (php7-apache)
我意识到,如果我先设置我的 redis pod,然后设置我的 php pod,我的 php pod 将有这些额外的环境变量:
这些变量覆盖了我为我的 php 项目设置的端口。
为了解决这个问题,我必须在我的 yaml 文件中为我的 php 部署显式设置 REDIS_PORT。
知道为什么会这样吗?和干净的方式来简单地避免这种情况?
谢谢!