Rancher—多集群Kubernetes管理平台

ops/2024/10/21 6:07:19/

目录

  • 一、Rancher 简介
    • 1.1 Rancher 和 k8s 的区别
  • 二、Rancher 安装及配置
    • 2.1 安装 rancher
    • 2.2 登录 Rancher 平台
    • 2.3 Rancher 管理已存在的 k8s 集群
    • 2.4 创建名称空间 namespace
    • 2.5 创建 Deployment 资源
    • 2.6 创建 service
    • 2.7 Rancher 部署监控系统


一、Rancher 简介

Rancher 是一个开源的企业级多集群 Kubernetes 管理平台,实现了 Kubernetes 集群在混合云+本地数据中心的集中部署与管理, 以确保集群的安全性,加速企业数字化转型。超过 40000 家企业每天使用 Rancher 快速创新。

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

1.1 Rancher 和 k8s 的区别

Rancher 和 k8s 都是用来作为容器的调度与编排系统。但是 rancher 不仅能够管理应用容器,更重要的一点是能够管理 k8s 集群。 Rancher2.x 底层基于 k8s 调度引擎,通过 Rancher 的封装,用户可以在不熟悉 k8s 概念的情况下轻松的通过 Rancher 来部署容器到k8s集群当中。

二、Rancher 安装及配置

//实验环境
控制节点/master01		192.168.154.10
工作节点/node01			192.168.154.11
工作节点/node02			192.168.154.12
Rancher节点/rancher	    192.168.154.13

rancher_26">2.1 安装 rancher

#在 所有 node 节点下载 rancher-agent 镜像
docker pull rancher/rancher-agent:v2.5.7#在 rancher 节点下载 rancher 镜像
docker pull rancher/rancher:v2.5.7docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7
#--restart=unless-stopped 表示在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器docker ps -a|grep rancher

2.2 登录 Rancher 平台

需要先等一会儿,再浏览器访问 http://192.168.154.13 ,由于未使用授信证书,会有报警,忽略即可
登录后如是英文页面,可点击右下角语言选项选择中文

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.3 Rancher 管理已存在的 k8s 集群

选择【添加集群】,点击【导入】
【集群名称】设置为 k8s-cluster,点击【创建】
选择复制第三条命令绕过证书检查导入 k8s 集群

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//在 k8s 控制节点 master01 上执行刚才复制的命令,如第一次执行报错,再执行一次即可
curl --insecure -sfL https://192.168.154.13/v3/import/tmz8vp49fth54hpr85nq5wtl5gdtgjwfphw8mtnfxq8rb9bgc7shnj_c-v744p.yaml | kubectl apply -f -

在这里插入图片描述

在这里插入图片描述
管理K8S集群资源

在这里插入图片描述

2.4 创建名称空间 namespace

点击左侧菜单【Namespaces】,再点击右侧【Create】
【Name】输入 test01,【Description】选填可自定义
点击右下角【Create】

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5 创建 Deployment 资源

点击左侧菜单【Deployments】,再点击右侧【Create】
【Namespace】下拉选择 test01,【Name】输入 myapp-deploy,【Replicas】输入 3
点击中间选项【Container】,【Container Image】输入 soscscs/myapp:v1,【Pull Policy】选择 IfNotPresent
在【Pod Labels】下点击【Add Lable】,【Key】输入 app,【Value】输入 myapp
点击中间选项【Labels and Annotations】,点击【Add Label】,【Key】输入 app,【Value】输入 myapp
点击右下角【Create】
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.6 创建 service

点击左侧菜单【Services】,再点击右侧【Create】
点击【Node Port】
【Namespace】下拉选择 test01,【Name】输入 svc-myapp
【Port Name】输入 http,【Listening Port】输入 8080,【Target Port】输入 80,【Node Port】输入 30888
点击中间选项【Selectors】,【Key】输入 app,【Value】输入 myapp
点击右下角【Create】
点击【svc-myapp】查看 service 是否已关联上 Pod
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.7 Rancher 部署监控系统

点击【启用监控以查看实时监控】
【监控组件版本】选择 0.2.1,其他的默认即可
点击【启用监控】,启动监控时间可能比较长,需要等待10分钟左右
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/ops/127198.html

相关文章

PicoQuant GmbH公司Dr. Christian Oelsner到访东隆科技

昨日,德国PicoQuant公司的光谱和显微应用和市场专家Dr.Christian Oelsner莅临武汉东隆科技有限公司。会议上Dr. Christian Oelsner就荧光寿命光谱和显微技术的最新研究和应用进行了深入的交流与探讨。此次访问不仅加强了两家公司在高科技领域的合作关系,…

D43【python 接口自动化学习】- python基础之函数

day43 装饰器(上) 学习日期:20241020 学习目标:函数﹣- 56 装饰器:函数嵌套的定义与调用的区别 学习笔记: 变量作用域 变量读取顺序:local-》enclosed-》global-》builtin # 变量…

10-1.idea中的项目结构,辅助快捷键,模块的操作

idea中的项目结构和辅助快捷键 IDEA中项目结构 首先是创建项目,新建的项目中有子项目,我们可以创建模块 然后在模块中我们可以创建包,在包中的SRC中写我们的源代码,也就是类。 VScode写Java项目 如何你电脑比较卡的话&#…

isis 不同区域的配置实验

一、同区域下,Level-1、Level-2、Level-1-2 之间的拓扑计算: 1、拓扑1: 2、配置: [R2]: isis 1is-level level-2cost-style widenetwork-entity 49.0001.0000.0000.0002.00is-name R2 # interface GigabitEthernet0/0/1ip addres…

SVN小乌龟 create patch 和 apply patch 功能

在SVN(Subversion)版本控制系统中,使用“小乌龟”(TortoiseSVN)这个图形界面工具可以极大地简化SVN操作。TortoiseSVN中的“create patch”和“apply patch”是两个非常有用的功能,它们与版本控制中的补丁&…

JVM篇(Java内存区域与内存溢出异常(深入理解JVM第三版))(持续更新迭代)

目录 学习前言 一、内存管理控制 1. C/C程序员 2. Java程序员 二、运行时数据区(深入理解JVM第三版) 1. 程序计数器 2. Java虚拟机栈 3. 本地方法栈 4. Java堆 5. 方法区 运行时常量池 学习前言 JVM学习预热后,我们涉及到了JVM的…

小柯:缓解生活压力 戏剧改变人生“免费戏剧训练营”正式启动

10月13日,著名音乐人小柯在社交平台发布了一条视频,称自己要做一件“大事”,而引发广泛关注与热议。在小柯剧场迎来其十二周年之际,为回馈广大观众一直以来的支持与厚爱,特别策划了一场全免费的戏剧训练营活动。凡是年…

vue3 笔记-插槽

结构类似的模块&#xff0c;我们可以考虑用插槽&#xff0c;以便后续复用&#xff1a; 代码&#xff1a; 1.插槽 <script setup> defineProps({title: {required: true,type: String},number: {required: true,type: Number} }) </script><template><d…