k8s rancher开源平台(概念,部署示例,)

2024-03-13 20:12

本文主要是介绍k8s rancher开源平台(概念,部署示例,),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、概念

Rancher 与 Kubernetes 的区别

Rancher 的关键特性

二、Rancher 安装及配置

实验环境

安装 Rancher

登录 Rancher 平台

管理已存在的 Kubernetes 集群

导入 Kubernetes 集群到 Rancher

验证 Kubernetes 集群状态

部署监控系统

部署监控系统到 Rancher

启用监控:

使用 Rancher 仪表盘管理 Kubernetes 集群

三、创建 nginx 服务为例:

创建名称空间 (Namespace)

创建 Deployment 资源

创建 Service 资源

访问 Nginx 页面


一、概念

官网:https://docs.rancher.cn/

Rancher 是一个功能强大的开源平台,旨在简化 Kubernetes 的部署、管理和操作。它为企业提供了一个统一的界面,用于管理跨多个环境(包括公有云、私有云和边缘计算环境)的 Kubernetes 集群。

Rancher 与 Kubernetes 的区别

  • Kubernetes:

  • Kubernetes 是一个开源的容器编排平台,它提供了自动化的容器部署、扩展和管理功能。

  • 它主要用于创建、运行和管理容器化应用程序,并确保它们在预定义的状态下运行。

  • Rancher:

  • Rancher 是建立在 Kubernetes 之上的管理平台,它提供了一个用户友好的界面,使得 Kubernetes 更易于使用和理解。

  • Rancher 通过抽象 Kubernetes 的复杂性,允许用户在不了解 Kubernetes 概念的情况下部署和管理容器化应用程序。

  • 它支持多集群管理,使得用户可以在一个集中的位置管理多个 Kubernetes 集群,无论它们位于何处。

Rancher 的关键特性

  • 多集群管理:

  • 支持在一个界面中管理多个 Kubernetes 集群,无论它们是在本地、云中还是混合环境中。

  • 应用目录:

  • 提供了一个应用目录,用户可以从中选择并部署预配置的应用程序到 Kubernetes 集群。

  • CI/CD 集成:

  • 支持与流行的持续集成和持续部署工具集成,如 Jenkins、GitLab CI/CD 等。

  • 安全性:

  • 提供了企业级的安全特性,包括 RBAC、网络策略、Pod 安全策略等。

  • 用户友好的界面:

  • 提供了一个直观的 Web UI,使得 Kubernetes 的管理变得更加简单和直观。

  • 自动化:

  • 支持自动化的集群部署和升级,简化了 Kubernetes 集群的生命周期管理。

  • 监控和日志:

  • 集成了监控和日志工具,提供了对集群性能和应用程序状态的实时视图。

  • 支持多种运行环境:

  • 支持在多种环境中运行 Kubernetes,包括公有云、私有云、边缘计算和混合云环境。

通过使用 Rancher,企业可以更快速、更安全地采用 Kubernetes 技术,同时降低了 Kubernetes 的学习曲线和管理复杂性。Rancher 通过提供额外的工具和服务,增强了 Kubernetes 的功能,使其更适合企业级应用。

二、Rancher 安装及配置

如何在实验环境中安装和配置 Rancher,以及如何使用 Rancher 管理 Kubernetes 集群

实验环境

控制节点(master01): 192.168.41.31
工作节点(node01): 192.168.41.33
工作节点(node02): 192.168.41.34
Rancher 节点: 192.168.10.23

安装 Rancher

  • 在控制节点(master01)上下载 rancher-agent 镜像。
docker pull rancher/rancher-agent:v2.5.7
  • 在 Rancher 节点上下载 rancher 镜像。
docker pull rancher/rancher:v2.5.7
  • 使用 Docker 运行 Rancher 容器,映射 80 和 443 端口,并设置为特权模式。
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7
  • 确认 Rancher 容器已成功运行。
docker ps -a|grep rancher

