Kubernetes 从Minikube内部调用外部服务

Kubernetes 从Minikube内部调用外部服务,kubernetes,minikube,Kubernetes,Minikube,我有一个服务(/deployment/pod)在我的Minikube(安装在我的Mac上)中运行,需要调用直接在我的Mac上运行的外部http服务(即Minikube外部)。该外部服务的域名定义在我的Mac/etc/hosts文件中。然而,我在Minikube内的服务不能称之为外部服务。知道我需要在哪里配置什么吗?非常感谢。C因为您的minikube正在笔记本电脑上的虚拟机上运行,所以您只需将minikube ssh输入该机器,并将外部服务的地址输入该虚拟机的/etc/hosts文件。创建将流量

我有一个服务(/deployment/pod)在我的Minikube(安装在我的Mac上)中运行,需要调用直接在我的Mac上运行的外部http服务(即Minikube外部)。该外部服务的域名定义在我的Mac/etc/hosts文件中。然而,我在Minikube内的服务不能称之为外部服务。知道我需要在哪里配置什么吗?非常感谢。C

因为您的minikube正在笔记本电脑上的虚拟机上运行,所以您只需将
minikube ssh
输入该机器,并将外部服务的地址输入该虚拟机的
/etc/hosts
文件。

创建将流量转发到所需外部IP地址的
端点(您的本地计算机)。您可以使用
端点直接连接
,但根据
谷歌云最佳实践
()是通过
服务访问它

kind: Service
apiVersion: v1
metadata:
 name: local-ip
Spec:
 type: ClusterIP
 ports:
 - port: 27017
   targetPort: 27017

创建您的
端点

kind: Endpoints
apiVersion: v1
metadata:
 name: local-ip
subsets:
 - addresses:
     - ip: 10.240.0.4  # IP of your desire end point
   ports:
     - port: 27017     # Port that you want to access
然后创建您的
服务

kind: Service
apiVersion: v1
metadata:
 name: local-ip
Spec:
 type: ClusterIP
 ports:
 - port: 27017
   targetPort: 27017

现在,您可以使用
服务
名称调用外部http服务。在这种情况下,
loal ip
minikube的任何其他内部服务一样

,这要感谢你们两位的及时回答。包含更改/etc/hosts文件的解决方案无法工作。另一个解决方案是(创建端点和相应的服务)效果很好。再次感谢-我一直在努力解决这个问题。请将答案标记为正确,以便其他人能够轻松理解。这也会帮助其他人。