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

文章目录

    • 一、实验须知
      • 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.mzph.cn/diannao/53010.shtml

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

相关文章

【自由能系列(中级),代码模拟】预测编码的核心:三个关键方程式的详解

预测编码的核心&#xff1a;三个关键方程式的详解 ——探索预测编码背后的数学原理与应用 核心结论&#xff1a;预测编码是一种基于贝叶斯定理的理论框架&#xff0c;它通过三个关键方程式描述了大脑如何处理和解释来自环境的信号。这些方程式分别建立了贝叶斯定理的简化形式、…

JL-02 投入式水位记录仪 采集记录一体 安装便捷

产品概述 水位记录仪是针对市场需求而研发的集成了信号采集、过程IO控制和无线数据通信于一体的高性能测控装置&#xff1b;采用低功耗技术&#xff0c;可使用太阳能、蓄电池供电&#xff0c;非常适合在野外供电条件困难的恶劣环境使用&#xff1b;安装使用方便&#xff0c;不…

9月新机首发:骁龙芯片+超大电池,游戏玩家的终极选择

随着秋风送爽的9月到来&#xff0c;智能手机和电子设备市场也迎来了新一轮的热潮。8月份的新机发布热潮刚刚退去&#xff0c;9月份的新机已经迫不及待地揭开了神秘的面纱。在众多备受期待的产品中&#xff0c;红魔品牌抢先官宣&#xff0c;两款全新的游戏平板将在9月5日正式亮相…

论文速读|通过人类远程操作的深度模仿学习框架:人型机器人的行走操纵技能

项目地址&#xff1a;Deep Imitation Learning for Humanoid Loco-manipulation through Human Teleoperation 本文详细介绍了 TRILL&#xff08;Teleoperation and Imitation Learning for Loco-manipulation&#xff09;框架&#xff0c;它是一个用于人型机器人行走操纵技能训…

LeetCode - 12 整数转罗马数字

题目来源 12. 整数转罗马数字 - 力扣&#xff08;LeetCode&#xff09; 题目描述 七个不同的符号代表罗马数字&#xff0c;其值如下&#xff1a; 符号值I1V5X10L50C100D500M1000 罗马数字是通过添加从最高到最低的小数位值的转换而形成的。将小数位值转换为罗马数字有以下规…

OpenCV绘图函数(14)图像上绘制文字的函数putText()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在图像上绘制指定的文本字符串。 cv::putText 函数在图像上绘制指定的文本字符串。无法使用指定字体渲染的符号会被问号&#xff08;?&#xff…

git把远程仓库的master分支合并到本地分支

假如现在我们要将远程 origin 的 master 分支合并到本地的 dev 分支&#xff0c;可以按照以下步骤进行操作&#xff1a; 切换到本地的 dev 分支&#xff1a; git checkout dev拉取远程 origin 的最新 master 分支&#xff1a; git fetch origin master将远程 origin 的 master …

9 Python函数、参数、作用域、内置函数、lambda表达式

本篇是 Python 系列教程第 9 篇&#xff0c;更多内容敬请访问我的 Python 合集 1 定义函数 在 Python 中&#xff0c;你可以使用 def 关键字来定义一个函数。函数定义的基本语法如下&#xff1a; def function_name(parameters):# 函数体# ...return valuefunction_name: 函数…

简单梯形问题

如下图&#xff0c;ABCD是一个梯形&#xff0c;E是AD的中点&#xff0c;直线CE把梯形分成甲、乙两部分&#xff0c;其面积之比为5:2&#xff0c;那么上底AB与下底CD的长度之比是&#xff08;&#xff09;。 A 2&#xff1a;5 B 3&#xff1a;5 C 3&#xff1a;4【正确答案】 D …

【ros2】 const builtin_interfaces::msg::Time timestamp解析

解析 const builtin_interfaces::msg::Time & timestamp 1. 数据类型 builtin_interfaces::msg::Time 是 ROS 2 中的一个消息类型&#xff0c;用于表示时间戳。 2. 结构 builtin_interfaces::msg::Time 包含以下字段&#xff1a; struct Time {std::uint32_t sec;std:…

