当我拥有负载平衡器类型时,是否必须对nginx入口控制器使用外部type字段?
apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app: ingress-nginx
spec:
type: LoadBalancer
externalIPs:
- {{ vip_address }}
ports:
- port: 80
targetPort: 80
selector:
app: ingress-nginx是否有任何aws工具来创建和管理集群中的VIP?
aws允许elasticIP代替VIP直接从外部访问LB吗?
发布于 2018-12-27 12:04:12
否,不需要为externalIPs类型的服务指定LoadBalancer。
外部 --这是Kubernetes集群的一个不同特性:
如果存在路由到一个或多个集群节点的外部If,则可以在这些外部If上公开Kubernetes服务。与服务端口上的外部IP (作为目标IP)进入集群的通信量将被路由到服务端点之一。外部by不是由Kubernetes管理的,而是由集群管理员负责管理的。在ServiceSpec中,可以与任何ServiceTypes一起指定外部In。
对于LoadBalancer服务类型,可以指定loadBalancerIP:
使用云提供商的负载均衡器对外公开服务。外部负载均衡器将路由到的NodePort和ClusterIP服务将自动创建。在支持外部负载平衡器的云提供商上,将类型字段设置为LoadBalancer将为您的服务提供负载均衡器。负载均衡器的实际创建是异步进行的,有关配置均衡器的信息将在
Service‘S.status.loadBalancer字段中发布。来自外部负载均衡器的流量将指向后端Pods,尽管这取决于云提供商的具体工作方式。一些云提供商允许指定loadBalancerIP。在这些情况下,负载均衡器将使用用户指定的loadBalancerIP创建.如果未指定loadBalancerIP字段,则将为loadBalancer分配一个临时IP。如果指定了loadBalancerIP,但云提供者不支持该功能,则将忽略该字段。Azure的特殊注意事项:要使用用户指定的公共类型loadBalancerIP,首先需要创建静态类型的公共IP地址资源,并且它应该位于集群中其他自动创建的资源的同一资源组中。
与云的交互是通过云控制器实现的。您可以在云提供商页面上找到受支持的云提供商列表。
对于不在Kubernetes核心中的云控制器管理器,您可以在云供应商或sig领导维护的repos中找到相应的项目。从v1.8开始,云控制器管理器可以实现:
https://serverfault.com/questions/946729
复制相似问题