使用ARM模板在Azure中国大规模部署DCOS集群
容器技术是目前非常流行的技术,尤其是在以Docker作为容器引擎的推动下,让容器的轻量级,可移植,自包含,隔离性等的上了一个新的台阶,目前谈及Dev/Ops,CI/CD很少能够绕过Docker的。
Azure在去年就推出了容器服务ACS,以其对开源的全面兼容性,开放性,最全面的编排器(DC/OS, Kubernetes,Swarm)支持而广受好评,但在中国和很多地区,ACS并没有上线,如何在这些地区快速大规模部署容器服务一直是个问题。
而微软更进一步,在11月初,进一步开源了ACS的核心引擎acs-engine,让开发人员可以通过acs-engine快速的生成可以在所有地区当然包括中国部署的ARM模板,并且并不依赖于ACS Container resource provider,对于广大开发和维护人员来说是一大喜讯,不必像我一样为了在Azure中国上部署DC/OS cluster而辛苦调试修改脚本和ARM模板了:)
新闻:http://www.forbes.com/sites/janakirammsv/2016/11/07/microsoft-open-sources-azure-container-service-adds-support-for-kubernetes/#48e955d270ad
Acs-engine官方地址:https://github.com/Azure/acs-engine
很多牛人已经写了一些非常棒的acs-engine的文章,本文是按照我实际测试整理而成的,将碰到的一些问题,解决办法等记录下来,希望对于大家快速部署有所帮助。
首先简单了解一下本次DC/OS集群的部署架构图,我们有一个master的高可用集,master可以选择1,3,5台虚拟机;有一个public agent的VMSS集合主要部署面向互联网用户访问的应用;一个private agent的VMSS,无法公网访问,运行一些默认的计算:
安装配置acs-engine
wget https://storage.googleapis.com/golang/go1.7.3.linux-amd64.tar.gz
2.Linux下在你的用户目录下建立一个子目录gopath,并且添加如下行到你的$HOME/.profile文件:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/gopath
go get github.com/Azure/acs-engine
go get all
从以下地址:
https://dcosio.azureedge.net/dcos/testing/bootstrap
https://az837203.vo.msecnd.net/dcos-deps
下载下面的包到你的中国的镜像服务器:
5b4aa43610c57ee1d60b4aa0751a1fb75824c083.bootstrap.tar.xz(约551M)
docker-engine_1.11.2-0~xenial_amd64.deb
ipset_6.29-1_amd64.deb
libipset3_6.29-1_amd64.deb
libltdl7_2.4.6-0.1_amd64.deb
unzip_6.0-20ubuntu1_amd64.deb
cd $GOPATH/src/github.com/Azure/acs-engine
go build
./acs-engine
"masterProfile": {
"count": 1,
"dnsPrefix": "dcosmaterdemo",
"vmSize": "Standard_D2"
},
{
"name": "agentpublic",
"count": 3,
"vmSize": "Standard_D2",
"dnsPrefix": "dcosagentdemo",
"ports": [
80,
443,
8080
]
}
"publicKeys": [
{
"keyData": "YOURKEY"
}
]
./acs-engine examples/dcos.json
https://dcosio.azureedge.net/dcos/testing/bootstrap
https://az837203.vo.msecnd.net/dcos-deps
#使用Azure CLI登陆中国的Azure:
azure login -u USERNAME -p PASSWORD -e AzureChinaCloud
#创建resource group:
azure group create --name="stevenacsdcosgp" --location="China East"
#执行部署:
azure group deployment create --name="mydcoschinadeploy" --resource-group="stevenacsdcosgp" --template-file="./_output/DCOS184-10726092/azuredeploy.json" --parameters-file="./_output/DCOS184-10726092/azuredeploy.parameters.json"
Auth配置:
Tunnel配置:
TIPS:如果你碰巧很不幸,配置SSH Tunnel的时候,无法链接,检查putty event log,看到Permission Denied错误,我已经找到了解决办法,为节约你的时间,请按照如下方法执行:
检查netstat -aon | findstr "80"
你会看到有一些服务会使用ntoskrnl占用80端口,比如ws-Management导致本地tunnel失败:
net stop http
从上述文档可以看出,利用acs-engine可以非常方便的生成适用于中国Azure大规模部署的ARM模板,但其实有了这个模板,简单修改参数,就可以重复部署了,没必要每次都生成,所以我把生成好的模板已经放到了Github上,想在中国部署的同学:
https://github.com/kingliantop/azurelabs/tree/master/AzureChinaARMTemplate/mesos-marathon-vmss-china
- 克隆或者下载当前所有文件
- 修改azuredeploy.json中的http://YOURCHINASERVER为你自己的服务器,
- 修改azuredeploy.parameters.json中的所有标为CHANGIT的地方
- 修改deploy.ps1文件中deployName作为你的资源组名称
- 登陆你的Azure账户,使用ARM模式,执行deploy.ps1部署
- Linux和Mac用户也可以使用Azure CLI部署
使用ARM模板在Azure中国大规模部署DCOS集群的更多相关文章
- 【Azure Developer】Github Action部署资源(ARM模板)到Azure中国区时,遇见登录问题的解决办法
问题描述 在参考文档"使用 GitHub Actions 部署 ARM 模板"一文中,由于是在中国区Azure上操作,所以生产的部署凭证为中国区凭证.当创建工作流时,在登录到Azu ...
- [CB]IPv6 在中国 - 大规模部署进行中 进展明显
IPv6 在中国 - 大规模部署进行中 进展明显 2019年02月04日 08:21 3078 次阅读 稿源:solidot 0 条评论 中国有着世界上最大的网民人口,但它的 IPv6 普及度却处于世 ...
- 使用acs-engine在Azure中国区部署kubernetes集群详解
转载请注明出处:http://www.cnblogs.com/wayneiscoming/p/7649642.html 1. acs-engine简介 ACS是微软在2015年12月推出的一项基于容器 ...
- Azure vm 扩展脚本自动部署Elasticsearch集群
一.完整过程比较长,我仅给出Azure vm extension script 一键部署Elasticsearch集群的安装脚本,有需要的同学,可以邮件我,我给你完整的ARM Template 如果你 ...
- 庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群
庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群 一.简介 前面的两篇文章,我们已经介绍了Net Core项目基于Docker容器部署在Linux服 ...
- MariaDB Galera Cluster 部署(如何快速部署MariaDB集群)
MariaDB Galera Cluster 部署(如何快速部署MariaDB集群) [日期:--] 来源:Linux社区 作者:Linux [字体:大 中 小] MariaDB作为Mysql的一个分 ...
- 在CentOS7部署zookeeper集群以及简单API使用
一.部署zookeeper集群 zookeeper是一个针对大型分布式系统的协调系统,提供的功能有统一名称服务.分布式同步等. 1.上传zk安装包 2.解压 tar -xzvf zookeep ...
- 二进制安装部署kubernetes集群---超详细教程
本文收录在容器技术学习系列文章总目录 前言:本篇博客是博主踩过无数坑,反复查阅资料,一步步搭建完成后整理的个人心得,分享给大家~~~ 本文所需的安装包,都上传在我的网盘中,需要的可以打赏博主一杯咖啡钱 ...
- 高可用Kubernetes集群-14. 部署Kubernetes集群性能监控平台
参考文档: Github介绍:https://github.com/kubernetes/heapster Github yaml文件: https://github.com/kubernetes/h ...
随机推荐
- 利用ARM批量自动化创建SSD多磁盘RAID0虚拟机
在实际生产环境大规模部署的时候,有时需要能批量创建多台Linux虚拟机,并且该虚拟机带多个硬盘,一些数据库环境,比如MySQL和MongoDB等,会需要超过10000de IOPS, 那么创建的虚拟机 ...
- 怎样在Word中插入代码并保持代码原始样式不变
怎样在Word中插入代码并保持样式不变 我们有时候需要在word中添加一段我们写的代码,但是把代码粘贴到word文档中之后就发现所有的代码的样子都变了,我们可以采用下边的方法来实现保持代码原来的样式和 ...
- [转]RegOpenKeyEx函数失败的问题
在使用这个函数RegOpenKeyEx的时候,老是执行不成功,函数本身返回2,GetLastError返回0.在CSDN上查阅资料说是返回2的原因是注册表中对应路径不存在,可是我电脑中注册表那个键值明 ...
- cf493B Vasya and Wrestling
B. Vasya and Wrestling time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- 【剑指offer】面试题38:数字在排序数组中出现的次数
题目: 统计一个数字在排序数组中出现的次数. 思路: 对二分查找进行改进,找到数字在数组中第一次出现和最后一次出现的位置,这样就得到它出现的次数. 以找第一次出现的位置为例:如果mid元素大于k,则在 ...
- spoj1812-Longest Common Substring II(后缀自动机)
Description A string is finite sequence of characters over a non-empty finite set Σ. In this problem ...
- sicily 1007 To and Fro
题意:字符串的操作处理 // Problem#: 8768 // Submission#: 2606406 // The source code is licensed under Creative ...
- C++程序面试笔迹六
1.const和static的作用 用最熟悉的语言: 2.阶乘求和 如:1!+2!+3!+4!+……+n!=sum? 3.删除掉字符串中相同的字母只留有一个 如: akkkjjtyy——> ...
- Hive 1、什么是Hive,Hive有什么用
一.什么是Hive Hive是建立在 Hadoop 上的数据仓库基础构架.它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储.查询和分析存储在 Hadoop 中的大规模数据 ...
- Entify Framewrok - LINQ简单使用
1.如何使用Join: http://www.devcurry.com/2011/01/join-example-in-linq-and-c.html