本文来自网站Piel.io的建设者,几个月前,他们开始尝试在Piel.io上使用Rancher来构建第一个微服务。作者将通过三篇blog跟大家分享一下他们是如何通过Rancher来构建Piel.io的微服务交付的。

正文

本文希望可以帮助到那些刚刚接触Rancher的用户,对Rancher已经十分熟悉的技术大拿们可以跳过。第一篇,我将介绍下如何搭建自己的Rancher Server。第二篇,我将介绍下如何构建、配置以及整合自己的Docker Registry。第三篇,我们将讨论下如何通过Stack向企业提供一个可用的平台,可用于描述、部署和管理多种的业务应用。

首先,准备一台虚拟机。我是从vutlr.com上购买了一个Ubuntu 14.04 LTS.

前提:安装Docker

curl -fsSL https://get.docker.com/ | sh

安装完成后,用docker –v命令进行验证:

 docker -v
 Docker version 1.10.3, build 20f81dd

成功,可以继续。

接下来下载最新的Rancher,我们可以不指定Tag。所有可以使用的Tag可从此获得:https://hub.docker.com/r/ranc...

docker pull rancher/server:v1.0.0
v1.0.0: Pulling from rancher/server

8387d9ff0016: Already exists

3b52deaaf0ed: Already exists

4bd501fad6de: Already exists

a3ed95caeb02: Already exists

1dd2ffa08394: Already exists

6574a9c2d75b: Already exists

fedb745f2358: Already exists

951a2617430a: Already exists

04f380ccb3c6: Already exists

6367f33eed6c: Already exists

Digest: sha256:7634423082be8a3c7a7aafa71f3b344f212ce1b75ee3f4263362fbc87812bf6b

Status: Downloaded newer image for rancher/server:v1.0.0

成功!

容器环境下,可以通过volume来配置数据保持。我们先创建一个目录:

mkdir -p /data/rancher-server

运行刚才已下载的Rancher image
注:docker run可以直接下载Rancher image,为了让大家了解整个过程我在此把这两步拆解了

sudo docker run -d -v /data/rancher-server:/var/lib/mysql --restart=always -p 80:8080 rancher/server:v1.0.0

f83e74a6b8f5c20d74acad519004635a74662954634966606e9046a7be29233b

看上去已经成功了,我们来验证一下:

docker ps

CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                            NAMES

f83e74a6b8f5        rancher/server:v1.0.0   "/usr/bin/s6-svscan /"   35 seconds ago      Up 34 seconds       3306/tcp, 0.0.0.0:80->8080/tcp   distracted_elion

启动了,但名字有点丑陋(Docker的自动命名导致),所以我干掉了这个容器,重新运行命令并增加 --name rancher-server参数。

sudo docker run -d -v /data/rancher-server:/var/lib/mysql --restart=always -p 80:8080 --name rancher-server rancher/server:v1.0.0

1fa9cc4013e8e17f1ac175b011955308089819e8c10d423e3b06ed09c536e864

 

docker ps

CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                            NAMES

1fa9cc4013e8        rancher/server:v1.0.0   "/usr/bin/s6-svscan /"   3 seconds ago       Up 2 seconds        3306/tcp, 0.0.0.0:80->8080/tcp   rancher-server

接下来访问Rancher Server主页:

图片描述

好极了,现在Rancher Server已经启动,可以通过8080端口访问并配置了数据保持,当我们升级或者迁移Rancher Server时所有的配置都可以被保存。

接下来我把主题从浅色设置为了深色,你可以跳过此步骤。

图片描述

同时,我们还可以通过页面右下角的设置切换显示语言,可进行一键切换。(已提供中文支持)

图片描述

现在任何人都可以通过此URL访问到Rancher,所以我启用了Github认证(Rancher目前支持AD、Github、本地账户以及OpenLDAP四种认证方式)。

系统管理 > 访问控制

根据页面说面完成访问控制配置,我在此就不再重复说明了。

图片描述

输入客户端ID以及客户端秘钥,Github认证页面将弹出并要求确认和授权。

配置完成后,我们已经成功设置了Rancher Server的访问控制。

让我们重启回顾下我们完成了哪些工作:

我们下载了Rancher Server 1.2.0-pre3的容器镜像并使其运行在端口8080,启动了数据保持方便日后的升级和运维操作。同时启用了通过github进行认证的访问控制。

下一篇文章,我会创建一个Docker Registry并且介绍如何在Rancher中使用它。


Rancher
1.2k 声望2.5k 粉丝

Rancher是一个开源的企业级Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理。Rancher一向因操作体验的直观、极简备受用户青睐,被Forrester评为“2020年多云容器开发平台领导厂商...