宝塔面板 + Rancher + 阿里云镜像仓库 + Docker + Kubernetes,添加集群、部署 web 应用

 

目录

  一,安装宝塔面板(V 6.8)

  二,使用宝塔安装 Docker,配置阿里云容器服务

  三,安装 Rancher (Server)

  四,管理 Rancher、添加集群 

  五,添加 Rancher 应用、服务,与 Nginx

  六,ASP.NET Core 应用部署

  七,相关文章推荐

前言:html

本文使用 Centos 7.x 进行操做,Rancher 官方推荐使用 Ubuntunginx

Docker 对内核要求 大于 3.10,你可使用 uname -r 检测系统内容版本。web

 经过 Rancher,能够很方便地对多个主机进行管理,实现负载均匀、集群、分布式构架、故障转移、状态监控等。docker


 

一,安装宝塔面板(V 6.8)

宝塔官网提供了详细的安装教程,针对不一样系统有不一样安装方式,下面只提供部分安装代码。shell

详细请移步 https://www.bt.cn/bbs/thread-19376-1-1.htmlubuntu

打开服务器 shell 终端安全

Centos 安装命令:bash

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

Ubuntu/Deepin 安装命令:服务器

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

 

等待一段时间后,会出现控制面板地址和帐号密码
样例以下:架构

Bt-Panel: http://<您的 CVM IP 地址>:8888
username: qbqd****
password: eeed****
#记下你的帐号密码

打开面板地址,输入帐号密码进行登录。

注:

阿里云、腾讯云等有安全组限制,可能须要添加  8888   端口,给予访问权限。


 

二,使用宝塔安装 Docker,配置阿里云容器服务

经过宝塔面板的 Docker管理器 ,能够很方便地获取、提交镜像,推送已修改的镜像,对本地的容器进行管理,一切可视化操做,还能单独对容器打开终端,进行命令操控。

 

1,登录宝塔面板后,点击左侧导航栏的 “软件管理”,找到 Docker 进行安装。

 

2,安装完毕后,打开 Docker 管理器(可在 “软件管理” 中找到)。

 

 3,点击镜像管理,添加阿里云镜像帐号

填写帐号,须要你的 阿里云RAM访问控制(子帐号)、镜像仓库、命名空间

可到如下地址查看或建立,再填写到宝塔面板

命名空间

https://cr.console.aliyun.com/cn-shenzhen/namespaces

镜像仓库

https://cr.console.aliyun.com/cn-shenzhen/repositories

镜像加速器

https://cr.console.aliyun.com/cn-shenzhen/mirrors

RAM访问控制

https://ram.console.aliyun.com/overview

5分钟内便可完成。


三,安装 Rancher (Server)

Rancher 是一个开源的企业级容器管理平台。经过 Rancher,企业不再必本身使用一系列的开源软件去从头搭建容器服务平台。

Rancher 提供了在生产环境中使用的管理 DockerKubernetes 的全栈化容器部署与管理平台。

固然,使用Rancher,带来了管理上的方便,也是会稍微下降服务器的性能的,可是这点影响,能够忽略不计。

1,在 shell 终端 输入命令安装 Rancher

sudo docker run -d --restart=always -p 8080:8080 rancher/server

注:

Rancher 默认使用了端口  8888 

2,访问 Rancher 面板

打开 http://ip:8080,便可访问你的面板,若是没法访问,请查看 下一步

 

3,容许端口

 因为安全组和防火墙限制,须要在云服务商实例安全组和宝塔面板开放 8080 端口,才能正常访问。建议直接放行 1-9000 范围的端口,后面仍然须要开放几个端口,直接开放一个范围,后面就没必要再一个个添加。

4,查看容器、镜像

打开 宝塔面板 的 “软件管理”-Docker管理,能够查看到正在运行的容器和本地镜像,利用宝塔面板很方便地能够对 Docker 进行操控。能够尝试把镜像推送到阿里云仓库。


 

四,管理 Rancher、添加集群 

打开所有应用列表,查看状态,healthcheck 、ipsec (除了 myapp )等是系统服务,若是出现下面的状况(显示红色、出现感叹号),请检查是否开放了 500、4500 端口,而后手动启动运行。

 

咱们安装的 Rancher ,其实是 Server 端,经过 Rancher,能够完成集群管理、分布式架构。

1,打开了 Rancher,首先要添加管理员帐号

点击顶部导航栏的 ADMIN,选择  Access Control ,在出现的多个图标中,选择 LOCAL,而后添加帐号密码。

 

 

 

 2,试试切换中文

 Rancher 底部有语言切换功能,修改成中文,方便后面的讲解。

3,添加主机

要使用 Rancher,至少要一个主机,能够是当前主机的自己。

