部署Rancher2.9管理K8S1.26集群

news/2024/9/18 6:52:33/ 标签: kubernetes, 容器, 云原生, rancher

文章目录

    • 一、实验须知
      • 1、Rancher简介
      • 2、当前实验环境
    • 二、部署Rancher
      • 1、服务器初始化操作
      • 2、部署Rancher
      • 3、登入Rancher平台
    • 三、Rancher对接K8S集群
    • 四、通过Rancher仪表盘部署Nginx服务
      • 1、创建命名空间
      • 2、创建Deployment
      • 3、创建Service

一、实验须知

1、Rancher简介

中文官方文档:

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

Rancher特点如下:

  • 容器管理:Rancher 支持 K8S,允许用户通过 Web 界面集中管理多个 K8S集群,用户通过简单的几步就能够部署k8s资源;
  • 多云支持:Rancher 提供了对多个云提供商的支持,如 AWS、Azure、Google Cloud 等;
  • 高可用性:Rancher 高可用模式,确保平台本身的稳定性和容错性。在某些节点失败的情况下,Rancher仍然可以继续运行并提供服务;
  • 安全性:Rancher 提供了多层级的安全特性,包括用户认证、访问控制、镜像安全扫描等,帮助用户保护容器化应用程序的安全;
  • 资源管理:Rancher 允许用户对容器集群中的资源进行管理和调整,以确保应用程序的性能和稳定性;
  • 应用商店:Rancher 提供了应用商店(Catalog)功能,允许用户浏览和安装预定义的应用程序模板,简化了应用程序部署的过程。

本次实验所需离线文件如下:点击下载

2、当前实验环境

1、已存在K8S集群信息:

角色IP地址主机名称集群版本
控制节点16.32.15.200master-1v1.26.2
工作节点16.32.15.201node-1v1.26.2
工作节点16.32.15.202node-2v1.26.2

2、Rancher服务器信息:

角色IP地址主机名称版本
Rancher16.32.15.115rancherv2.9.2

二、部署Rancher

1、服务器初始化操作

1、配置主机名+本地解析

hostnamectl set-hostname rancher && bash

添加本地hosts解析:

cat >> /etc/hosts << EOF
16.32.15.115 rancher
16.32.15.200 master-1
16.32.15.201 node-1
16.32.15.202 node-2
EOF

2、配置rancher到K8S主机互信

ssh-keygenssh-copy-id master-1
ssh-copy-id node-1
ssh-copy-id node-2

3、关闭防火墙

systemctl disable firewalld --now
setenforce 0
sed  -i -r 's/SELINUX=[ep].*/SELINUX=disabled/g' /etc/selinux/config
iptables -F

4、关闭swap分区

swapoff --all
sed -i -r '/swap/ s/^/#/' /etc/fstab

5、添加网桥过滤器和地址转发功能

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

加载网桥过滤器模块:

modprobe br_netfilter
lsmod | grep br_netfilter # 验证是否生效

6、时间同步,一定保证rancher服务器与K8S服务器时间一致!

同步时区:

timedatectl set-timezone Asia/Shanghai

同步时间:

yum -y install ntpdate
ntpdate ntp1.aliyun.com

定时同步时间:

echo "0 1 * * * ntpdate ntp1.aliyun.com" >> /var/spool/cron/root
crontab -l

7、安装Docker环境

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache# yum-utils软件用于提供yum-config-manager程序
yum install -y yum-utils# 使用yum-config-manager创建docker阿里存储库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum install docker-ce-20.10.6 docker-ce-cli-20.10.6 -y

配置docker国内加速器:

