如何在Minikube上为入口控制器指定自定义端口?

时间:2019-12-10 12:17:32

标签: kubernetes minikube

默认情况下,它似乎在80上监听-很明智-但是,如果我希望它监听(例如)8000上的请求,我该如何指定呢?

为清楚起见,这是通过通过minikube addons enable ingress启用的nginx控制器

3 个答案:

答案 0 :(得分:1)

  

Ingress将HTTP和HTTPS路由从群集外部公开给   services   在集群中。

这意味着它将对HTTP和HTTPS端口使用默认端口。

从文档中我们可以阅读:

  

Ingress不会公开任意端口或协议。将HTTP和HTTPS以外的服务公开到互联网通常使用Service.Type=NodePortService.Type=LoadBalancer类型的服务。

答案 1 :(得分:0)

nginx-ingress控制器实际上允许更改httphttps端口。

请参阅配置参数:

controller.service.ports.http
controller.service.ports.https

答案 2 :(得分:0)

虽然通常来说,Ingress不允许您在随机端口上公开随机的东西,但是如果使用nginx-ingress,则可以这样做。但是您必须使用其他注释。

例如,如果您的Pod暴露了443,但您希望它在端口8081上可用,则必须执行以下技巧:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: myservice
  namespace: mynamespace
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.org/listen-ports-ssl: "8081"

spec:
  tls:
  - hosts:
    - host.org
    secretName: my-host-tls-cert
  rules:
  - host: host.org
    http:
      paths:
      - path: /
        backend:
          serviceName: my-service
          servicePort: 443