一、Rancher介绍
Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。 Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持。
Kubernetes不仅已经成为的容器编排标准,它也正在迅速成为各类云和虚拟化厂商提供的标准基础架构。Rancher用户可以选择使用Rancher Kubernetes Engine(RKE)创建Kubernetes集群,也可以使用GKE,AKS和EKS等云Kubernetes服务。 Rancher用户还可以导入和管理现有的Kubernetes集群。
Rancher支持各类集中式身份验证系统来管理Kubernetes集群。例如,大型企业的员工可以使用其公司Active Directory凭证访问GKE中的Kubernetes集群。IT管理员可以在用户,组,项目,集群和云中设置访问控制和安全策略。 IT管理员可以在单个页面对所有Kubernetes集群的健康状况和容量进行监控。
Rancher为DevOps工程师提供了一个直观的用户界面来管理他们的服务容器,用户不需要深入了解Kubernetes概念就可以开始使用Rancher。 Rancher包含应用商店,支持一键式部署Helm和Compose模板。Rancher通过各种云、本地生态系统产品认证,其中包括安全工具,监控系统,容器仓库以及存储和网络驱动程序。下图说明了Rancher在IT和DevOps组织中扮演的角色。每个团队都会在他们选择的公共云或私有云上部署应用程序。
早期的Rancher1.X版本是基于Docker以Cattle为调度引擎的容器管理平台。在Rancher1.X成功和经验的基础上,基于Kubernetes基础上重新设计Rancher2.0版本。 Rancher2.0保留了1.6版的友好功能,如UI和应用商店。但是,2.0包含许多新功能,例如:
内置CI/CD;
告警和日志收集;
多集群管理;
Rancher Kubernetes Engine (RKE);
与云Kubernetes服务(如GKE,EKS和AKS)集成;
二、快速安装Rancher
(1)、操作系统需求
Rancher可以部署在云主机、本地虚拟机、本地物理机,在使用云主机时,需要允许TCP/80和TCP/443入站通信端口。Rancher支持多种操作系统,推荐如下版本:
Ubuntu 16.04 +(64位)
Centos/RedHat Linux 7.5+(64位)
RancherOS 1.3.0+(64位)
Ubuntu操作系统有Desktop和Server版本,选择安装server版本
(2)、硬件需求
满足小规模测试环境的最低配置为:
CPU: 2C
内存: 4GB
(3)软件需求
软件: Docker
支持的Docker版本:
17.03.x
18.06.x
18.09.x
19.03.x
(4)、容器方式安装Rancher
要想在主机上安装Rancher,需要先登录到主机上,接着进行以下步骤:
通过shell工具(例如PuTTy或远程终端连接)登录到主机
在shell中执行以下命令:
sudo docker run -d --restart=unless-stopped -v <主机路径>:/var/lib/rancher/ -p 80:80 -p 443:443 rancher/rancher:stable
三、Rancher的基本使用
1、登录并开始使用Rancher。登录后,您将进行一些一次性配置。
2、打开浏览器,输入https://<server_ip>,server_ip替换为运行Rancher容器主机的ip;
因为是自动使用的自签名证书,在第一次登录会提示安全授信问题,信任即可;
3、设置管理员密码
第一次登录会要求设置管理员密码,默认管理员账号为: admin,如果没有设置密码而要求输入当前密码,可以输入密码: admin
4、设置Rancher Server URL
Rancher Server URL是agent节点注册到Rancher Serverd的地址,需要保证这个地址能够被agent主机访问,不要设置为127.0.0.1或者localhost。
四、通过Rancher安装K8S集群
现在创建第一个Kubernetes集群,可以使用自定义选项。您可以添加云主机、内部虚拟机或物理主机作为集群节点,节点可以运行任何一种或多种主流Linux发行版:
1. 页面右下角可以切换语言;
2. 在全局视图下,点击菜单中的集群 , 并点击添加集群;
3. 选择 Custom,并设置集群名称,其他参数可不用修改,点击下一步;
4. 选择节点运行的角色
默认会勾选Worker角色,根据需要可以一次勾选多种角色。比如,假设我只有一个节点,那就需要把所有角色都选择上,选择后上面的命令行会自动添加相应的命令参数;
5. 如果是云主机,需要添加主机的内网地址和对应的公网地址,如果是没有公网的云主机,可以跳过这步;
6. 其他参数保持默认,点击命令行右侧的复制按钮,复制命令参数
如果是多台主机,根据角色的不同,需要复制多次
7. 登录预添加集群的主机,执行以上复制的命令;
8. 在主机上执行完命令后,最后点击完成;
9. 回到全局视图,可以查看集群的部署状态;
10. 点击集群名称,进入集群视图
11. 点击菜单栏主机按钮
12. 集群创建完成
13. 集群创建完成后,默认会生成Default项目,点击Default切换到项目视图;
6. 部署工作负载
工作负载是一个对象,包括pod以及部署应用程序所需的其他文件和信息。我们以nginx作为例如:
1. 在Default视图下,点击工作负载—部署服务
2. 在部署工作负载页面,设置工作负载名称、副本数量、镜像名称、命名空间、端口映射,其他参数保持默认,最后点击启动;
3. 部署完成
4. 通过31174端口去访问nginx服务。