随着容器技术的火爆发展,越来越多的公司开始或者已经着手研究容器化的技术和方案。谈到容器技术,不可避免的就要谈到目前最流行的容器编排系统——Kubernetes。
微软Azure已经在3月份推出了公开预览版的Kubernetes Services(AKS),以后有机会给大家介绍。
今天主要介绍和部署的是AKS-Engine,AKS-Engine除了微软云一直以来的方便部署以外,还可以更精细的部署Kubernetes Cluster,比如控制Master节点的数量,自定义Azure中的服务等等,所以个人认为学习Kubernetes在Azure上面,从AKS-Engine会了解更多知识。
今天先将AKS-Engine以最简单的方式部署上,初步有个认识;
- 微软AKS-Engine的官方GitHub地址,https://github.com/Azure/aks-engine
- 下载最新版本的AKS-Engine, 微软更新频率还是蛮高的,https://github.com/Azure/aks-engine/releases/tag/v0.33.1
我使用的客户的是Windows 10,所以选择Windows的AKS-Engine;
- 按照AKS-Engine,通过CMD,到按照目录下运行即可;
准备工作完毕,开始创建;
- 创建资源组;
- 在AD中注册应用程序服务主体,Service Principals确保AKS-Engine可以安全的调用Azure API
- 编辑AKS Cluster的定义文件,https://github.com/Azure/aks-engine/blob/master/examples/kubernetes.json
改文件可以定义K8S Cluster的节点数量,调用的Azure服务等,需要花时间好好研究。将之前服务主体得到的对应内容填写到里面,并使用RSA的公钥。
- 生产Templates,描述你的AKS Cluster;
aks-engine generate --api-model C:UsersxxxDownloadsaks-engine-v0.33.1-windows-amd64kubernetes.json
- 基于Templates创建AKS Cluster
az group deployment create --name=contoso-apple --resource-group=contoso-apple --template-file=C:UsersxxxDownloadsaks-engine-v0.33.1-windows-amd64\_outputcontoso-appleazuredeploy.json --parameters=C:UsersxxxDownloadsaks-engine-v0.33.1-windows-amd64\_outputcontoso-appleazuredeploy.parameters.json
几分钟的时间,服务就可以创建完毕;
- 简单看一下创建出来的资源,其中Master 是一台VM,并且没有公网IP,如果需要登录进来需要使用SLB的IP地址,已经做好的NAT。