Try Kubernetes on Azure
最近手滑申请了一个200美刀的Azure尝鲜账号,迫不及待地玩了一把Azure Kubernetes Service,顺便跟Google家比较下。
Azure Portal网页创建K8S集群
通过界面操作K8S服务是最直观的方式:
- Azure服务资源创建是基于Resource Group的,所以没有的话,可以即时创建一个
- 有几个必填字段:
- 集群名称(Cluster)
- 在哪个区域创建(Region)
- K8S版本,默认1.13.10,算是比较高的稳定版本,最新支持1.15.3,相比于GKE的1.14.x已是良心之举
- 用哪种机器类型(Node size)作为计算节点,需要几个节点(Node count),这些都有默认值,建议按需调整
然后就可以创建了,当你点击创建,Azure会让你再次Review一把,还是很贴心的:
AZ命令行创建K8S集群
喜欢自动化的同学当然选择命令行来折腾,和Google Cloud类似,可以通过开启Cloud Shell
配合专属命令行工具AZ
(类似gcloud
)。
- 点击右上角的图标,打开
Cloud Shell
,与Google不同是,这个是要花钱的,对比Google的,感觉没什么差异。
- 使用命令创建资源组
上文提到了Azure的资源管理是基于resource group的,因此首先需要创建它,创建时需要指定location(-l),即在哪个数据中心,一般都会选亚太地区,ping值较低:
> az group create -n aks-rg -l eastasia
- 使用命令创建Kubernetes集群
通过az aks
一整套命令组可以操作整个AKS服务,其中az aks create
命令就是用来创建集群,它有很多选项,感兴趣的童鞋可以查看帮助文档,这里演示了一个简单样例:
> az aks create -g aks-rg -n aks-cluster -k 1.13.10 --node-count 2 \ --enable-addons monitoring -s Standard_A2_v2
说明如下:
- -g 指定resource group
- -n 指定集群名称
- -k 指定Kubernetes版本
- —node-count 指定集群计算节点的个数,这个数量的上限跟你的付费方案有关,免费的好像只能2个
- —enable-addons monitoring 开启集群监控插件,便于观察集群状态,还有很多其他addon,大家按需自取
- -s 指定计算节点的系统规格,这个跟你所在的location有关,某些location没有全量的规格
确认无误后,回车创建,我这边是花了5分钟的样子创建完毕。效果如下:
启用kubectl控制集群
通过kubectl管理集群是最方便的途径,azure自带了这些工具,通过命令启用
# kubectl/helm都有 > az aks install-cli # 获取当前集群的访问权限 > az aks get-credentials --resource-group aks-rg --name aks-cluster # there u go > kubectl get node NAME STATUS ROLES AGE VERSION aks-nodepool1-11279456-0 Ready agent 3d18h v1.13.10 aks-nodepool1-11279456-1 Ready agent 3d18h v1.13.10
好了,开启你的AKS之旅吧!
后记
正值harbor 1.9发布,我尝试了通过helm chart在AKS上部署了一把habor,还是折腾了一番,比如使用nodeport需要为计算节点开启public ip、将public ip作为helm部署的自定义变量等等,我使用的helm 部署命令供大家参考:
helm-v3 install harbor1-9 harbor/harbor --set expose.type=nodePort \ --set externalURL=https://public-ip:30003 \ --set expose.tls.commonName=https://public-ip:30003
部署效果如下:
来了