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

内容纲要

 

目录

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

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

  三,安装 Rancher (Server)

  四,管理 Rancher、添加集群 

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

  六,ASP.NET Core 应用部署

  七,相关文章推荐

前言:

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

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

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


 

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

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

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

打开服务器 shell 终端

Centos 安装命令:

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 进行安装。

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

 

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

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

 

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

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

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

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

命名空间

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 + 阿里云镜像仓库 + Docker + Kubernetes,添加集群、部署 web 应用》

注:

Rancher 默认使用了端口  8888 

2,访问 Rancher 面板

打开 http://ip:8080,即可访问你的面板,如果无法访问,请查看 下一步

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

 

3,允许端口

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

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

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

4,查看容器、镜像

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


 

四,管理 Rancher、添加集群 

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

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

 

我们安装的 Rancher ,实际上是 Server 端,通过 Rancher,可以完成集群管理、分布式架构。

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

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

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

 

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

 

 2,试试切换中文

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

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

3,添加主机

要使用 Rancher,至少要一个主机,可以是当前主机的本身。

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

 

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

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

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

4,出现了主机

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

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

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

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

 

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

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

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

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


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

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

1,放行  4500 端口、500 端口

 4500、500 Rancher 系统服务需要

2,在 Rancher 中添加应用

点击导航栏的 ”应用“ – ”全部“ ,页面会出现应用列表。

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

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

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

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

  • 名称输入 nginx
  • 镜像输入 nginx ,当然你也可以选择 nginx 版本,填写形式跟 Docker 镜像形式一致,
  • 两个端口输入 8090 
  • 其他地方不用填,点击 ”创建“ 即可。

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

由于这里不对 nginx 服务器进行更多处理,所以端口可以随便填,只要公开端口没有被占用即可~

两个端口的关系相当于

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

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

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

 

4,添加负载均匀

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

 

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

 

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

这里选择 80 作为端口,因为开发者使用 nginx 部署网站,网站访问应当使用 80 端口。当然,也可以随意使用其他端口。

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

 

 

5,访问 nginx

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

即可访问

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

6,集群负载均匀

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

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

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

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


六,ASP.NET Core 应用部署

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

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

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

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

 2,添加服务

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

这个镜像为微软官方提供的 ASP.NET Core 默认模板镜像,当然,你也可以把自己的应用打包后推送镜像到仓库,再使用 Rancher 创建容器。

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

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

 

 3,添加负载均匀

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

 

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

4,访问网站

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

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


七,相关文章推荐

1,使用  Kubernetes

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

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

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

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

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

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

 

 

推荐文章

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

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

 

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

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

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

我们可以更方便地进行开发,实现跨平台、微服务构架等。

笔者 推荐文章 https://www.cnblogs.com/FireworksEasyCool/p/10218384.html

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

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注