nha*_*nha 2 kubernetes envoyproxy heptio-contour
我已经使用kubespray设置了kubernetes集群,现在我正在尝试遵循本指南
root@node1 ~ # kubectl get -n heptio-contour service contour -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
contour LoadBalancer 10.233.55.94 <pending> 80:32414/TCP,443:30149/TCP 42m app=contour
Run Code Online (Sandbox Code Playgroud)
EXTERNAL-IP
由于我在裸机上(而不是AWS / GKE等),因此似乎正在等待
为了在那里显示外部IP,我需要做什么?
Kubernetes提供了三种公开服务的方式:
1)L4 LoadBalancer:仅在云提供商(例如GCE和AWS)上可用
2)通过NodePort进行公开服务:NodePort指令在每个工作节点上分配一个端口,该端口将流量代理到相应的Pod。
3)L7入口:入口是专用的负载平衡器(例如nginx,HAProxy,traefik,vulcand),可将传入的HTTP / HTTPS流量重定向到相应的端点
Kubernetes不提供针对裸机集群的网络负载均衡器(类型为LoadBalancer的服务)的实现。
如果您不在受支持的IaaS平台(GCP,AWS,Azure等)上运行Kubernetes集群,则无论其创建时间如何,LoadBalancers都将保持“待处理”状态。
原因是外部世界和Kubernetes之间缺乏对IP路由的支持;没有默认的实现方式来传输Ingress用来分配通信到集群内部的dns区域。
有一些外部项目即使在联合群集模式下也可以提供裸机,成为独立解决方案或混合解决方案的一部分。
它取决于您的项目的规模和成熟度,因此应从选择合适的负载平衡器或VIP提供者开始:
https://github.com/google/metallb
https://github.com/kubernetes/contrib/tree/master/keepalived-vip
并已弃用:
http://www.linuxvirtualserver.org/software/ipvs.html
请注意,在联合身份验证群集(一个以上的裸机Kubernetes群集)中,需要将每台物理计算机的IP地址导出到中央API提供程序,而我提供给您的链接可能没有涵盖该地址。
归档时间: |
|
查看次数: |
742 次 |
最近记录: |