AKS中静态IP配置多Ingress遇CreateContainerError及相关疑问
AKS静态IP使用与容器创建错误问题描述
我在AKS/Kubernetes中为一个应用创建了关联Ingress Controller的Deployment,同时用同一静态IP部署了另一个应用,原本一切正常。但关闭原应用并停止Ingress Controller准备新部署时,出现了CreateContainerError错误,错误信息如下:
State: Waiting Reason: CreateContainerError Last State: Terminated Reason: Error Exit Code: 1 Started: Sun, 25 Sep 2022 09:53:35 -0400 Finished: Sat, 15 Oct 2022 19:54:07 -0400
疑问与解答
1. 在AKS中能否将单个静态IP用于多个Service?是否不建议这样做?
- 在AKS中,单个静态公网IP不能直接绑定到多个Service。因为LoadBalancer类型的Service会直接关联独立的IP资源,每个LoadBalancer Service需要专属的IP配置。如果强行给多个Service配置同一个静态IP,会触发资源绑定冲突,进而引发容器创建失败、网络路由异常等问题。这种做法不被支持,也强烈不建议采用。
2. 集群中单个IP能否服务多个Ingress?
- 可以通过单个静态IP服务多个Ingress资源,这是Ingress Controller的标准且推荐的用法。只需将NGINX Ingress Controller绑定该静态IP,然后在不同的Ingress资源中通过
host域名规则或路径规则,让Ingress Controller将流量转发到对应的后端Service。需要确保所有Ingress资源都通过ingressClassName字段指定同一个Ingress Controller实例,这种方式是AKS官方认可的多服务共享公网IP的最优方案,能有效节省IP资源。
内容的提问来源于stack exchange,提问作者Christian Matthew
相关产品推荐
相关产品推荐

