最近手滑申请了一个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

部署效果如下:

1 对 “Try Kubernetes on Azure”的想法;

发表评论

电子邮件地址不会被公开。 必填项已用*标注