微服务轮子项目(42) -容器管理平台

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 微服务轮子项目(42) -容器管理平台

1. Rancher概述

Rancher是业界唯一完全开源的企业级容器管理平台,为企业用户提供在生产环境中落地使用容器所需的一切功能与组件。Rancher2.0基于Kubernetes构建。使用RancherDevOps团队可以轻松测试、部署和管理应用程序,运维团队可以部署、管理和维护一切Kubernetes集群,无论集群运行在何基础设施之上。

1.2 相关资料

1.3 概念说明

这一部分是说明1.x和2.x两部分,Rancher的概念,目的是着重理解Rancher。

1.3.1 白手起家的农场主(1.x)

小明的志向是当一个农场主。虽然他从来没干过,但是他现在准备干了。

于是他买了一块地,首先他用栅栏围了起来,防止牛羊越狱,同时也防止可恶的豺狼豹子偷猎牛羊。然后小明对圈内的地进行的划分,A区域B区域……,这样可以方便管理。每个区域他又建了很多棚舍,不过棚舍之间是互通的,这样牛羊就不会寂寞,可以串串门。

万事俱备只差牛羊,小明考虑直接去牛羊中心,路途遥远,倒不如去最近的代理商,代理商就像超市,把牛羊从厂家运送过来,这样省时又省力。为了保险起见,小明只买了几百只牛羊,然后赶到自己规划好的农场。

其实小明的工作很简单,定时检查一下牛羊的状态,是不是饿了渴了或者生病了又或者死亡了,不过如果牛羊死亡了,小明就必须再买一头回来。有时候小明还会给牛羊做个造型美化一下,小明说这叫升级,当然如果美化失败了,小明还会恢复原样,小明又叫这个回滚。

小明很满意自己的农场,但觉得一个人有点无聊,于是他又建立了一个站台,站在站台上可以看到某个区域的每个棚舍,就像动物园一样。然后开放给大家,不仅能赚点外快,还不会觉得无聊。

从此,小明过上了幸福的农场主生活,实现了人生理想。

故事到此结束,现在解释一下文中的概念:

  1. 小明:rancher的master节点
  2. 栅栏:rancher集群
  3. 区域:集群
  4. 棚舍:项目
  5. 牛羊:容器
  6. 牛羊中心:docker hub镜像中心
  7. 代理商:国内镜像如阿里云
  8. 升级:镜像升级
  9. 回滚:镜像回滚
  10. 站台:负载均衡(HA)
  11. 小明的工作:cattle编排引擎
1.3.2 高速发展的农场(2.x)

小明的幸福没过多久,就出现问题了。第一,小明每天不仅要进行繁琐的工作,还要接待到访的游客,忙得团团转。第二、牧场太小了,访客太多了,每次都有人抱怨等待的时间太久了。小明痛定思痛决定要改善这两个问题,好在经营了一段时间,手里攒了不少积蓄。

首先,他扩大了牧场,区域划分保持不变,以前一个大棚舍,现在建好几个大棚舍,但棚舍里做好规划,不同棚舍养不同的牛羊,同时棚舍之间是独立的,防止牛羊乱窜,但一样的同一个棚舍还是不禁止的。另外,大棚舍里的小棚舍,也得改造,每次游客来都反应脏乱差。所以,给每一头牛羊建立单独的房间,再装饰的非常精美,除此之外,每个房间还会配备专人管理,最后起个洋气的名字,叫pod。

然后,雇佣一大批的人,把小明以前的工作都细化分工下去,比如待在pod里,负责牛羊的管理,比如升级和回滚。然后每个大棚舍自治,牛羊的采购、参观等等独立化,这样管理起来更方便,同时如果一个大棚舍出现问题,也不会影响到别的大棚舍。

接着站台也要优化一下,以前是固定的几个站台,大家都按序排队。现在不用那么麻烦了,因为大棚舍自治了,每个大棚舍单独售票,所以只需要安排几个迎宾,游客来了,问一下去哪个大棚舍,然后直接带过去就行了,大大减少了访客的等待时间。

最后,由于规模相比之前不可同日而语,各个流程小明无法手动管理,于是小明又规划了一个叫流程的东西,想要干什么东西话,只需要按照流程走就对了。

至此,所有问题都解决了,并且小明也解放了,每天只需要巡视工作就成了,小日子过得不要不要得。

故事到此结束,现在解释一下文中的概念:

  1. 小明:rancher的master节点
  2. 栅栏:rancher集群
  3. 区域:集群
  4. 大棚舍:命名空间
  5. 小棚舍:项目
  6. pod:pod,k8s对容器的包装,负责容器的生命周期
  7. 牛羊中心:docker hub镜像中心
  8. 代理商:国内镜像如阿里云
  9. 升级:镜像升级
  10. 回滚:镜像回滚
  11. 站台:负载均衡(nginx),以前会在固定的IP上,现在只要在集群的任何一台机器上即可,因为会有专门的“迎宾”处理
  12. 为小明工作的人:k8s编排引擎
  13. 流程:流水线(CI/CD)

2. 安装部署

2.1 安装要求

1.Linux主机要求

通过配置Linux主机开始创建自定义集群。你的主机可以是:

  • 云主机
  • 本地虚拟机
  • 本地物理机

注意:在使用云主机时,你需要允许TCP/80TCP/443入站通信端口。请查阅你的云主机文档以获取有关端口配置的信息。有关端口要求的完整列表,请查阅端口需求.

