Ubuntu虚拟机中Minikube Nginx-Ingress与主机Nginx Web Server能否共存?
Minikube Nginx-Ingress与主机Nginx共存方案
可以共存,核心是解决端口冲突问题(主机Nginx已占用80/443端口),同时完全在K8S环境内配置HTTPS访问,无需修改主机Nginx的server block。具体操作如下:
1. 调整Minikube Nginx-Ingress的端口
主机Nginx已经占用了80和443端口,因此需要修改Minikube中Nginx-Ingress控制器的NodePort端口,使用主机未占用的端口(比如30080用于HTTP,30443用于HTTPS):
- 查看当前Ingress控制器服务:
kubectl get svc -n kube-system nginx-ingress - 编辑该服务,修改NodePort配置:
在编辑界面中找到kubectl edit svc nginx-ingress -n kube-systemports段,修改nodePort为自定义端口:
保存退出后,Ingress控制器将使用新端口对外提供服务。ports: - name: http nodePort: 30080 port: 80 protocol: TCP targetPort: 80 - name: https nodePort: 30443 port: 443 protocol: TCP targetPort: 443
2. 在K8S内部配置HTTPS证书
使用cert-manager在K8S集群内自动申请并管理Let's Encrypt证书,所有配置均在K8S环境内完成:
- 安装cert-manager到K8S集群(可通过官方发布的YAML文件部署)
- 创建ClusterIssuer,用于和Let's Encrypt的ACME服务交互:
将上述内容保存为apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: letsencrypt-prod spec: acme: server: https://acme-v02.api.letsencrypt.org/directory email: 你的邮箱地址@example.com privateKeySecretRef: name: letsencrypt-prod solvers: - http01: ingress: class: nginxcluster-issuer.yaml,执行kubectl apply -f cluster-issuer.yaml部署。 - 配置Ingress资源,关联证书并指向你的Hello-World服务:
保存为apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: hello-world-ingress annotations: cert-manager.io/cluster-issuer: letsencrypt-prod spec: ingressClassName: nginx tls: - hosts: - hello-world.info secretName: hello-world-tls rules: - host: hello-world.info http: paths: - path: / pathType: Prefix backend: service: name: hello-world-service port: number: 80hello-world-ingress.yaml,执行kubectl apply -f hello-world-ingress.yaml。cert-manager会自动申请证书并挂载到Ingress中。
3. 开放端口与域名解析
- 在DigitalOcean的虚拟机防火墙规则中,添加30080(HTTP)和30443(HTTPS)端口的入站允许规则。
- 将
hello-world.info域名解析到你的虚拟机公网IP,外部即可通过https://hello-world.info:30443访问Minikube中的服务。
补充说明
- 若不想在访问时携带端口,可考虑使用主机Nginx做反向代理转发到Minikube的Ingress端口,但这会涉及修改主机Nginx的server block,不符合你的需求,因此不推荐。
- 本地测试时,可在
/etc/hosts中添加虚拟机IP hello-world.info,直接通过https://hello-world.info:30443访问。
内容的提问来源于stack exchange,提问作者Golide
相关产品推荐
相关产品推荐

