Kubernetes 如何为Minikube上的入口控制器指定自定义端口?
默认情况下,它似乎在80上侦听—这是合理的—但如果我希望它侦听(例如)8000上的请求,我将如何指定它 为清楚起见,这是通过nginx控制器实现的,通过Kubernetes 如何为Minikube上的入口控制器指定自定义端口?,kubernetes,minikube,Kubernetes,Minikube,默认情况下,它似乎在80上侦听—这是合理的—但如果我希望它侦听(例如)8000上的请求,我将如何指定它 为清楚起见,这是通过nginx控制器实现的,通过minikube插件启用入口) 入口公开从集群外部到集群的HTTP和HTTPS路由 在集群内 这意味着它将为HTTP和HTTPS端口使用默认端口 从文档中,我们可以看到: 入口不会暴露任意端口或协议。向internet公开HTTP和HTTPS以外的服务通常使用类型为或的服务 控制器实际上允许更改http和https端口 请参阅配置参数: cont
minikube插件启用入口
)
入口公开从集群外部到集群的HTTP和HTTPS路由
在集群内
这意味着它将为HTTP和HTTPS端口使用默认端口
从文档中,我们可以看到:
入口不会暴露任意端口或协议。向internet公开HTTP和HTTPS以外的服务通常使用类型为或的服务
控制器实际上允许更改http
和https
端口
请参阅配置参数:
controller.service.ports.http
controller.service.ports.https
一般来说,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
工作出色!哇!