LLM:推理加速相关的结构优化

对于 LLM&#xff0c;加速推理并降低显存&#xff0c;是两个至关重要的问题。本文将从 Key-Value Cache 出发&#xff0c;介绍两种相关的模型结构改进。分别是 ChatGLM 系列使用的 Multi-Query Attention&#xff08;MQA&#xff09; 和 LLama 系列使用的 Grouped-Query Attent…

C++学习, 函数返回指针

C 允许函数返回指针&#xff0c;需要声明返回指针的函数。 声明函数返回指针方式&#xff1a; type *Function() { } 程序示例&#xff1a; #include <iostream> #include <ctime> #include <cstdlib> using namespace std; int *getRandom( ) { static…

Memcached append 命令

Memcached append 命令 Memcached 是一种高性能的分布式内存对象缓存系统,常用于缓存数据库调用、API响应等,以减少服务器负载和提高访问速度。Memcached 的 append 命令用于向已存在键的值的末尾追加数据。这个功能在需要在不覆盖原有数据的情况下,对数据进行扩展时非常有…

前端与后端的身份认证

这里写目录标题 前端与后端的身份认证Web开发模式服务端渲染的Web开发模式前后端分离的Web开发模式根据场景选择开发模式 身份认证为什么需要身份认证不同开发模式下的身份认证 Session认证机制HTTP协议下的无状态性如何突破HTTP无状态的限制CookieCookie的几大特性&#xff1a…

python3.10安装

python3.10 安装 文章目录 python3.10 安装0. 我的环境1. centos7.6 安装python3需要升级openssl2. 安装python33. 查看python3版本 0. 我的环境 [rootftp ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [rootftp ~]# openssl version OpenSSL 1.0.2k-…

VUE3+FLASK+TYPESCRIPT(实习接触,学习并自主实现)

开头 不同于笔者在学校自学简单的htmljscss的模式&#xff0c;加入了前端框架VUE3真的是一个非常方便的工具&#xff0c;而且本人主攻于c方向&#xff0c;像ts这种更严格的语法标准反而更加比原生js更能让我接受&#xff0c;由于这三个都是本人没接触的库框架和语言&#xff0c…

9 自研rgbd相机基于rk3566之qt框架开发rgb图像处理线程

qt框架开发rgb图像处理线程 rgb线程功能及处理流程1 rgb线程分为如下几个功能:2 rgb线程的处理流程如下:rgb线程qt程序详解1 接收界面启动停止信号。2 qt线程运行rgb线程程序示例1 线程头文件:pthread_33d_sc2310.h2 线程源文件:pthread_33d_sc2310.cpprgb线程功能及处理流…

ET算法【动态规划】

线性dp&#xff1a;dp[i][j] 由 dp[i - 1][j] 通过加减乘除等线性运算得到 状压dp&#xff1a;dp[i][j] 表示一个用二进制数表示的子集来反映当前状态&#xff0c;如7 &#xff08;111&#xff09;&#xff08;选了三个&#xff09; 期望dp&#xff1a;dp[i][j] 表示期望或者…

yolo8 目标检测、鉴黄

省流 看前必读 别浪费时间 &#xff1a;本文只是一个记录&#xff0c;防止自己下次被改需求时浪费时间&#xff0c;在这里就随意的写了一下文章记录整个步骤&#xff0c;但是文章想必肯定没有对应的教程讲的详细&#xff0c;该文章只适合想要快速按照步骤完成一个简单的 demo 的…

学习之git

github 创建远程仓库 代码推送 Push 代码拉取 Pull 代码克隆 Clone SSH免密登录 Idea集成GitHubGitee码云 码云创建远程仓库 Idea集成Gitee码云 码云连接Github进行代码的复制和迁移GitLab gitlab服务器的搭建和部署 Idea集成GitLabgit概述 一切皆本地 版本控制工具 集中…