阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS安装部署Rancher Server

115次阅读
没有评论

共计 4065 个字符,预计需要花费 11 分钟才能阅读完成。

* Rancher 概览
Rancher 是一个开源的企业级容器管理平台。通过 Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher 提供了在生产环境中使用的管理 Docker 和 Kubernetes 的全栈化容器部署与管理平台。

Rancher 由以下四个部分组成:

基础设施编排
Rancher 可以使用任何公有云或者私有云的 Linux 主机资源。Linux 主机可以是虚拟机,也可以是物理机。Rancher 仅需要主机有 CPU,内存,本地磁盘和网络资源。从 Rancher 的角度来说,一台云厂商提供的云主机和一台自己的物理机是一样的。

Rancher 为运行容器化的应用实现了一层灵活的基础设施服务。Rancher 的基础设施服务包括网络,存储,负载均衡,DNS 和安全模块。Rancher 的基础设施服务也是通过容器部署的,所以同样 Rancher 的基础设施服务可以运行在任何 Linux 主机上。

容器编排与调度
很多用户都会选择使用容器编排调度框架来运行容器化应用。Rancher 包含了当前全部主流的编排调度引擎,例如 Docker Swarm,Kubernetes,和 Mesos。同一个用户可以创建 Swarm 或者 Kubernetes 集群。并且可以使用原生的 Swarm 或者 Kubernetes 工具管理应用。

除了 Swarm,Kubernetes 和 Mesos 之外,Rancher 还支持自己的 Cattle 容器编排调度引擎。Cattle 被广泛用于编排 Rancher 自己的基础设施服务以及用于 Swarm 集群,Kubernetes 集群和 Mesos 集群的配置,管理与升级。

应用商店
Rancher 的用户可以在应用商店里一键部署由多个容器组成的应用。用户可以管理这个部署的应用,并且可以在这个应用有新的可用版本时进行自动化的升级。Rancher 提供了一个由 Rancher 社区维护的应用商店,其中包括了一系列的流行应用。Rancher 的用户也可以创建自己的私有应用商店。

企业级权限管理
Rancher 支持灵活的插件式的用户认证。支持 Active Directory,LDAP,Github 等 认证方式。Rancher 支持在环境级别的基于角色的访问控制 (RBAC),可以通过角色来配置某个用户或者用户组对开发环境或者生产环境的访问权限。

下图展示了 Rancher 的主要组件和功能:
CentOS 安装部署 Rancher Server

* Rancher Server 安装
准备 linux 主机:CentOS7(docker 环境)
主机 IP:192.168.18.113(Rancher 服务器)
主机 IP:192.168.18.114

Docker 安装

添加 yum 源:

$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

yum 缓存更新,安装 docker-engine。

$ sudo yum update(不更新 Linux 内核系统,不操作)$ sudo yum install -y docker-engine

启动 docker。

systemctl start docker.service
systemctl enable docker.service

Rancher 服务器启动(单容器部署)

Rancher 单容器部署无需考虑数据库(rancher 使用内部数据库,测试环境使用)。
$ sudo docker run -d --restart=always -p 8080:8080 rancher/server

Rancher 单容器部署使用外部数据库 Link。
$ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server --db-host xxx --db-port 3306 --db-user username --db-pass password --db-name dbname

rancher/server:latest 最新版,rancher/server:stable 稳定版生产环境建议使用此版本。

单容器安装部署
$ sudo docker run -d --restart=always -p 8080:8080 rancher/server

显示 Rancher 服务器的容器 ID,替换 containerid

$ sudo docker ps
docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
b1164aef82ff        rancher/server      "/usr/bin/entry /u..."   9 minutes ago       Up 9 minutes        3306/tcp, 0.0.0.0:8080->8080/tcp   vigorous_wing

显示并查看 Rancher 服务器的日志

$ sudo docker logs -f containerid
docker logs -f b1164aef82ff