点击 Rancher 面板顶部导航栏的 ”基础构架“ - ”主机“,而后 添加主机

 

这一步,无需修改或进行其余什么配置,页面下方会出现一端脚本代码,把这段代码复制到终端 shell 运行。待 shell运行完毕,点击 Rancher 页面的”关闭“,必定要记得 点击关闭

4,出现了主机

这时候便可看到以及添加的主机,能够对容器进行监控、修改啦~~~

这里添加的是 ”Custom“ ,你也能够添加 Azure 等主机。

 

 5,使用仪表盘查看主机状态

在主机列表,点击实例名,便可加入仪表盘。


五,添加 Rancher 应用、服务,与 Nginx

这一步主要以 Nginx 为例,经过建立 Nginx 服务器,学会使用 Rancher、相关功能的使用,对其余应用使用相似方式手动部署。

1,放行  4500 端口、500 端口

 4500、500 Rancher 系统服务须要

2,在 Rancher 中添加应用

点击导航栏的 ”应用“ - ”所有“ ,页面会出现应用列表。

点击 ”添加应用“ ,名称为 myapp

3,在刚刚建立的应用中,添加服务

  • 名称输入 nginx
  • 镜像输入 nginx ,固然你也能够选择 nginx 版本,填写形式跟 Docker 镜像形式一致,
  • 两个端口输入 8090 
  • 其余地方不用填,点击 ”建立“ 便可。

这里填写的端口,公开端口即 Docker 向外公开的端口,私有容器端口是容器内其应用的端口。

因为这里不对 nginx 服务器进行更多处理,因此端口能够随便填,只要公开端口没有被占用便可~

两个端口的关系至关于

docker run -p 8080:8080 ... ...

 

4,添加负载均匀

myapp 应用管理界面,点击 ”添加服务“ -> ”添加负载均匀“ ,端口填写 80/80 ,此端口用于外网访问 Docker 容器内的应用、实现多台主机的负载均匀。经过使用 负载均匀功能 ,负担 nginx 服务的流量。不要设置为 8080 等,否则会出现访问失败。此功能也是把容器应用暴露到外网的功能,经过外网能够直接访问到应用。

 

 

必定要选择目标,选择要暴露的应用。

这里选择 80 做为端口,由于开发者使用 nginx 部署网站,网站访问应当使用 80 端口。固然,也能够随意使用其余端口。

 

 

5,访问 nginx

打开 http://ip:80 或直接访问 http://ip

便可访问

6,集群负载均匀

经过添加外部服务,再添加负载均匀,重复两个步骤,能够实现集群的负载均匀。这里再也不尝试。

在这里注意负载均衡与外部服务的区别,

  • 负载均衡须要配置服务自身的端口,
  • 而外部服务须要为其配置,其余连接服务所暴露出的端口,即其余主机暴露出来的公用端口


六,ASP.NET Core 应用部署

这里与第五步 的 Nginx 无关,为了便于理解、避免端口占用,咱们把建立的 myapp 删除。

 笔者做为 .NET 学习者,固然要搞一下ASP.NET Core了~~~。

1,添加新的应用,名为 webapp

 2,添加服务

镜像源填写 microsoft/dotnet-samples:aspnetapp

这个镜像为微软官方提供的 ASP.NET Core 默认模板镜像,固然,你也能够把本身的应用打包后推送镜像到仓库,再使用 Rancher 建立容器。

端口为 5000,是由于 ASP.NET Core 默认使用 5000 端口,咱们干脆也用这个。没实际意义,没必要关注这一点。

 

 3,添加负载均匀

 

4,访问网站

访问 http://ip:80 或直接访问 你的ip


七,相关文章推荐

1,使用  Kubernetes

KubernetesGoogle 开源的容器集群管理系统。

其设计目标是在主机集群之间提供一个可以自动化部署、可拓展、应用容器可运营的平台。

Kubernetes 一般结合 docker 容器工具工做,而且整合多个运行着docker容器的主机集群,Kubernetes不只仅支持 Docker,还支持 Rocket,这是另外一种容器技术。

(直接抄来的,哈哈哈哈~~~)

 

 

推荐文章

http://blog.51cto.com/13941177/2165668

 #文章手把手,很是详细地讲解使用Rancher 安装 K8s,部署集群、配置节点,对主机进行管理、部署Web应用

 

2,本地 ASP.NET Core 应用容器化

Vs2017 以上,已经为 ASP.NET Core 添加 Docker 支持

咱们能够更方便地进行开发,实现跨平台、微服务构架等。

笔者 推荐文章 http://www.javashuo.com/article/p-mgubprch-bg.html

# 详细讲解了 ASP.NET Core 项目如何添加 Docker 支持,并打包成镜像推送到仓库,在服务器上建立容器并运行应用。

相关文章
相关标签/搜索