我对Kubernetes和Lagom还不熟。
我需要从外部服务器调用我的Lagom微服务。要做到这一点,我认为我需要暴露我的nginx入口,以获得外部访问,但我不知道如何。我应该配置一个“外部I”吗?
{
"apiVersion": "v1",
"kind": "Service",
"metadata": {
"name": "nginx-ingress"
},
"spec": {
"type": "LoadBalancer",
"ports": [
{
"port": 80,
"name": "http",
"targetPort": 8080
},
{
"port": 443,
"name": "https"
}
],
"externalIPs": [
"192.168.1.120"
],
"selector": {
"k8s-app": "nginx-ingress-lb"
}
}
}发布于 2018-02-08 19:29:00
Minikube为自己和VM创建了一个网络。您需要对外公开您的服务。
从Op的评论:您得到端口30370为您的服务。你需要暴露这个端口。
ssh -i ~/.minikube/machines/minikube/id_rsa docker@$(minikube ip) -L \*:30370:0.0.0.0:30370发布于 2018-02-09 06:22:27
在Minikube中,您可以使用kubectl expose命令公开每个https://kubernetes.io/docs/tutorials/stateless-application/hello-minikube/#create-a-service的外部访问服务。Minikube不用于生产。
在生产中,您有三种方法可以使用每个https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services---service-types使用kubernetes创建nginx入口服务,并公开它以供外部访问:
LoadBalancer服务类型,它自动设置ExternalIP。这是当有一个外部非K8s,云提供商的负载平衡器,如CGE,AWS或Azure,并且这个外部负载均衡器将提供ExternalIP的nginx入口服务。ExternalIPs / https://kubernetes.io/docs/concepts/services-networking/service/#external-ips.NodePort。在这种方法中,可以使用NodeIP:NodePort/url/of/the/service从集群外部访问服务。除了nginx入口控制器之外,您还需要一个入口资源。有关示例,请参阅https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/complete-example。
https://stackoverflow.com/questions/48691246
复制相似问题