启动 Rancher 服务器可能需要花几分钟时间。这取决于下载 Rancher Server 镜像的速度(sudo docker run -d –restart=always -p 8080:8080 rancher/server,目前很慢,花了一个晚上自己下载)。当日志中显示“…. Startup Succeeded, Listening on port…”以后,Rancher UI 图形界面现在就能正常访问。

添加主机
添加运行 Rancher 服务器容器的主机。而在实际的生产环境中,建议使用专用的主机来运行 Rancher 服务器。
另一台主机 IP:192.168.18.114 已经安装好 docker。

点击图形界面的 Infrastructure 标签来添加主机,然后您将会看到 Hosts 页面。Rancher 会提示您选择一个 IP 地址。这个 IP 地址必须可以被所有即将添加的主机访问到。
添加 Rancher 服务器主机自身,因此我们可以忽略这个提示信息。点击 Save;
CentOS 安装部署 Rancher Server

进入默认的 Custom 选项页面,可以得到运行 rancher/agent 容器的命令。在每台需要添加到 rancher 控制台的主机上运行 rancher/agent。

Rancher 提供的用于添加主机的命令如下:

$ sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11
http://192.168.18.113:8080/v1/scripts/273C726DB6B906917F5B:1514678400000:7Do96pJNElcw1OYHz1aGuiQKe

CentOS 安装部署 Rancher Server

在运行 Rancher 服务器的主机上运行 rancher/agent 容器命令。

在 Rancher 的页面中点击 Close 按钮后,您会被返回到 Infrastructure -> Hosts 页面。在一两分钟后,这个主机将自动出现在这里。
CentOS 安装部署 Rancher Server

使用图形界面创建一容器
进入 Applications -> Stacks 页面,如果这里还没有服务,你可以点击“Add Service”按钮。你可以输入一个类似“firstcontainer”的名字。您现在使用默认配置并点击 Create。Rancher 将开始在这个主机上启动两个容器。一个容器是您所创建的名为 firstcontainer;另外一个容器是 Network Agent,这是个由 Rancher 创建的系统容器,它用来处理扩主机联网和健康检查等任务。

不管你的主机是什么 IP 地址,first_container 和 Network Agent 将会的到 10.42.. 网段的 IP 地址。Rancher 已经创建了能在不同主机之上的让所有容器可以相互通信的覆盖网络。

如果你点击 first_container 的下拉菜单,你可以执行各种动作,例如:停止容器,查看日志,或者进入容器的控制台。

CentOS 安装部署 Rancher Server

使用 docker 原生命令创建一容器
Rancher 会显示所有在主机上的容器,即使有些容器是在图形界面之外创建的。在主机的 shell 命令行里创建一个容器。阿里云镜像仓库中 pull 下来。
$ docker run -it --name=container-tomcat-qa registry.cn-hangzhou.aliyuncs.com/xmbaby-test/test-tomcat

在 Rancher 图形界面中,你将看到 container-tomcat-qa 在你的主机上出现!
CentOS 安装部署 Rancher Server

如果通过退出命令行来退出(ctrl+C)用命令方式创建的容器,在 Rancher 图形界面中将立刻显示这个容器的状态为停止。
CentOS 安装部署 Rancher Server

Rancher 可以对带外发生的事件作出反应,并把当前的显示状况如实地整合在它的视图中。

如果你查看容器 container-tomcat-qa 的 IP 地址,你会注意到他不在 10.42.. 网段中。它的 IP 地址是通过 Docker 后台服务获得的。这是通过命令行方式创建容器的正常的结果。

如果希望通过命令行创建的容器依然具有 Ranger 覆盖网络的网络地址呢?我们所需要做的就仅仅是在命令中加一个标签。
$ [root@rancher-qa ~]# docker run -it --label io.rancher.container.network=true --name=container-tomcat-qa11 registry.cn-hangzhou.aliyuncs.com/xmbaby-test/test-tomcat

标签 io.rancher.container.network 让我们通过命令行传递了一个通知,这样 Rancher 会为把容器配置为连接到覆盖网络。

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4065字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中