如何利用Rancher构建Piel.io的微服务交付

郑天寿
• 阅读 1873

本文来自网站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构建Piel.io的微服务交付

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

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

如何利用Rancher构建Piel.io的微服务交付

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

如何利用Rancher构建Piel.io的微服务交付

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

系统管理 > 访问控制

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

如何利用Rancher构建Piel.io的微服务交付

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

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

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

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

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

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Rancher开源Harvester:基于K8s的超融合基础架构软件
2020年12月17日,业界应用最为广泛的Kubernetes管理平台创建者RancherLabs(以下简称Rancher)宣布推出全新开源软件Harvester,一个通过Kubernetes构建的超融合基础架构(HCI)软件。!图片(https://img.rwimg.top/7592_5649bc00e54d4b30a1419db9c4
Stella981 Stella981
3年前
Rancher2.x流水线自动化部署
1、概述  由于一些项目使用了rancher进行部署发布,所以使用Rancher的流水线自动部署功能实现CICD,从gitlab、harbor安装,到流水线配置和中间的一些问题一一进行详细介绍解答。2、准备工作  前期的Docker和Rancher安装就不在描述,直接进入正题  2.1gitlab安装
Stella981 Stella981
3年前
Centos7快速安装Rancher
 通过docker,我们可以快速安装rancher安装步骤如下:\root@localhost~\run运行,d后台模式restartalways跟随docker启动,p映射端口,镜像名为rancher/server。docker会自动下载并安装启动root@localhost~dockerrund
Stella981 Stella981
3年前
Rancher 2.4.3
一、概述对于生产环境,需以高可用的配置安装Rancher,确保用户始终可以访问RancherServer。当安装在Kubernetes集群中时,Rancher将与集群的etcd集成,并利用Kubernetes调度实现高可用。为确保高可用,本文所部署的Kubernetes集群将专用于运行Rancher,Rancher运行
Stella981 Stella981
3年前
Rancher2
个人理解:就是相当于openstack的图形化界面,或者说应用程序的图形化界面,rancher功能就是在图形化界面去管理容器,包括运行容器,创建网络,存储等;rancher有个应用商店,可以根据自己的需要去部署容器集群应用,就是能实现各种功能,总之好的不得了.官方说:Rancher的基础设施服务也是通过容器部署的,所以同样Rancher的基础设施服务
Stella981 Stella981
3年前
Rancher3
官方说:Rancher是使用一系列的Docker容器进行部署的。运行Rancher跟启动两个容器一样简单。一个容器作为管理服务器部署,另外一个作为集群节点的Agent部署官方的意思是:学好docker基础是关键官方安装要求:!(https://oscimg.oschina.net/oscnet/79bdc381dc
Stella981 Stella981
3年前
Rancher 2.2.2
对于生产环境,需以高可用的配置安装Rancher,确保用户始终可以访问RancherServer。当安装在Kubernetes集群中时,Rancher将与集群的etcd集成,并利用Kubernetes调度实现高可用。为确保高可用,本文所部署的Kubernetes集群将专用于运行Rancher,Rancher运行起来后,可再创建或导入
Stella981 Stella981
3年前
CentOS7安装Rancher企业容器平台
参考官网文档https://www.rancher.cn/docs/rancher/v2.x/cn/configuration/catalog/1\.环境rancher需要在Linux系统上安装,我这里使用的是CentOS,rancher2.x要求的CentOS版本为7.5以上,所以两台机器使用的都是7.5版本。ro
Stella981 Stella981
3年前
Kubernetes管理平台:Rancher
Rancher是基于kubernetes的PaaS管理平台,成熟度还算可以源码包准备mkdirp$GOPATH/src/github.com/ranchercd$GOPATH/src/github.com/ranchergitclonehttps://github.com/rancher/ranch
Stella981 Stella981
3年前
GitLab+Rancher实践DevOps【转载】
摘要本文描述使用自建GitLab和Rancher实践持续集成/持续交付流水线的过程,并用Rancher实现容器编排和蓝绿发布。GitLab持续集成GitLab持续集成/持续交付流程图:!image(https://docs.gitlab.com/ee/ci/img/cicd_pipeline_infograp
E小媛同学 E小媛同学
1年前
如何将快递物流查询API集成到微信小程序中
在数字化时代,微信小程序为用户提供了便捷的服务体验。其中,快递物流查询是一个高频需求功能。本文将指导你如何将快递物流查询API集成到微信小程序中,为用户提供实时的物流跟踪服务。