登录 Rancher 平台

  • 访问 Rancher 节点的 IP 地址(http://192.168.10.23)。

  • 忽略由于未使用授信证书而产生的安全报警。

  • 如果需要,更改语言设置为中文,点击右下角语言选项选择中文

管理已存在的 Kubernetes 集群

导入 Kubernetes 集群到 Rancher

  • 添加集群:

  • 在 Rancher 的 Web UI 中,选择【添加集群】。

  • 选择【导入】选项来导入一个已存在的 Kubernetes 集群。

  • 设置集群名称:

  • 将导入的集群命名为 k8s-cluster,然后点击【创建】。

  • 复制导入命令:

  • Rancher 会提供一个命令,用于绕过证书检查并将 Kubernetes 集群导入到 Rancher。

  • 执行导入命令:

  • 在 Kubernetes 控制节点 master01 上,执行 Rancher 提供的 curl 命令。

  • 如果第一次执行时出现错误,再次执行该命令通常可以解决问题。

curl --insecure -sfL https://192.168.10.23/v3/import/ltlhl7vggnwz8knbjncgbxqlrf6krpbfbxtzh4qlpnqxrq5559k6gf_c-jf5bx.yaml | kubectl apply -f -

验证 Kubernetes 集群状态

  • 查看命名空间:

  • 使用 kubectl get ns 命令查看 Kubernetes 集群中的所有命名空间及其状态。

kubectl get ns
  • 查看 cattle-system 命名空间的 Pod:

  • 使用 kubectl get pods -n cattle-system -o wide 命令查看 cattle-system 命名空间中运行的 Pod,包括 cattle-cluster-agent

kubectl get pods -n cattle-system -o wide
  • 查看 fleet-system 命名空间的 Pod:

  • 使用 kubectl get pods -n fleet-system -o wide 命令查看 fleet-system 命名空间中运行的 Pod,包括 fleet-agent

kubectl get pods -n fleet-system -o wide

部署监控系统

部署监控系统到 Rancher

启用监控:
  • 在 Rancher 的 Web UI 中,找到并点击【启用监控以查看实时监控】的按钮。

  • 在弹出的对话框或页面中,选择监控组件版本为 0.2.1,接受其他默认设置。

  • 点击【启用监控】按钮来启动监控系统。请注意,监控系统的启动可能需要大约 10 分钟的时间。

使用 Rancher 仪表盘管理 Kubernetes 集群

三、创建 nginx 服务为例:

创建名称空间 (Namespace)

  • 进入 k8s 集群仪表盘界面 - 这是通过访问 Kubernetes Dashboard 来完成的,它是一个基于 Web 的用户界面,用于管理和部署应用程序到 Kubernetes 集群。

  • 点击【Namespaces】菜单 - 这个菜单项允许查看和管理 Kubernetes 集群中的名称空间。

  • 点击【Create】按钮 - 这将打开一个表单,用于创建新的名称空间。

  • 输入名称空间名称 - 在【Name】字段中输入 dev。名称空间用于将集群资源逻辑上分隔成不同的环境,通常是根据开发、测试和生产环境来划分。

  • 可选的【Description】字段 - 可以在这里添加对名称空间的描述,这有助于其他用户理解该名称空间的用途。

  • 点击【Create】按钮 - 完成名称空间的创建。

创建 Deployment 资源

  • 选择【Deployments】菜单 - 这个菜单项让能够创建和管理 Deployment 资源,Deployment 是 Kubernetes 中用于声明式管理无状态应用的资源。

  • 点击【Create】按钮 - 打开创建 Deployment 的表单。

  • 选择【Namespace】 - 在下拉菜单中选择之前创建的 dev 命名空间。

  • 输入【Name】 - 输入 nginx-dev 作为 Deployment 的名称。

  • 设置【Replicas】 - 输入 3 表示希望运行 3 个 Nginx 容器的副本。

  • 配置容器镜像 - 在【Container Image】字段中输入 nginx:1.14,指定要使用的 Nginx 镜像版本。【Pull Policy】选择 IfNotPresent 意味着只有在本地没有该镜像时才会从镜像仓库拉取。

  • 添加 Pod 标签 - 在【Pod Labels】中添加一个标签,【Key】为 app,【Value】为 nginx。这些标签用于识别和管理属于同一应用的 Pod。

  • 添加标签和注解 - 在【Labels and Annotations】中同样添加一个标签,这有助于在更高级别上组织和选择资源。

  • 点击【Create】按钮 - 创建 Deployment,Kubernetes 将会根据这些设置创建和管理 Nginx 容器。

创建 Service 资源

  • 选择【Services】菜单 - 这个菜单项用于创建和管理 Service 资源,Service 定义了一种访问 Pod 的方式,通常用于负载均衡和发现。

  • 点击【Create】按钮 - 打开创建 Service 的表单。

  • 选择【Node Port】类型 - 这种类型的 Service 会为集群内的 Pod 提供一个稳定的网络接口,即使 Pod 所在的节点发生变化。

  • 选择【Namespace】 - 再次选择 dev 命名空间。

  • 输入【Name】 - 输入 nginx-dev 作为 Service 的名称。

  • 配置端口 - 在【Port Name】、【Listening Port】和【Target Port】中都输入 80,表示 Service 将会在 80 端口上监听并转发到 Pod 的 80 端口。

  • 设置选择器 - 在【Selectors】中添加之前定义的标签,【Key】为 app,【Value】为 nginx,这样 Service 就知道要将流量转发到哪些 Pod。

  • 点击【Create】按钮 - 创建 Service,现在 Nginx 的 Pod 可以通过这个 Service 被访问。

访问 Nginx 页面

  • 查看 Service 与 Pod 的关联 - 在创建 Service 后,可以在 Service 的详情页查看它是否已经关联到了 Nginx 的 Pod。

  • 通过节点端口访问 Nginx - 找到 Service 资源后,可以通过点击节点端口 30180/TCP 来访问内部的 Nginx 页面。这个端口是 Service 在集群外部的入口点,通过这个端口,可以测试 Nginx 服务是否正常工作。

这篇关于k8s rancher开源平台(概念,部署示例,)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/806078

相关文章

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle