通过rancher快速部署Kubernetes集群

2023-10-27

概述

What’s Rancher?
Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。 Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持。

Kubernetes不仅已经成为的容器编排标准,它也正在迅速成为各类云和虚拟化厂商提供的标准基础架构。Rancher用户可以选择使用Rancher Kubernetes Engine(RKE)创建K8S集群,也可以使用GKE,AKS和EKS等云Kubernetes服务。 Rancher用户还可以导入和管理现有的Kubernetes集群。

Rancher为DevOps工程师提供了一个直观的用户界面来管理他们的服务容器,用户不需要深入了解Kubernetes概念就可以开始使用Rancher。 Rancher包含应用商店,支持一键式部署Helm和Compose模板。Rancher通过各种云、本地生态系统产品认证,其中包括安全工具,监控系统,容器仓库以及存储和网络驱动程序。下图说明了Rancher在IT和DevOps组织中扮演的角色。每个团队都会在他们选择的公共云或私有云上部署应用程序。
在这里插入图片描述
早期的Rancher1.X版本是基于Docker以Cattle为调度引擎的容器管理平台。在Rancher1.X成功和经验的基础上,基于Kubernetes基础上重新设计Rancher2.0版本。 Rancher2.0保留了1.6版的友好功能,如UI和应用商店。但是,2.0包含许多新功能,例如:

  • 内置CI/CD;
  • 告警和日志收集;
  • 多集群管理;
  • Rancher Kubernetes Engine (RKE);
  • 与云Kubernetes服务(如GKE,EKS和AKS)集成;

架构设计

Kubernetes

Kubernetes已成为容器集群管理标准,通过YAML文件来管理配置应用程序容器和其他资源。Kubernetes执行诸如调度,扩展,服务发现,健康检查,密文管理和配置管理等功能。

一个Kubernetes集群由多个节点组成:

  • etcd database

通常在一个节点上运行一个etcd实例服务,但生产环境上,建议通过3个或5个(奇数)以上的节点来创建ETCD HA配置。

  • Master nodes

主节点是无状态的,用于运行API Server,调度服务和控制器服务。

  • Worker nodes

工作负载在工作节点上运行。
默认情况下Master节点也会有工作负载调度上去, 可通过命令设置其不加入调度

Rancher

大多数Rancher2.0软件运行在Rancher Server节点上,Rancher Server包括用于管理整个Rancher部署的所有组件。

下图说明了Rancher2.0的运行架构。该图描绘了管理两个Kubernetes集群的Rancher Server安装:一个由RKE创建,另一个由GKE创建。
在这里插入图片描述

准备工作

基础环境安装docker配置,请参考rancher部署Kubernetes集群之基础环境docker-ce部署

安装Rancher

sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:stable

登录Rancher

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

  1. 打开浏览器,输入https://<server_ip>,server_ip替换为运行Rancher容器主机的ip;
  2. 因为是自动使用的自签名证书,在第一次登录会提示安全授信问题,信任即可;
  3. 设置管理员密码
    第一次登录会要求设置管理员密码,默认管理员账号密码为: admin/admin
    在这里插入图片描述
    4.设置Rancher Server URL
    Rancher Server URL是agent节点注册到Rancher Serverd的地址,需要保证这个地址能够被agent主机访问,不要设置为127.0.0.1或者localhost

创建K8S集群

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

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

在这里插入图片描述

  1. 在全局视图下,点击菜单中的集群 , 并点击添加集群
    在这里插入图片描述

  2. 选择 Custom,并设置集群名称,其他参数可不用修改,点击下一步;
    在这里插入图片描述

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

在这里插入图片描述
如果是云主机,需要添加主机的内网地址和对应的公网地址,如果是没有公网的云主机,可以跳过这步;

  1. 其他参数保持默认,点击命令行右侧的复制按钮,复制命令参数
    在这里插入图片描述

  2. 如果是多台主机,根据不同主机规划,选择不同角色,复制命令,需要执行多次
    在这里插入图片描述
    在主机上执行完命令后,最后点击完成;

  3. 回到全局视图,可以查看集群的部署状态;
    若集群显示Provisioning,等正在部署的任务完成就OK了
    在这里插入图片描述

  4. 点击集群名称,进入集群视图
    在这里插入图片描述

  5. 点击菜单栏主机按钮
    在这里插入图片描述

  6. 集群创建完成
    在这里插入图片描述

  7. 集群创建完成后,默认会生成Default项目,点击Default切换到项目视图;
    在这里插入图片描述

部署工作负载

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

  1. 在Default视图下,点击工作负载—部署服务
    在这里插入图片描述

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

  3. 部署完成
    在这里插入图片描述

  4. 通过32556端口去访问nginx服务。
    因为刚才创建的时候,主机地址选的随机,所以会随机分配一个端口映射到该pod

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过rancher快速部署Kubernetes集群 的相关文章

