我使用Gitlab-CI在GCE上部署Kubernetes集群。 我想保持最低的成本 – 这是我目前的设置:
f1-micro实例上运行 LoadBalancerconfiguration的运行Traefik的系统窗格 postgres 荚 ingress Web服务器吊舱 我想降低我的部署成本。 大部分的成本在于GCE负载平衡器。 有没有一种方法可以在GCE上使用公共IP地址而不是负载平衡器? 如果是这样,我可以利用分配给集群的IP地址(而不是预留静态IP)吗?
换句话说,有没有一种方法可以将一个短暂的ip绑定到使用GCE的Kubernetes服务上,而不需要负载均衡器?
有没有其他configuration可以做不同的处理,从而降低GCE的成本?
是的,通过ExternalIPs。 请注意,这将意味着如果分配了外部IP的节点失败,那么您的服务将会停止运行,但是如果您只运行1台主服务器,则可能不会太在意。
示例服务:
apiVersion: v1 kind: Service metadata: name: myapp spec: ports: - port: 80 protocol: TCP selector: app: myapp externalIPs: - abcd
IP需要是GCE实例的内部 IP(这是因为GCE DNAT将stream量传送到内部IP)。 该服务应该可以通过节点分配的外部IP进行访问。
您可能需要更改入口控制器的服务,以便您可以通过一个IP路由所有应用程序。