云原生Kubernetes:Rancher管理k8s集群

news2024/10/5 13:05:46

目录

一、理论

1.Rancher

2.Rancher 安装及配置

二、实验

1.Rancher 安装及配置

三、问题

1. Rancher 部署监控系统报错

四、总结


一、理论

1.Rancher

(1)  概念

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

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

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

(3)Rancher架构

Kubernetes 已经成为了容器管理的标准。大多数云服务和虚拟服务的提供商现在将 Kubernetes 作为标准的基础设施。用户可以使用 Rancher Kubernetes Engine(简称 RKE),或其他云服务提供商的容器服务,如 GKE、AKS、 EKS 等,创建 Kubernetes 集群。用户也可以将已有集群导入 Rancher,集中管理。

Rancher架构如下:

2.Rancher 安装及配置

(1)环境

表1 环境

节点主机IP地址
控制节点master1192.168.204.180
控制节点master2192.168.204.181
工作节点node1192.168.204.182
Rancher节点rancher192.168.204.30 

配置hosts文件

vim /etc/hosts

192.168.204.180   master1
192.168.204.181   master2    
192.168.204.182   node1
192.168.204.30    rancher

关闭安全机制

关闭防火墙
[root@ harbor~]# systemctl stop firewalld && systemctl disable firewalld


