首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为外部访问配置Kubernetes nginx

为外部访问配置Kubernetes nginx
EN

Stack Overflow用户
提问于 2018-02-08 17:19:00
回答 2查看 1.3K关注 0票数 0

我对Kubernetes和Lagom还不熟。

我需要从外部服务器调用我的Lagom微服务。要做到这一点,我认为我需要暴露我的nginx入口,以获得外部访问,但我不知道如何。我应该配置一个“外部I”吗?

代码语言:javascript
复制
{
  "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"
    }
  }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-08 19:29:00

Minikube为自己和VM创建了一个网络。您需要对外公开您的服务。

从Op的评论:您得到端口30370为您的服务。你需要暴露这个端口。

代码语言:javascript
复制
ssh -i ~/.minikube/machines/minikube/id_rsa docker@$(minikube ip) -L \*:30370:0.0.0.0:30370
票数 1
EN

Stack Overflow用户

发布于 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入口服务,并公开它以供外部访问:

  1. LoadBalancer服务类型,它自动设置ExternalIP。这是当有一个外部非K8s,云提供商的负载平衡器,如CGE,AWS或Azure,并且这个外部负载均衡器将提供ExternalIP的nginx入口服务。
  2. ExternalIPs / https://kubernetes.io/docs/concepts/services-networking/service/#external-ips.
  3. NodePort。在这种方法中,可以使用NodeIP:NodePort/url/of/the/service从集群外部访问服务。

除了nginx入口控制器之外,您还需要一个入口资源。有关示例,请参阅https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/complete-example

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48691246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档