裸机上的 heptio-contour 外部 ip
heptio-contour external ip on bare metal
我已经使用 kubespray, and now I am trying to follow this guide
设置了一个 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
似乎 EXTERNAL-IP
待定,因为我在裸机上(不是 AWS/GKE 等)
我需要做什么才能让外部 ip 显示在那里?
Kubernetes 提供了三种公开服务的方法:
1) L4 LoadBalancer:仅在 GCE 和 AWS 等云提供商上可用
2) 通过 NodePort 公开服务:The NodePort 指令在每个工作节点上分配一个端口,它将流量代理到相应的 Pod。
3) L7 Ingress:The Ingress 是一个专用的负载均衡器(例如 nginx、HAProxy、traefik、vulcand),它将传入的 HTTP/HTTPS 流量重定向到相应的端点
Kubernetes 不为裸机集群提供网络负载均衡器(LoadBalancer 类型的服务)的实现。
如果您不是 运行 受支持的 IaaS 平台(GCP、AWS、Azure…)上的 Kubernetes 集群,无论创建时间如何,LoadBalancer 都将保持“挂起”状态。
原因是外部世界和Kubernetes之间缺乏IP路由的支持;没有默认实现传输 DNS 区域
Ingress 用于将通信分配给集群内部。
即使在联合集群模式下,也有外部项目提供裸机作为独立或混合解决方案的一部分。
这取决于您拥有的项目的规模和成熟度,因此应该从选择合适的负载均衡器或VIP提供商开始:
https://github.com/google/metallb
https://github.com/kubernetes/contrib/tree/master/keepalived-vip
并弃用:
http://www.linuxvirtualserver.org/software/ipvs.html
请注意,在联邦集群中(不止一个裸机 Kubernetes
cluster)需要将每台物理机的IP地址导出到中央API
提供商,可能它不在我提供给您的链接中。
我已经使用 kubespray, and now I am trying to follow this guide
设置了一个 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
似乎 EXTERNAL-IP
待定,因为我在裸机上(不是 AWS/GKE 等)
我需要做什么才能让外部 ip 显示在那里?
Kubernetes 提供了三种公开服务的方法:
1) L4 LoadBalancer:仅在 GCE 和 AWS 等云提供商上可用
2) 通过 NodePort 公开服务:The NodePort 指令在每个工作节点上分配一个端口,它将流量代理到相应的 Pod。
3) L7 Ingress:The Ingress 是一个专用的负载均衡器(例如 nginx、HAProxy、traefik、vulcand),它将传入的 HTTP/HTTPS 流量重定向到相应的端点
Kubernetes 不为裸机集群提供网络负载均衡器(LoadBalancer 类型的服务)的实现。
如果您不是 运行 受支持的 IaaS 平台(GCP、AWS、Azure…)上的 Kubernetes 集群,无论创建时间如何,LoadBalancer 都将保持“挂起”状态。
原因是外部世界和Kubernetes之间缺乏IP路由的支持;没有默认实现传输 DNS 区域 Ingress 用于将通信分配给集群内部。
即使在联合集群模式下,也有外部项目提供裸机作为独立或混合解决方案的一部分。
这取决于您拥有的项目的规模和成熟度,因此应该从选择合适的负载均衡器或VIP提供商开始:
https://github.com/google/metallb
https://github.com/kubernetes/contrib/tree/master/keepalived-vip
并弃用:
http://www.linuxvirtualserver.org/software/ipvs.html
请注意,在联邦集群中(不止一个裸机 Kubernetes cluster)需要将每台物理机的IP地址导出到中央API 提供商,可能它不在我提供给您的链接中。