mkdir /etc/docker
cat <<EOF > /etc/docker/daemon.json
{"registry-mirrors": [
"https://vm1wbfhf.mirror.aliyuncs.com",
"http://f1361db2.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.baidubce.com",
"https://ustc-edu-cn.mirror.aliyuncs.com",
"https://registry.cn-hangzhou.aliyuncs.com",
"https://ccr.ccs.tencentyun.com",
"https://hub.daocloud.io",
"https://docker.shootchat.top",
"https://do.nark.eu.org",
"https://dockerproxy.com",
"https://docker.m.daocloud.io",
"https://dockerhub.timeweb.cloud",
"https://docker.shootchat.top",
"https://do.nark.eu.org"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

启动并加入自启动:

systemctl enable docker --now
systemctl status docker

8、安装docker-compose环境

curl -L "https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose

查看版本:

docker-compose --version

2、部署Rancher

1、下载镜像

docker pull rancher/rancher:v2.9.1

2、创建docker-compose文件

mkdir ~/docker-compose/rancher -p
cat > ~/docker-compose/rancher/docker-compose.yaml << EOF
version: '3.8'
services:rancher:image: rancher/rancher:v2.9.1restart: unless-stoppedports:- "80:80"- "443:443"privileged: true
EOF

3、启动服务

cd ~/docker-compose/rancher
docker-compose up -d
docker-compose logs -f 

3、登入Rancher平台

1、获取临时密码

docker logs rancher  2>&1 | grep "Bootstrap Password:"|awk '{print $NF}'
nxkd6bphsmcbcmq2ld6749jzmgn8cslffgx9fggsntjqswwzwgd5s8

2、登入Rancher

浏览器访问:https://16.32.15.115/

在这里插入图片描述
设置一个新密码:
在这里插入图片描述

最终页面如下:
在这里插入图片描述

三、Rancher对接K8S集群

选择导入已有集群:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在K8S控制节点中执行:

curl --insecure -sfL https://16.32.15.115/v3/import/2lp7hxrrvdhl5lgwr7dpbz5lv7bc6lq7rffhpd7zp4p626j56b577b_c-m-9m57bbmf.yaml | kubectl apply -f -

查看rancher-agent是否部署成功:

kubectl get pods -n cattle-system -o wide

在这里插入图片描述

helm的不用管,本次用不到!

四、通过Rancher仪表盘部署Nginx服务

1、创建命名空间

在这里插入图片描述
可以针对命名空间做一些限制,如下图,由于仅仅只是实验,我没有做任何限制,实际根据环境决定!
在这里插入图片描述

2、创建Deployment


填写容器基本信息:

给Pod打标签:
在这里插入图片描述
完成后,点击创建:
在这里插入图片描述
查看资源是否创建成功:
在这里插入图片描述

3、创建Service

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加控制器,关联Pod:
在这里插入图片描述
查看控制器管理Pod信息:

在这里插入图片描述
现在任意Node节点IP:30088都可以访问到Nginx页面了,如下图:
在这里插入图片描述


http://www.ppmy.cn/news/1519353.html

相关文章

Redis KEY操作实战手册:从设计到维护的全面指南

​ &#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 ✨欢迎加入探索Redis的key的相关操作之旅✨ &#x1f44b; 大家好&#xff01;文本…

spring入门(一)spring简介

一、spring简介 Spring技术是JavaEE开发必备技能&#xff0c;企业开发技术选型命中率>90% spring能够简化开发&#xff0c;降低企业级开发的复杂性。框架整合&#xff0c;高效整合其他技术&#xff0c;提高企业级应用开发与运行效率。 主要学习&…

《计算机操作系统》(第4版)第12章 保护和安全 复习笔记

第12章 保护和安全 一、安全环境 1.实现“安全环境”的主要目标和面临的威胁 实现“安全环境”的主要目标和威胁如表12-1所示。 目标 威胁 数据机密性 对应的威胁为有人通过各种方式窃取系统中的机密信息使数据暴露 数据完整性 对应的威胁为攻击者擅自修改系统中所保存的数…

metallb-speaker缓存

手动修改metallb-config arping返回2个mac地址 删除pod mac正常返回 pkill 进程 返回2个mac

SQL进阶技巧:用户不同 WiFi 行为区间划分分析 | 断点分组问题

目录 0 场景描述 1 数据准备 2 问题分析 3 小结 0 场景描述 现有用户扫描或连接 WiFi 记录表 user_wifi_log ,每一行数据表示某时刻用户扫描或连接 WiFi 的日志。 现需要进行用户行为分析,如何划分用户不同 WiFi 行为区间?满足: 1)行为类型分为两种:连接(scan)、…

OceanbaseV4模拟题解析

使用 Docker 部署的 OceanBase 可以作为MetaDB&#xff0c;供OceanBase相关产品作为元数据数据库来使用。以下哪类产品需要MetaDB?&#xff08;AD&#xff09; ​ A OCP ​ B OBProxy ​ C OAT ​ D OMS MetaDB&#xff1a;基于容器部署的 OceanBase 数据库服务&#xff0c;可…

SpringBoot 集成JprotoBuf实现protobuf类型的接口

文章目录 前言一、实现protobuf类型的接口1. 编写 Controller2. 模拟客户端发起请求3. Postman中发起请求二、教程源码获取前言 这篇文章我们讲解了protoBuf和JprotoBuf的区别,并实现SpringBoot集成JprotoBuf:SpringBoot JprotoBuf序列化与反序列化的实现 本文将基于以上文…

大模型参数高效微调技术原理综述(三)-Prefix Tuning

Prefix Tuning是LLM微调技术中另一个重要的技术分支&#xff0c;于2021年由Stanford提出。 本文通过解读论文**《Prefix-Tuning: Optimizing Continuous Prompts for Generation》**&#xff0c;与小伙伴们一起学习理解Prefix Tuning思想和方法。 1.Abstract(摘要) 首先我们看…

Shell函数:递归函数、阶乘和函数库

文章目录 递归函数示例1&#xff1a;阶乘计算示例2&#xff1a;递归列出目录 函数库 递归函数 递归是指函数在其内部调用自身。递归函数常用于解决像阶乘、斐波那契数列等问题。 示例1&#xff1a;阶乘计算 阶乘&#xff08;Factorial&#xff09;是数学中的一种运算&#x…

计算机毕业设计hadoop+spark知识图谱课程推荐系统 课程预测系统 课程大数据 课程数据分析 课程大屏 mooc慕课推荐系统 大数据毕业设计

1.主要技术&#xff1a; 1.前端: Vue.js 2.后端: SpringBootMybatis - plus数据库: MySQL neo4j 3.算法(机器学习、深度学习):协同过滤算法(基于用户、基于物品全部实现)、神经网络混合CF推荐算法、MLP深度学习算法、SVD深度学习算法、线性回归、预测KNN、CNN卷积神经、LSTM情…

电子邮件混淆策略逃避安全保护

几十年来,网络攻击者一直使用电子邮件混淆技术将恶意代码或数据隐藏在文件、脚本或网络流量中。电子邮件混淆方法有很多,例如将地址放入机器人无法读取的图像、验证码或文本中。这种传统的电子邮件混淆策略众所周知,安全控制措施历来擅长修补和阻止它们。但最近,我们的威胁…

【HTML】开源模拟输入框动画

代码地址&#xff1a; https://uiverse.io/eslam-hany/strange-goose-48代码地址&#xff1a; https://uiverse.io/vnuny/moody-swan-60代码地址&#xff1a; https://uiverse.io/boryanakrasteva/hard-pig-16代码地址&#xff1a; https://uiverse.io/Harsha2lucky/lovely…

Ubuntu/Debian 上删除未使用的软件包

随着时间的推移&#xff0c;Linux 系统可能会有大量不再使用的软件包。这些软件包会占用大量磁盘空间&#xff0c;并可能降低系统的整体性能。 本指南将向您展示如何轻松地删除这些未使用的包。保持系统的干净和高效是很重要的&#xff0c;但是要小心&#xff0c;删除必要的软…

docker 镜像仓库的管理

目录 1 docker 镜像仓库介绍 1.1 什么是docker仓库 1.2 docker hub 2 docker仓库的工作原理 2.1 仓库中的三个角色 2.2 pull原理 2.3 push原理 3 使用互联网上提供的托管镜像仓库 3.1 docker hub 镜像仓库 3.1.1 docker hub 镜像仓库介绍 3.1.2 docker hub的使用方法 4 搭建doc…

学习日志30

论文名称&#xff1a;IBM Q Experience as a versatile experimental testbed for simulating open quantum systems 论文内容&#xff1a; 这篇论文详细探讨了IBM Q Experience作为一个实验平台&#xff0c;用于模拟和研究开放量子系统的多种模型和现象。开放量子系统是指那些…

更改了ip地址怎么改回来

在日常的网络使用中&#xff0c;‌我们有时会因为特定的需求更改设备的IP地址&#xff0c;‌比如解决IP冲突、‌访问特定网络资源或进行网络测试等。‌然而&#xff0c;‌更改IP地址后&#xff0c;‌我们可能又因为某些原因需要将IP地址改回原来的设置。‌本文将详细介绍如何改…

【国考】特值法

特值法 题干中存在乘除关系&#xff0c;且对应量未知。 例3&#xff1a;甲、乙、丙三个工程队的效率比为6&#xff1a;5&#xff1a;4,现将A、B两项工作量相同的工程交给这三个工程队,甲队负责A工程,乙队负责B工程,丙队参与A工程若干天后转而参与B工程.两项工程同时开工,耗时16…

新手如何学单片机

新手学习单片机可以按照以下步骤进行&#xff1a; 一、基础知识准备 学习电子基础知识&#xff1a;了解电压、电流、电阻等基本概念&#xff0c;以及它们在电路中的作用。学习计算机体系结构&#xff1a;理解计算机的基本组成和工作原理&#xff0c;包括CPU、内存、输入输出设…

【UE5】控件蓝图——树视图(TreeView)的基本使用

目录 前言 效果 步骤 一、显示根节点 二、显示子节点 前言 我们在视口中添加1个方块&#xff0c;2个球体&#xff0c;5个圆柱 它们在大纲视图中的层级关系如下&#xff0c;那么如何将这种层级关系显示在树视图中是本篇文章要解决的问题。 效果 步骤 一、显示根节点 1…

【设计模式】创建型模式——抽象工厂模式

抽象工厂模式 1. 模式定义2. 模式结构3. 实现3.1 实现抽象产品接口3.2 定义具体产品3.3 定义抽象工厂接口3.4 定义具体工厂3.5 客户端代码 4. 模式分析4.1 抽象工厂模式退化为工厂方法模式4.2 工厂方法模式退化为简单工厂模式 5. 模式特点5.1 优点5.2 缺点 6. 适用场景6.1 需要…