2.系统要求

  • Ubuntu 16.04 +(64位)
  • Centos/RedHat Linux 7.5+(64位)
  • RancherOS 1.3.0+(64位)
  • Ubuntu操作系统有Desktop和Server版本,选择安装server版本.

3.硬件要求

  • CPU: 2C
  • 内存: 4GB

注意:此配置仅为满足小规模测试环境的最低配置。如用于生产,请参考基础配置要求。

4.软件要求

  • 软件: Docker
  • 支持的Docker版本:
    1.12.6
    1.13.1
    17.03.2

注意:软件需求要应用于所有节点。

2.2 安装Rancher

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher
• 1

3. 使用介绍

3.1 登录Rancher

登录并开始使用Rancher,登录后,你将进行一些一次性配置。

1.设置管理员密码

  • 第一次登录会要求设置管理员密码,默认管理员账号为: admin

2.设置Rancher Server URL

  • 这个Rancher Server URLagent节点注册的地址,需要保证这个地址能够被其他主机访问

3.2 创建K8S集群

现在创建第一个Kubernetes集群,可以使用自定义选项。你可以添加云主机、内部虚拟机或物理主机作为集群节点,节点可以运行任何一种或多种主流Linux发行版:

1.页面右下角可以切换语言

2.在全局视图下,点击菜单中的集群 , 并点击添加集群

3.选择Custom,并设置集群名称,其他参数可不用修改,点击下一步

4.选择节点运行的角色

  • 默认会勾选Worker角色,根据需要可以一次勾选多种角色。比如,假设我只有一个节点,那就需要把所有角色都选择上,选择后上面的命令行会自动添加相应的命令参数;

5.如果是云主机,需要添加主机的内网地址和对应的公网地址,如果是没有公网的云主机,可以跳过这步;

6.其他参数保持默认,点击命令行右侧的复制按钮,复制命令参数

如果是多台主机,根据角色的不同,需要复制多次

7.登录预添加集群的主机,执行以上复制的命令

8. 在主机上执行完命令后,最后点击完成;

9.回到全局视图,可以查看集群的部署状态;

10.点击集群名称,进入集群视图

11. 点击菜单栏主机按钮

12.集群创建完成

13.集群创建完成后,默认会生成Default项目,点击Default切换到项目视图

3.3 部署工作负载

工作负载是一个对象,包括pod以及部署应用程序所需的其他文件和信息。我们以nginx作为例如:

1.在Default视图下,点击工作负载—部署服务

2. 在部署工作负载页面,设置工作负载名称、副本数量、镜像名称、命名空间、端口映射,其他参数保持默认,最后点击启动;

3. 部署完成

4.通过31174端口去访问nginx服务

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
3天前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
2天前
|
Cloud Native API 持续交付
云原生之旅:从容器到微服务的演进之路
【10月更文挑战第39天】在这篇文章中,我们将一起探索云原生技术的奥秘。通过浅显易懂的语言和生动的比喻,我们将了解云原生技术如何改变软件开发的世界。文章将带领读者从容器的基本概念出发,逐步深入到微服务架构的实践,揭示这些技术如何助力现代应用的快速迭代与可靠部署。准备好,让我们启程进入云原生的精彩世界吧!
|
3天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
3天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
3天前
|
安全 持续交付 Docker
微服务架构和 Docker 容器化部署的优点是什么?
微服务架构和 Docker 容器化部署的优点是什么?
|
4天前
|
存储 监控 Docker
探索微服务架构下的容器化部署
本文旨在深入探讨微服务架构下容器化部署的关键技术与实践,通过分析Docker容器技术如何促进微服务的灵活部署和高效管理,揭示其在现代软件开发中的重要性。文章将重点讨论容器化技术的优势、面临的挑战以及最佳实践策略,为读者提供一套完整的理论与实践相结合的指导方案。
|
4天前
|
Kubernetes Cloud Native Docker
云原生技术探索:容器化与微服务的实践之道
【10月更文挑战第36天】在云计算的浪潮中,云原生技术以其高效、灵活和可靠的特性成为企业数字化转型的重要推手。本文将深入探讨云原生的两大核心概念——容器化与微服务架构,并通过实际代码示例,揭示如何通过Docker和Kubernetes实现服务的快速部署和管理。我们将从基础概念入手,逐步引导读者理解并实践云原生技术,最终掌握如何构建和维护一个高效、可扩展的云原生应用。
|
12天前
|
Kubernetes Cloud Native 微服务
云原生之旅:从容器到微服务
【10月更文挑战第29天】在这篇文章中,我们将一起探索云原生的奥秘。云原生不仅仅是一种技术,更是一种文化和方法论。我们将从容器技术开始,逐步深入到微服务架构,最后探讨如何在云平台上实现高效的服务部署和管理。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和实用的技能。让我们一起踏上这段激动人心的云原生之旅吧!
|
12天前
|
运维 Kubernetes Cloud Native
云原生之旅:容器化与微服务的融合
【10月更文挑战第28天】 在数字化转型的浪潮中,云原生技术如星辰般璀璨,引领着企业IT架构的未来。本文将带你穿梭于云原生的世界,探索容器化技术和微服务架构如何携手共舞,打造灵活、高效的应用部署和运维模式。我们将通过实际代码示例,揭示这股力量背后的奥秘,并展现它们是如何为现代软件开发带来革新。准备好了吗?让我们启航,驶向云原生技术的深海。
|
11天前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
48 1