GKE与便宜的k8s集群

GKE与便宜的k8s集群

2022/7/102 min
张筱

张筱

AI工程师

**前言:**如果你刚开始玩 Kubernetes,或像我一样一直在寻找一个低价集群方案,建议 阅读。

为何需要低价集群

自从 Kubernetes(k8s)诞生以来,整个 IT 行业都被极大地改变了,以至于今天可以将其视 为业界标准的容器编排系统。唯一的问题是成本。

对企业来说,寻找一个精通 k8s 的专家不是一件简单便宜的任务;对 k8s 爱好者来说,练 习 k8s 的使用与维护也不便宜。因此专家的数量和需求之间总是有一道鸿沟。唯一的解法 就是让外行能轻易地学习与练习最终变成专家,这就需要让大部分人都能获取到便宜的集群 。

GKE

谷歌云提供付费的托管式 k8s 集群服务,重点是其费用完全可以控制到接近免费。下面让 我一部分一部分地解释如何规避费用。所有的信息都来自于官方文档.

集群

除了每个账号的第一个集群以外,每个集群都需要缴纳最高$74.4 每月的管理费。因此管理 费为$0。

节点

一个集群至少需要一个运行节点,在一些数据中心里(Oregon,Iowa 和 S. Carolina), 每个账号都能免费使用一个e2-micro(2 核 1G)实例。除去 k8s 基本 pod 占用的资源 以外,有效可用内存大概在 400 到 500 Mb 之间,因此单节点集群的价格是$0。如果需要 更多节点,且可以接受服务不稳定,可以考虑便宜的抢占式实例,一般的私人用途都可以满 足。

网络通信

当使用集群运行应用时,你可能会想要将应用暴露给互联网。这时就必须考虑通信的价格。 此时有2 种思路

  1. 免费使用高级网络,需要满足如下条件:
    • 客户不在中国或澳洲
    • 每月用量低于 1 GB
  2. 以极低的价格使用标准网络($0.085 每 GB)

存储

在使用有状态的应用(如数据库)时,必须将数据独立于应用管理,否则每个生命周期都会 重置数据。每个账号都能免费使用 30 GB 的标准持久化存储。

如何使用

GKE 提供了所有必须的拼图,剩下的问题就只有如何组合使用它们。

第一步是创建集群。根据需要可以选择免费的单节点集群或便宜的多节点集群。注意打开 HTTP 和 HTTPS 端口。

第二步是安装 ingress controller。在集群提供多个服务时,这一步是必须的。部署细节 可在此 repo找到。

现在集群应该已经准备好了,虽然不能承载较重的负载,仍然能够满足个人练习使用。最后 一个忠告,配置一个budget以免在 Google 取消免费层级时被账单背刺。