15分钟!在Azure上部署Rancher管理Kubernetes

做者简介node

做者:Steve Buchanangit

Steve Buchanan,Avanade云转型与DevOps团队主管。近20年的IT从业经验,出版过多本云和数据中心管理的技术书籍。从2012年起至今,Steve连续7年成为微软MVP,并在2017年得到过微软“25 ITSM Experts to Watch in 2017”和“IT Unity Community Champ”。github

Rancher是一个开源的Kubernetes多集群操做和工做负载管理的解决方案。简而言之,您可使用Rancher来统一部署和管理公有云(如Azure、AWS、GCP等)上的Kubernetes集群,它们能够是公有云托管的Kubernetes如GCE、EKS、AKS,也能够是用户本身建立的集群。Rancher还集成了许多第三方身份验证解决方案,诸如Active Directory、Azure Active Directory、Github,还有Splunk、Elasticsearch或Syslog端点等日志解决方案。docker

关于经过Terraform在笔记本电脑或AWS上运行Rancher,我找到了很多现成的的指令和设置脚本能够供用户直接使用,却发现关于Azure + Rancher的相关内容比较少。shell

我本身尝试后,成功地让个人Rancher环境在Azure上运行了。但我想,若是有一些准备好了的脚本或模板,可让你们更快速地在Azure上启动Rancher,那就更不错。我找到了一些其余人贡献的ARM模板来驱动Rancher,可是他们部署的是旧版本的Rancher,而且在模板中不清楚如何更新,以部署最新版本的Rancher。因而我决定构建一些可用于在Azure上快速部署Rancher、并将一个Kubernetes主机添加到Rancher的ARM模板。在我构建的这个ARM模板中,它将始终从Docker Hub中拉取Rancher容器,所以它可以保持始终部署了最新版本的Rancher。在这篇文章中,我将详细说明如何让你的Rancher在15分钟内启动并运行。浏览器

首先,您能够在个人Github上找到ARM模板:app

https://github.com/Buchatech/DeployRanchertoAzure。ssh

这个镜像库中包含了用于部署Rancher的ARM模板和用于Kubernetes的主机VM。注意:我提供的这些模板能够供你们学习使用,但我不建议将其用于生产。学习

在repo中,名为RancherNode.JSON的ARM模板#1将部署一个带Docker的Ubuntu VM以及最新版的Rancher(https://hub.docker.com/r/rancher/rancher)。名为RancherHost.JSON的ARM模板#2将部署带有Docker的Ubuntu VM,用做为Rancher中的Kubernetes主机。3d

节点部署

经过“模版部署”或其余部署方法,将RancherNode.JSON的ARM模板部署到Azure订阅中。系统将提示您输入下面这张屏幕截图中显示的信息:

主机部署

经过“模板部署”或其余部署方法,将RancherHost.JSON ARM模板部署到Azure订阅中。须要注意的是,这个操做应该将Rancher Host ARM模版部署到和Rancher Node ARM模板的同一个资源组中。系统将提示您输入下面这张屏幕截图中显示的信息:

部署Rancher Node和Rancher Host ARM模板后,就能够在新资源组中看到如下资源了:

接下来,在Web浏览器中,打开Rancher门户。URL是Rancher Node VM的DNS名称。若是你不知道DNS名称是什么,能够单击概述页面上Azure门户中的Rancher Node VM。如下是URL的示例:

https://ranchernode.centralus.cloudapp.azure.com

Rancher门户将提示您设置密码,就以下图所示:

设置好密码后,Rancher门户将提示您输入正确的Rancher Server URL。这将自动成为Rancher Node VM DNS名称。而后单击“保存URL”。

保存以后,你就会登陆到Rancher门户,而后看到集群页面。如今你能够向Rancher添加新的Kubernetes集群了。在这篇文章中,我将展现如何将集群添加到Rancher Host VM。完成全部这一切后,Rancher会成功地将Kubernetes部署到Rancher Host VM。你也能够添加一个托管的Kubernetes,例如AKS,但这篇文章中咱们暂时不演示这部份内容了。

单击“添加集群”

在“从我本身的现有节点”下,单击“自定义”,为集群命名,而后单击“下一步”。

接下来,检查节点选项的全部可选框,由于全部角色都将在单个Kubernetes集群上。复制页面底部显示的代码,单击“完成”,并在Rancher主机上运行代码。

要在Rancher主机上运行代码,您须要SSH并从那里运行它。请按照下列步骤操做:

  1. 在Azure门户中,在资源组中点击Rancher Host VM。

  2. 在Overview页面上,单击Connect。

  3. 稍后会弹出一个“链接到虚拟机”的屏幕,复制屏幕上的“ssh ranchuser@rancherhost.centralus.cloudapp.azure.com”。

  4. 经过VS代码,打开Azure云shell的终端或相似终端的终端,而后输入刚刚复制的“ssh ranchuser@rancherhost.centralus.cloudapp.azure.com”。

运行代码将以下所示:

完成后,运行Docker PS,以查看Rancher agent容器是否正在运行:

在集群下的Rancher门户中,能够看到Rancher主机正在配置中:

当Kubernetes部署完成后,状态将发生变化:

完成配置后,Kubernetes集群将处于“活跃”状态了:

如今咱们能够看到这个新的Kubernetes集群的大量信息了。咱们甚至能够今后处启动Kubectl并开始运行命令!你能够花点时间处处点击试试,看看有哪些是你使用Kubernetes时熟悉的东西。能够说Rancher是真正大幅简化了Kubernetes的管理体验,Cool!

若是要添加更多节点或再次须要配置代码,只需单击我下图框出的省略号按钮,而后进行编辑便可:

在“编辑集群”中,您能够更改集群名称、获取和更改设置、以及复制代码以将更多VM添加到集群中:

本文到此结束,欢迎在做者博客中了解更多有关Azure、Kubernetes、Rancher的技术文章:

http://www.buchatech.com

相关文章
相关标签/搜索