实验环境的 k8s 先前部署时尝试使用负载均衡模式部署,不知道为何竟然能够运行。
过了很久,最近 ingress 服务解析出现了问题,且找不出问题根源,于是尝试更换 nodeport 模式的 ingress controller,结果是无法提供nginx 服务。
问题找了一圈,最终找到了问题的根源,发现这个 ingress 控制器的服务没有暴露 external IP,导致 nginx pod 运行正常但无法对集群外提供服务,强制在配置文件中加上了 external IP 这个问题才解决。
这个问题还挺诡异的,主要是对k8s的网络体系不够熟悉。自己在生产环境部署的k8s没有专门配置过 external IP,是它自己分配了一个,且配置文件中也不需要指定。