-1

我目前正在使用 nginx ingress 将我的应用程序暴露给外部,目前我的方法是这样的。我的问题是这是最好的方法吗?或者如果不是最好的做法是什么。

nginx入口控制器服务: -

apiVersion: v1
kind: Service
metadata:
  name: nginx-ingress
spec:
  type: LoadBalancer
  ports:
    - port: 80
      name: http
      protocol: "TCP"
    - port: 443
      name: https
      protocol: "TCP"
  selector:
    app: nginx-ingress-lb

入口:-

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
  name: app-ingress
spec:
  tls:
  - hosts:
    - myservice.example.com
    secretName: sslcerts
  rules:
  - host: myservice.example.com
    http:
      paths:
      - backend:
          serviceName: myservice
          servicePort: 80
        path: /

所以基本上我让我的 nginx 入口控制器 pod 运行并暴露给 Loadbalacner 的服务类型,并且我定义了规则来确定路由。

4

1 回答 1

0

最佳方法取决于您选择构建集群的环境,无论您考虑使用云提供商还是裸机解决方案。

在您的示例中,我猜您正在使用云提供商作为负载均衡器配置器,它提供外部 IP 地址作为NGINX 入口控制器的入口点。因此,您很有可能通过各种功能和选项按需扩展您的 Ingress。

我发现这篇文章对于比较 NGINX Ingress Controller on Cloud 和 Bare-metal 环境的实现非常有用。

于 2018-10-30T11:10:37.433 回答