预告:最近因为工作的关系,从0开始学习React(Taro),Go,AKS,打算边学习边总结,写一个系列文章加深理解。系列文章的目标是创建一个给美发公司用的微信小程序,叫做rapunzel。
更新
- 2021/04/26:更新Azure文件共享的选择。选择Premium或者Transaction optimized,实际上会更省钱。因为价格分为了两部分:存储的费用和数据事务的费用。MongoDB会频繁读写数据,造成了如果选择Hot,虽然存储的费用很低,但是事务的费用很高。详见Azure的文件计费文档。
准备Azure环境
创建AKS cluster
-
在Azure Portal新建一个Resource Group,便于资源管理:
-
名字和配置如下。Southeast Asia在新加坡,相对访问速度更快。
-
新建一个Kubernetes Service:
-
Basics页面,Resource Group选择刚才新建的。为了省钱,Availability zones变成None,Node size选择Standard B2s,是AKS可用的最便宜的VM。Node count选择1。
-
Node pools页面去掉“Enable virtual machine scale sets”可以省钱。
-
Authentication页面也不需要修改
-
Networking页面可以勾选“Enable HTTP application routing”,现在不选也无所谓,后面还可以在配置Cluster的时候勾选。如果没有自己的域名,建议勾选这个选项,Azure会创建公网可以访问的域名,不过需要额外付费。
-
Integrations页面,创建一个新的Container registry,SKU选择Basic就可以了。另外Container monitoring可以先关闭。一般的Debug可以使用Kubernates自带的log。之后就可以直接创建cluster了。
-
可以看到除了我们自己创建的resource group,系统还创建了另外两个resource group。按照这个链接,DefaultResourceGroup-SEA是 Azure Security Center创建的。
MC_rapunzel-rg_rapunzel_southeastasia是和cluster相关的,里面有cluster的系统资源。比如DNS zone,后面会用到,在这里可以把它记录下来(35319b3f2fff48afbfa9.southeastasia.aksapp.io)。
创建Azure Storage
由于container是不能持久化数据的,所以需要使用Azure Storage,然后创建PVC(persistent volume claim),把数据库的数据持久化到Azure Storage。
- 创建Resource Group rapunzel-stor-rg:
- 创建Storage Account
- 名字为rapunzelstor,Replication可以改成LRS来省钱。
在Data protection页面,去掉所有的soft delete省钱,然后就可以Review + c