关闭selinux
[root@ harbor~]# setenforce 0
[root@harbor~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
注意:修改selinux配置文件之后,重启机器,selinux才能永久生效

(2)安装docker

#配置docker-ce国内yum源(阿里云)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#安装docker依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2

#安装docker-ce
 yum install docker-ce -y

#启动docker服务
systemctl start docker && systemctl enable docker
 systemctl status docker

#查看Docker 版本信息
docker version  

#开启包转发功能和修改内核参数
modprobe br_netfilter

cat > /etc/sysctl.d/docker.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

sysctl -p /etc/sysctl.d/docker.conf

systemctl restart docker 

(3) 部署rancher

1、安装 rancher
#在 master1 节点下载 rancher-agent 镜像
docker pull rancher/rancher-agent:v2.5.7

#在 rancher 节点下载 rancher 镜像
docker pull rancher/rancher:v2.5.7

docker 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
23874501455d   rancher/rancher:v2.5.7   "entrypoint.sh"   30 seconds ago   Up 28 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   rancher


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

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

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


kubectl get ns
NAME              STATUS   AGE
cattle-system          Active   2m20s
default                Active   93d
fleet-system           Active   2m2s
kube-node-lease        Active   93d
kube-public            Active   93d
kube-system            Active   93d
kubernetes-dashboard   Active   92d


kubectl get pods -n cattle-system -o wide
NAME                                    READY   STATUS    RESTARTS   AGE    IP           NODE     NOMINATED NODE   READINESS GATES
cattle-cluster-agent-f9bbd6fb8-d7dbg   1/1     Running   0          2m26s   10.244.137.65   master1   <none>           <none>

kubectl get pods -n fleet-system -o wide
NAME                           READY   STATUS    RESTARTS   AGE    IP           NODE     NOMINATED NODE   READINESS GATES
fleet-agent-55bfc495bd-gd95w   1/1     Running   0          117s   10.244.166.149   node1   <none>           <none>

4、Rancher 部署监控系统
点击【启用监控以查看实时监控】
【监控组件版本】选择 0.2.1,其他的默认即可
点击【启用监控】,启动监控时间可能比较长,需要等待10分钟左右

5、使用 Rancher 仪表盘管理 k8s 集群
//以创建 nginx 服务为例
点击【仪表盘】进入 k8s 集群仪表盘界面

#创建名称空间 namespace
点击左侧菜单【Namespaces】,再点击右侧【Create】
【Name】输入 dev,【Description】选填可自定义
点击右下角【Create】

#创建 Deployment 资源
点击左侧菜单【Deployments】,再点击右侧【Create】
【Namespace】下拉选择 dev,【Name】输入 nginx-dev,【Replicas】输入 3
点击中间选项【Container】,【Container Image】输入 nginx:1.14,【Pull Policy】选择 IfNotPresent
在【Pod Labels】下点击【Add Lable】,【Key】输入 app,【Value】输入 nginx
点击中间选项【Labels and Annotations】,点击【Add Label】,【Key】输入 app,【Value】输入 nginx
点击右下角【Create】

#创建 service
点击左侧菜单【Services】,再点击右侧【Create】
点击【Node Port】
【Namespace】下拉选择 dev,【Name】输入 nginx-dev
【Port Name】输入 nginx,【Listening Port】输入 80,【Target Port】输入 80,【Node Port】输入 30180
点击中间选项【Selectors】,【Key】输入 app,【Value】输入 nginx
点击右下角【Create】
点击【nginx-dev】查看 service 是否已关联上 Pod

#点击 service 资源的节点端口 30180/TCP,可以访问内部的 nginx 页面了

二、实验

1.Rancher 安装及配置

(1)环境

表1 环境

节点主机IP地址
控制节点master1192.168.204.180
控制节点master2192.168.204.181
工作节点node1192.168.204.182
Rancher节点rancher192.168.204.30 

修改主机名

配置hosts文件

关闭安全机制

配置rancher到k8s主机互信

(2)安装docker

安装docker依赖包

安装docker-ce

启动docker服务

查看Docker 版本信息

(3) 安装rancher

在 master1 节点下载 rancher-agent 镜像

在 rancher 节点下载 rancher 镜像

--restart=unless-stopped 表示在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

查看进程

(4)登录 Rancher 平台

需要先等一会儿,再浏览器访问 http://192.168.204.30 ,由于未使用授信证书,会有报警,忽略即可

登录后如是英文页面,可点击右下角语言选项选择中文

提示,关闭即可

(5)Rancher 管理已存在的 k8s 集群

右下角设置语言

选择【添加集群】,点击【导入】

【集群名称】设置为 k8s-cluster,点击【创建】

选择复制第三条命令绕过证书检查导入 k8s 集群
在 k8s 控制节点 master01 上执行刚才复制的命令,如第一次执行报错,再执行一次即可

添加成功

master节点查看信息

(6)Rancher 部署监控系统

启用监控

(7)使用 Rancher 仪表盘管理 k8s 集群

(8)创建名称空间 namespace

点击左侧菜单【Namespaces】,再点击右侧【Create】

Name】输入 dev,【Description】选填可自定义
点击右下角【Create】

(9)创建 Deployment 资源

点击左侧菜单【Deployments】,再点击右侧【Create】
【Namespace】下拉选择 dev,【Name】输入 nginx-dev,【Replicas】输入 3
点击中间选项【Container】,【Container Image】输入 nginx:1.14,【Pull Policy】选择 IfNotPresent
在【Pod Labels】下点击【Add Lable】,【Key】输入 app,【Value】输入 nginx
点击中间选项【Labels and Annotations】,点击【Add Label】,【Key】输入 app,【Value】输入 nginx
点击右下角【Create】

(10)创建 service

点击左侧菜单【Services】,再点击右侧【Create】
点击【Node Port】
【Namespace】下拉选择 dev,【Name】输入 nginx-dev
【Port Name】输入 nginx,【Listening Port】输入 80,【Target Port】输入 80,【Node Port】输入 30180
点击中间选项【Selectors】,【Key】输入 app,【Value】输入 nginx
点击右下角【Create】

点击【nginx-dev】查看 service 是否已关联上 Pod
 

点击 service 资源的节点端口 30180/TCP,可以访问内部的 nginx 页面了

三、问题

1. Rancher 部署监控系统报错

(1)报错

(2)原因分析

CPU内核数与内存需要扩容

(3)解决方法

调大内核与内存

修改前:

修改后:

四、总结

官方提供了三种安装模式:docker、单节点、集群(高可用)
 

Rancher有docker安装在单节的模式,也有这样的把rancher安装在K8S集群里的高可用模式。

Rancher有如下问题:

直观上Rancher给人的感觉是它是K8S的上游,可以管理多个K8S集群,但是一个高可用的集群又往往需要安装在K8S集群中

Rancher可以理解为K8S的上层(2.x版本以后),有点像Anaconda与Python的关系,但是由于Anaconda没有高可用问题,结构很清晰;早前Rancher和Kubernetes是在同一个赛道上的,都是做容器编排的,后来随K8S大火,2.x以后Rancher就等价于Kubernetes的超集了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1076908.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

持安科技何艺获中国信通院2022-2023年零信任领域标准卓越贡献者

近日&#xff0c;在中国信息通信研究院和中国通信标准化协会联合主办的“2023 SecGo云和软件安全大会”上&#xff0c;零信任办公安全明星企业持安科技创始人兼CEO何艺获评为2022-2023年度零信任领域标准卓越贡献者。&#xfeff; 由中国信通院发布可信安全优秀个人&#xff0…

各报文段格式集合

数据链路层-- MAC帧 前导码8B&#xff1a;数据链路层将封装好的MAC帧交付给物理层进行发送&#xff0c;物理层在发送MAC帧前&#xff0c;还要在前面添加8字节的前导码&#xff08;分为7字节的前同步码1字节的帧开始定界符&#xff09;MAC地址长度6B数据长度46&#xff5e;1500B…

ROS 工作空间及功能包

ROS工作空间&#xff08;workspace&#xff09;是一个存放工程开发相关文件的文件夹。 1. 什么是ROS的工作空间 使用ROS实现机器人开发的主要手段是写代码&#xff0c;这些代码文件存放的空间就是工作空间。 工作空间&#xff08;workspace&#xff09;是一个用于存放工程开发…

电表采集器采集的是哪些参数?

电表采集器是一种能够远程收集电表数据的设备&#xff0c;通常被用于电能计量和管理。电表采集器能够通过无线通信技术&#xff0c;如GPRS、CDMA、3G、4G、5G等&#xff0c;将电表数据传输到数据中心&#xff0c;以便进行数据分析和处理。 电表采集器采集的参数包括以下几个方面…

naco(替代Eureka)注册中心

Nacos初步学习 Nacos 是一个开源的服务注册和配置中心&#xff0c;它允许您注册、注销和发现服务实例&#xff0c;并提供了配置管理的功能。下面是Nacos的最基础用法&#xff1a; 1. 服务注册和发现&#xff1a; 首先&#xff0c;您需要将您的应用程序或服务注册到Nacos中。…

Android maven could not get http://192.xx

网页流程仓库ip都能访问&#xff0c;android 发包出现如上提示。原来我电脑自身使用了 vpn&#xff0c;导致 红色框内的代理打开了&#xff0c;注释点问题解决。android studio有自身的代理文件&#xff0c;不依赖windows系统的代理配置&#xff0c;即使set http_proxy也是无效…

【深入MaxCompute】人力家:借助Information Schema合理治理费用

简介&#xff1a; 人力家是由阿里钉钉和人力窝共同投资成立&#xff0c;帮助客户进入人力资源数字化&#xff0c;依靠产品技术创新驱动战略的互联网公司。本文将为大家带来MaxCompute与人力家客户案例深度解读。 作者&#xff1a;石玉阳 人力家 高级数据研发工程师 业务简介 …

“益路同行”栏目人物专访 第0010期——中国公益万里行发起人李现

中国善网在本届&#xff08;第十届&#xff09;慈展会上特别推出了《益路同行》采访栏目&#xff0c;《益路同行》栏目旨在寻觅公益之路上同行者的故事&#xff0c;挖掘公益更深层次的内涵&#xff0c;探索新时代公益发展道路。希望公益企业、人物、故事被更多人看到&#xff0…

Spring Boot项目在Windows上的自启动策略与Windows自动登录配置

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

腾讯发布《2023数字经济高质量发展报告》

导读 2018年9月30日&#xff0c;腾讯宣布“扎根消费互联网&#xff0c;拥抱产业互联网”的全新战略&#xff0c;并进行历史上第三次大规模组织变革&#xff0c;成立云与智慧产业事业群&#xff08;简称CSIG&#xff09;&#xff0c;开启ToB领域的深耕。也是在这一年&#xff…

有什么好用的站内搜索SaaS能帮网站实现站内搜索功能?

在当今数字时代&#xff0c;拥有一个用户友好且高效的网站对于企业在线发展至关重要。一个能够极大增强用户体验的关键功能就是网站内部搜索能力。这正是站内搜索SaaS发挥作用的地方。 站内搜索SaaS是指一种基于云的软件解决方案&#xff0c;使网站能够实现内部搜索功能。借助…

设计模式 - 迭代器模式

目录 一. 前言 二. 实现 三. 优缺点 一. 前言 迭代器模式是一种行为型设计模式&#xff0c;它提供了一种统一的方式来访问集合对象中的元素&#xff0c;而不暴露集合内部的表示方式。简单地说&#xff0c;就是将遍历集合的责任封装到一个单独的对象中&#xff0c;我们可以按…

智能化之路:即时零售的崛起与线下商超的转型

最近两年&#xff0c;线下商超骤然迎来“闭店潮”&#xff0c;集体陷入了经营泥潭&#xff0c;其中包括家乐福和永辉超市&#xff0c;以及步步高等大型传统商超。 今年6月底&#xff0c;家乐福中国关闭了深圳的所有门店&#xff1b;8月底&#xff0c;家乐福关闭了广州的最后一…

设计行业中如何保证图纸设计稿在数据传输中不会泄密

设计行业是一个充满创意和专业的行业&#xff0c;图纸设计稿是设计师的心血和财富&#xff0c;也是和客户和合作伙伴沟通和交流的桥梁。可是&#xff0c;现在互联网技术发展得很快&#xff0c;设计师在传输图纸设计稿的时候&#xff0c;会遇到很多安全问题和挑战&#xff0c;怎…

软件开发项目管理工具盘点:探索多种选择

人们常问&#xff1a;“软件研发项目有专门的项目管理软件吗&#xff1f;”你可能会在早期使用更多Office协助项目研发管理&#xff0c;进而使用通用项目管理软件&#xff0c;在一定程度上解决了项目进度跟进问题.资源分配.合作与沟通存在问题&#xff0c;但最终软件研发项目的…

前端js调试如何复制console.log打印的对象或数组

在使用console.log()打印我们的内容时&#xff0c;时常需要将打印的内容复制粘贴使用&#xff0c;然而控制台打印出来的对象是经过格式化处理且直接选择粘贴会有格式问题&#xff0c;此时我们可以通过控制台的 copy() 方法来进行打印结果的复制&#xff0c;如图所示&#xff1a…

Redis 分布式锁 @Klock 注解详解及使用教程

文章目录 一、作用二、参数三、锁的流程四、SpringBoot 集成1. pom 依赖2. yaml 配置3. 使用方式 五、变量级锁和方法级锁六、常见应用场景1. 页面重复提交2. 定时任务3. 核心业务 七、锁的粒度与锁的时间 一、作用 注解 klock 是基于 Redis 的分布式锁&#xff0c;作用在分布…

数据结构--》解锁数据结构中树与二叉树的奥秘(二)

数据结构中的树与二叉树&#xff0c;是在建立非线性数据结构方面极为重要的两个概念。它们不仅能够模拟出生活中各种实际问题的复杂关系&#xff0c;还常被用于实现搜索、排序、查找等算法&#xff0c;甚至成为一些大型软件和系统中的基础设施。 无论你是初学者还是进阶者&…

PHP会话技术跟踪和记录用户?使用cookie会话你必须掌握

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《速学数据结构》 《C语言进阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 &#x1f4cb; 前言会话技术的概述一. Cookie简介二. Cookie基本使用——创建Cookie2.1 创建Cookie演示实例&am…

Zinquin ethyl ester(CAS NO. 181530-09-6),TSQ的类似物

Zinquin ethyl ester&#xff08;CAS NO. 181530-09-6&#xff09;&#xff0c;是广泛使用锌离子荧光探针TSQ的类似物&#xff0c;也是一种细胞渗透性、基于喹诺酮结构的锌离子&#xff08;Zn2&#xff09;荧光探针&#xff0c; 该探针可以用于在细胞中检测和定位锌离子。它具…