为外部访问配置Kubernetes nginx



我还是Kubernetes和Lagom的新手。

我需要从外部服务器调用我的Lagom微服务。为此,我认为我需要揭露我的nginx-ingress以获取外部访问,但我不知道如何。我应该配置" externalip"?

{
  "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"
    }
  }
}

Minikube为自身和VM创建网络。您需要外部公开您的服务。

从OP的评论中:您获得服务端口30370。您需要公开此端口。

ssh -i ~/.minikube/machines/minikube/id_rsa docker@$(minikube ip) -L *:30370:0.0.0.0:30370

在Minikube中,您将使用kubectl expose命令来公开外部访问服务的服务,https://kubernetes.io/docs/tutorials/stateless-application/hello-minikube/#create - 服务。Minikube不用于生产。

在生产中,您有三种方法可以使用https://kubernetes.io/docs/coneptes/services-networking/service/service/#publishing/#publishings-services--service-services----service-publice-service-types来创建NGINX INGRESS服务。用于外部访问:

  1. LoadBalancer服务类型自动设置ExternalIP。当有外部非K8,Cloud-Provider的Load-Balancer(例如CGE,AWS或Azure(时,使用此功能,并且此外部负载量不会为NGINX INGRESS服务提供ExternalIP
  2. ExternalIPs每https://kubernetes.io/docs/concepts/services-networking/service/#external-ips.
  3. NodePort。在这种方法中,可以使用NodeIP:NodePort/url/of/the/service的群集访问该服务。

与Nginx Ingress控制器一起,您也需要一个入口资源。有关示例

相关内容

  • 没有找到相关文章

最新更新