学习本教程后:https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/
我的行动:
minkube启动
minikube插件启用入口
kubectl创建部署web--image=gcr.io/google-samples/hello-app: 1.0
kubectl公开部署web--type=NodePort--port=8080
我无法从PowerShellcurlhello-world.info
(如果. yaml文件中没有指定主机,我也无法curl$(minikube ip)
),但它可以在docker容器cli中工作:
# curl hello-world.info
Hello, world!
Version: 1.0.0
Hostname: web-79d88c97d6-pw565
Docker检查选项卡:
Environment
CONTAINER
docker
PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Mounts
/VAR
/var/lib/docker/volumes/minikube/_data
/LIB/MODULES
/lib/modules
Ports
22/tcp
127.0.0.1:0
2376/tcp
127.0.0.1:0
32443/tcp
127.0.0.1:0
5000/tcp
127.0.0.1:0
8443/tcp
127.0.0.1:0
ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- host: hello-world.info
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web
port:
number: 8080
PS D:\> kubectl get ing
NAME CLASS HOSTS ADDRESS PORTS AGE
example-ingress <none> hello-world.info 192.168.49.2 80 22m
minikube version: v1.18.1
minikube docker image: gcr.io/k8s-minikube/kicbase v0.0.18
system: Windows 10
编辑
我还尝试在cleanminikube上创建一个NodePort类型的服务,这样我就可以用clusterIP:servicePort访问它,但同样的事情也发生了。我可以在完成minikube ssh
(IP:servicePort或127.0.0.1:servicePort)后在minikubee上访问它,所以服务工作得很好,但我无法从docker外部卷曲它。
第二版
现在我尝试了一些转发。下面的命令允许我访问127.0.0.1:8080上的“网络”服务
PS D:\> kubectl port-forward service/web 8080
Forwarding from 127.0.0.1:8080 -> 8080
我想它类似于执行minikube service web
,但这不能用于入口。
迷你库贝隧道
接缝为我做任何事情
第三版
我可以通过创建两个服务来验证入口正在工作:
kubectl create deployment web --image=gcr.io/google-samples/hello-app:1.0
kubectl expose deployment web --type=NodePort --port=8080
kubectl create deployment web2 --image=gcr.io/google-samples/hello-app:1.0
kubectl expose deployment web2 --type=NodePort --port=8080
和指向它的路径- ingress.yaml:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- http:
paths:
- path: /web1
pathType: Prefix
backend:
service:
name: web
port:
number: 8080
- path: /web2
pathType: Prefix
backend:
service:
name: web2
port:
number: 8080
docker cli(docker客户端):
# curl 127.0.0.1/web2
Hello, world!
Version: 1.0.0
Hostname: web2-5b669f8984-5tgpn
# curl 127.0.0.1/web1
Hello, world!
Version: 1.0.0
Hostname: web-79d88c97d6-8h6dq
通过查看主机名,您可以看到不同的播客响应。但我仍然无法从docker外面进入
我遇到了同样的问题,没有找到Docker驱动程序的解决方案。但是我发现Minikobe仍然不支持Docker驱动程序的完整入口功能的信息:https://minikube.sigs.k8s.io/docs/drivers/docker/#known-issues
目前只有Linux支持入口和入口dns插件。见#7332
因此,使用虚拟盒驱动程序听起来像是一种可能的解决方案。(我现在正在尝试它,但你写的它应该有效)。
我下载了mysql jdbc驱动程序并上传到了jasperserver。下面是错误。
问题内容: 我在本地主机上运行mysql,可以通过运行以下命令进行连接: 我还使用以下命令运行了Docker容器: 我想从docker容器访问Mysql数据库。所以我也从docker容器输入: 但这给了我错误: 我究竟做错了什么?端口似乎是正确的。 编辑1在码头工人的 输出: 问题答案: 即使将MySQL配置为侦听所有接口,然后从容器通过非环回IP访问MySQL,您仍可能会发现Docker的路由,
在Ubuntu 20.04上运行新的Docker 20.10.1。此版本包括对主机的支持。码头工人。Linux上dockerd中的内部 我在使用SSL证书的容器中运行了一系列服务,我想使用Telegraf(稍后发送到Grafana仪表板)检查证书是否过期。 所有带有网络接口和Telegraf的服务都运行在同一个Docker主机上。所有服务都在自己的网桥网络中。我想在端口9000上从Telegraf
我的问题和这个一模一样。但再次复制这个问题供大家参考: 我面临的问题是我无法使用其IP访问浏览器上的迷你库贝入口。我已经在Windows 10家庭上安装了迷你库贝,并使用泊坞驱动程序启动迷你)。 系统信息: 视窗 10 主页 迷你库贝(v1.18.1) Docker(minikube的驱动程序)- Docker引擎版本20.10.5 我在关注这个官方文档——https://kubernetes .
我正在Windows 10 Home上使用Docker运行Landoop(图像)容器,使用WSL2。我可以做一个码头工人。具有多个服务的yaml文件: 从现在开始,我只运行到连接用户界面服务,根据配置文件,连接用户界面服务应该绑定在端口8084上。当我尝试访问其他服务,如kafka或模式注册服务时,我能够通过以下方式看到相应端口上的输出:
问题内容: 我一直在尝试获取基本的nodeJS api以连接到mongo容器。两种服务都在docker- compose.yml文件中定义。我在这里和码头工人论坛上都读过无数类似的问题,所有这些都表明问题是您的mongo连接URI。这不是我的问题,您将在下面看到。 docker-compose.yml Docker文件 db / mongoose.js 设置mongodb连接 但是无论什么api容