暴露kubernetes入口的最佳方法是?

时间:2018-10-30 06:42:07

标签: kubernetes kubernetes-ingress

我目前正在使用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入口控制器容器,并将其公开给Loadbalacner服务类型,并且我有定义规则来确定路由。

1 个答案:

答案 0 :(得分:0)

最佳方法取决于您选择构建集群的环境,无论您考虑使用Cloud provider还是Bare-metal解决方案。

在您的示例中,我想您正在使用Cloud provider作为负载均衡器配置程序,该配置程序将外部IP地址作为您NGINX Ingress Controller的入口点。因此,您很有可能使用各种功能和选项按需扩展Ingress。

我发现此Article对于比较NGINX Ingress Controller在云环境和裸机环境中的实现非常有用。

相关问题