走心的狗 使用acs-engine在Azure中国区部署kubernetes集群详解
2017-10-21 14:29
961 查看
1. acs-engine简介
ACS是微软在2015年12月推出的一项基于容器的云端PaaS服务。说简单点,acs-engine就是一个ARM模板生成器,用户只需要配置几个简单的参数来描述容器集群的规格,然后acs-engine将这个容器集群描述文件转化成一组ARM(Azure Resource Manager)模板,然后用户可以使用azure的cli命令来自动化地在Azure公有云上生成容器集群。ACS完全基于开源组件,目前ACS支持主流的编排框架有:DC/OS,Swarm,Kubernetes。acs-engine也已经在GitHub上开源(https://github.com/azure/acs-engine),企业可以在任何的云平台使用并迁移这套容器服务,避免了对某个平台的耦合。有兴趣的朋友可以下载尝试。
目前有人说无法在中国区使用acs-engine,甚至微软的员工也对我们说无法使用,但是实测acs-engine可以在中国区部署k8s集群了,下面将对部署过程进行详细介绍。至于k8s集群这里先不进行详细介绍,请参考其他资料,后续我也将介绍一些关于k8s的相关内容。
2. acs-engine部署
环境: CentOS7,acs-enginev0.8.01. 首先获取acs-engine源码包,由于官方已经提供编译好的acs-engine,所以懒人可以直接下载解压,不用通过源码编译。但是源码包中包含了模板文件,建议一起下载:
# wget https://github.com/Azure/acs-engine/releases/download/v0.8.0/acs-engine-v0.8.0-linux-amd64.zip # wget https://github.com/Azure/acs-engine/archive/v0.8.0.zip[/code]
2. 安装依赖软件:# yum install golang # yum install git
3. 运行go get all命令安装ACS引擎需要的依赖组件
4. 解压源码包和编译好的acs-engine:# cd ~ # unzip acs-engine-v0.8.0-linux-amd64.zip # unzip v0.8.0.zip
5. 运行acs-engine命令:
View
Code
由于目前acs-engine源码中已经加入了Azure中国区,所以我们无需修改源码,只需要在第三步编辑集群定义文件时中指定微软云中国区,acs-engine会在生成的ARM模板中将Kubernetes的镜像源替换成国内可以访问的地址。
3. Kubernetes集群搭建我创建的是1个master节点2个node节点的集群,创建后的集群架构如下:
Ⅰ. 集群说明
使用ARM模板创建的集群会在Azure中为master节点创建LoadBalancer,而至于node节点,则会在当你在k8s中将一个服务的访问方式设置为LoadBalancer后,k8s集群会访问Azure的API为node节点创建一个LoadBalancer,并且添加上Public IP,k8s集群服务访问方式这里暂不详细说明。
创建的k8s集群默认是通过SSH密钥登录的,因此我们要首先生成SSH密钥,这里只做Linux举例,windows/mac请自行查阅相关资料。
Ⅱ. 生成SSH密钥# mkdir ~/.ssh # chmod 700 ~/.ssh # ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/b/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/b/.ssh/id_rsa. Your public key has been saved in /home/b/.ssh/id_rsa.pub.
k8s集群需要能够访问你的微软云并创建删除相关资源,因此需要给k8s集群配置服务主体账号密码。你可以选择Azure CLI、Powershell、或者在Portal中直接创建,当然,你的Azure账号必须有应用程序注册的权限。这里介绍下Azure CLI和Portal中创建的方式。
Ⅲ. 创建服务主体账号密码
【本文由“程序员小宝”发布,2017年10月21日】
相关文章推荐
- 使用acs-engine在Azure中国区部署kubernetes集群详解
- 如何使用Azure Container Service Engine在Azure中国区部署容器服务(一):DC/OS篇
- 如何使用Azure Container Service Engine在Azure中国区部署容器服务(一):DC/OS篇
- 使用ARM模板在Azure中国大规模部署DC/OS集群
- 使用ARM模板在Azure中国大规模部署DCOS集群
- Kubernetes(二) - 使用Rancher部署K8S集群(搭建Rancher)
- Linux 下Redis集群安装部署及使用详解
- Linux下Redis集群安装部署及使用详解
- 在 Azure 中部署 Kubernetes 容器集群
- Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)
- Kubernetes(三) - 使用Rancher部署K8S集群(搭建Kubernetes)
- 使用kubespray部署高可用kubernetes集群
- 使用kubeadm部署kubernetes集群
- 如何使用Rancher 2.0在Kubernetes集群上部署Istio
- Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)
- 使用Kubeadm部署 Kubernetes 集群
- 使用Kubeadm在CentOS7.2上部署Kubernetes集群的方法
- 使用Kubeadm在CentOS7.2上部署Kubernetes集群
- 使用kuberspay部署高可用kubernetes集群
- 干货|使用kubeadm部署kubernetes集群