宝塔面板 + Rancher + 阿里云镜像仓库 + Docker + Kubernetes,
? 目录一,安装宝塔面板(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**** #记下你的账号密码 打开面板地址,输入账号密码进行登陆。 注: 阿里云、腾讯云等有安全组限制,可能需要添加 ? ? 二,使用宝塔安装 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 提供了在生产环境中使用的管理 Docker 和 Kubernetes 的全栈化容器部署与管理平台。 当然,使用Rancher,带来了管理上的方便,也是会稍微降低服务器的性能的,但是这点影响,可以忽略不计。 1,在 shell 终端 输入命令安装 Rancher sudo docker run -d --restart=always -p 8080:8080 rancher/server 注: Rancher 默认使用了端口?? 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,在刚刚创建的应用中,添加服务
这里填写的端口,公开端口即 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,使用??KubernetesKubernetes 是 Google 开源的容器集群管理系统。 其设计目标是在主机集群之间提供一个能够自动化部署、可拓展、应用容器可运营的平台。 Kubernetes 通常结合 docker 容器工具工作,并且整合多个运行着docker容器的主机集群,Kubernetes不仅仅支持 Docker,还支持 Rocket,这是另一种容器技术。 (直接抄来的,哈哈哈哈~~~) ? ? 推荐文章 http://blog.51cto.com/13941177/2165668 ?#文章手把手,非常详细地讲解使用Rancher 安装 K8s,部署集群、配置节点,对主机进行管理、部署Web应用 ? 2,本地 ASP.NET Core 应用容器化Vs2017 以上,已经为 ASP.NET Core 添加 Docker 支持 我们可以更方便地进行开发,实现跨平台、微服务构架等。 笔者 推荐文章?https://www.cnblogs.com/FireworksEasyCool/p/10218384.html # 详细讲解了?ASP.NET Core 项目如何添加 Docker 支持,并打包成镜像推送到仓库,在服务器上创建容器并运行应用。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |