我创建了一个NodePort来转发来自30101->80->8089端口的请求
apiVersion: v1
kind: Service
metadata:
name: gorest-service
spec:
type: NodePort
selector:
app: gorest
ports:
- protocol: TCP
port: 80
targetPort: 8089
nodePort: 30101当我尝试获取服务URL http://192.168.49.2:30101时,我无法访问它,但是使用使用minikube service <service>检索的url http://127.0.0.1:64741,我可以访问它。
查询:无法理解http://192.168.49.2:30101如何更改为由minikube service <service>检索的http://127.0.0.1:64741
% minikube service gorest-service
|-----------|----------------|-------------|---------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|----------------|-------------|---------------------------|
| default | gorest-service | 8089 | http://192.168.49.2:30101 |
|-----------|----------------|-------------|---------------------------|
Starting tunnel for service gorest-service.
|-----------|----------------|-------------|------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|----------------|-------------|------------------------|
| default | gorest-service | | http://127.0.0.1:64741 |
|-----------|----------------|-------------|------------------------|
Opening service default/gorest-service in default browser...
❗ Because you are using a Docker driver on darwin, the terminal needs to be open to run it.发布于 2021-10-04 16:21:23
在您的清单文件中,您将容器内的服务端口从端口80重新映射到端口8089。
如果您想访问kubernetes内部的服务,您必须使用8089端口。
但是您不能从外部世界访问K8s内部的服务:您需要公开它们(您应该使用负载均衡器或出口服务)。
Minikube是用来发展的。您看到的64741端口是一个隧道服务,它启动minikube,允许您在不使用出口的情况下测试和调试k8s之外的服务(这可能不仅仅是将服务连接到外部世界,例如验证或授权请求)。
https://stackoverflow.com/questions/69438912
复制相似问题