随机推荐

  • Latex 字体加粗

    textbf w 显示为 w textbf w w
  • mysql数据库datetime字段转换成java中Date类型

    最终代码展示 输出Account类型对象 使用ResultSet类中的getDate方法只能获取到获取到日期不能得到时间 使用ResultSet类中的getTime方法只能获取到获取到时间不能得到日期 使用ResultSet类中的getTi
  • Java 开发中常见的异常有哪些?

    1 空指针异常 NullPointException 当对象不存在 却又去调用对象的属性或方法时 就会出现该异常 2 数组越界异常 ArrayIndexOutOfBoundsException 当数组只存在5个元素 他们所对应的的下标即为0
  • MySQL显示ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)解决方法

    MySQL显示ERROR 2003 HY000 Can t connect to MySQL server on localhost 10061 解决方法 第一步 在win快捷键下已管理员身份启动cmd命令然后进入mysql安装目录下的bi
  • 10信号学习之signal函数及使用其实现信号捕捉案例

    1 signal函数 功能 该函数注册一个信号捕捉函数 对比上一篇的案例和相关函数 都是针对于信号集操作的 而这个函数是针对处理动作来操作的 你可以利用此函数将捕捉到的信号按自己的方式执行 例如你可以捕捉段错误的信号后执行打印hello w
  • STM32无法下载程序

    新研发了一块STM32板 MCU使用的是STM32F4 前期硬件测试都是正常的 电源等各项硬件指标都是正常的 但是在下载程序测试的时候出现了问题 板子只能下载第一次程序成功 第二次就不能识别芯片 无法下载程序 貌似MCU被锁死 检查原理图并
  • warning: unknown attribute ‘at‘ ignored [-Wunknown-attributes] keil报错处理

    背景在KEIL v6版本编译 attribute at 语句 const unsigned char vis sensor fw attribute at 0X0800C800 0x98 0x14 0x00 0x20 0x65 0x01 0
  • java Spring调试 ApplicationContext cannot be resolved to a type

    今天开发过程中遇到了不能识别导入的Spring jar包的情况 ApplicationContext cannot be resolved to a type 本人分析情况为两种 1 导入的包错误 2 本人遇到的情况 就是jre版本过高 将
  • RawImages图片加载方式

    using UnityEngine using UnityEngine UI public class RawImagesExtend MonoBehaviour Header 资源加载方式 public SourceMode source
  • java底层学习

    额 马上就要面试了 java的底层肯定是需要了解的 网上找了找java的底层文章 做个记号 java底层主要是类的加载 连接和初始化 本文主要分为四个方面 1 java底层概述 2 new和newInstance 方法的区别 3 深入探讨j
  • activiti5之监听器

    activiti5之监听器 业务场景 在使用工作流时 通常伴随着很多具体的需求 例如 activiti人员动态的分配 当前任务节点完成的时候 指定需要指定下一个节点的处理人 比如 一个请假流程 a员工请假 需要指定下一步需要处理请假流程的领
  • Python目标检测数据集格式处理,VOC格式转YOLO格式

    众所周知 CV算法模型训练第一步该做的是数据集制作 最近遇到需要将VOC格式的数据集转为yolo格式 数据集前期的一些预处理参考博客 Python删除txt文档的某一列 fengfeng18k的博客 CSDN博客 Python修改txt某列
  • 卷积神经网络(CNN)入门:使用Python实现手写数字识别

    在上一篇文章中 我们介绍了如何使用Python实现一个简单的前馈神经网络 本文将重点介绍卷积神经网络 CNN 这是一种在计算机视觉任务中表现优异的深度学习模型 我们将从卷积神经网络的基本原理开始 介绍卷积层 池化层和全连接层等概念 然后使用
  • js实现回到顶部效果

    功能 滚动到第二屏才出现 返回顶部 按钮 点击 返回顶部 按钮会返回顶部 而且速度越来越慢 在返回顶部的途中如果用鼠标滚一下滚轮会停止返回顶部的滚动
  • python数据分析(预测性分析与机器学习)

    本文涉及到的主题如下所示 预处理 基于逻辑回归的分类 基于支持向量机的分类 基于ElasticNetCV的回归分析 支持向量回归 基于相似性传播 均值漂移算法 遗传算法 神经网络 决策树算法 1 预处理 在上一章 我们已经做过一次预处理 即
  • 复现iis7/ii7.5的fastcgi解析漏洞

    在windows server 2008 r2上搭建 php服务 1 下载php解释器 地址为http windows php net download 版本有两种 线程安全和非线程安全 线程安全是给apache用的 非线程安全是给iis用
  • 东方树叶、元气森林竞速无糖茶饮

    近几年 随着气泡水 茶饮品的横空出世 零售饮料柜的全糖时代已经渐行渐远 无糖饮料开始占据着半壁江山 据统计 在2023年推出的41款茶饮料新品中 无糖茶的创新超过6成 总计有18个品牌推出25款无糖茶新品 36种口味 所谓无糖茶 也叫原味茶
  • 【从零开始写博客】数组运用:二分查找和成员增删(day1)

    代码随想录刷题60天 目录 数组概述 array 一 数组的查找 暴力查找 枚举 二分查找 二 数组的删改 使用快慢指针对数组元素进行增删 总结 数组概述 array 数组作为一种数据结构 毫无疑问 其基本功能便是为程序员提供一种可增删查改
  • git中reset、restore、checkout、revert、clean的用法和区别

    1 git reset NAME git reset Reset current HEAD to the specified state SYNOPSIS git reset soft mixed N hard merge keep q
  • 通过rancher快速部署Kubernetes集群

    文章目录 概述 架构设计 Kubernetes Rancher 准备工作 安装Rancher 登录Rancher 创建K8S集群 部署工作负载 概述 What s Rancher Rancher是一套容器管理平台 它可以帮助组织在生产环境中