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

news2024/9/20 10:40:41

文章目录

    • 一、实验须知
      • 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-keygen

ssh-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
EOF

sysctl -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.repo

yum 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-compose

chmod +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.1
    restart: unless-stopped
    ports:
      - "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.coloradmin.cn/o/2095681.html

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

相关文章

碎碎恋之懒加载和预加载

目录 0 前言1 fragment复习1.1 静态创建1.2 动态创建1.3 两者生命周期1.4 fragment之间的通信 0 前言 懒加载&#xff0c;延迟加载&#xff1b;如kotlin中初始化&#xff1b;减小资源消耗&#xff0c;可以避免同一时间需要加载的内容过多。 预加载&#xff0c;提前加载&#x…

经典大语言模型解读(2):生成式预训练的先锋GPT-1

论文地址&#xff1a;Improving Language Understanding by Generative Pre-Training 概述 现实世界中包含了大量的文本语料数据&#xff0c;然而&#xff0c;绝大多数语料都是无标签的。 为了充分利用这些无标签语料库&#xff0c;GPT1.0提出直接利用这些未标记的语料来进行…

【BLE】三.GATT/ATT规范

基本概念回顾 CS交互流程 SPP&#xff08;蓝牙透传&#xff09;的示例初始化&#xff1a; SPP示例运行过程&#xff1a; GATTS&GAP回调&#xff1a; 黄色&#xff1a;事件回调 绿色&#xff1a;事件 蓝色&#xff1a;执行 GATTC&GAP回调&#xff1a; 服务特征…

安全入门day.04

一、密码存储加密知识点 1、MD5 MD5加密是一种广泛使用的密码杂凑函数&#xff0c;它可以将任意长度的信息通过一系列复杂的数学和位操作转化为一个128位&#xff08;16字节&#xff09;的散列值&#xff08;hash value&#xff09;&#xff0c;这个散列值通常被表示为一个32位…

【Qt】工具栏

工具栏 工具栏是应用程序中集成各种功能实现快捷键使用的一个区域。 在Qt中使用QToolBar表示工具栏对象&#xff0c;一个窗口可以有多个工具栏&#xff0c;也可以没有&#xff0c;工具栏也是可以进行手动移动位置。 例子&#xff1a;创建工具栏 &#xff08;1&#xff09;创…

信息系统运维服务方案(Word原件完整版)

1 编制目的 2 系统运行维护 2.1 系统运维内容 2.2 日常运行维护方案 2.2.1 日常巡检 2.2.2 状态监控 2.2.3 系统优化 2.2.4 软件系统问题处理及升级 2.2.5 系统数据库管理维护 2.2.6 灾难恢复 2.3 应急运行维护方案 2.3.1 启动应急流程 2.3.2 成立应急小组 2.3.3 …

【hot100篇-python刷题记录】【轮转数组】

R7-数组篇 思路&#xff1a; 印象题&#xff0c;我记得可以使用python切片拼接 python切片 要轮转k个位置&#xff0c;那从第k个下标开始切片&#xff0c;然后拼接[0,k) class Solution:def rotate(self, nums: List[int], k: int) -> None:"""Do not re…

云计算第二阶段---DBA Day8-Day9

DBA Day8 该阶段的2天内容,都会和数据库中间件,集群配置有关. 什么是中间件&#xff1f; 通俗来说&#xff0c;就是在正式文件内容从客户端发送或获取请求时&#xff0c;在传播过程中地点中间商&#xff0c;负责管理请求&#xff0c;并对其进行分类。 环境准备: 准备…

【入门教程】基于深度学习的遥感图像分割流程(附代码)

本文为入门遥感图像分割的朋友提供一份详细教程&#xff0c;看完你将收获&#xff1a; 大致了解图像分割的基本流程能够独立完成从拿到数据集到完成分割结果并评估的任务 有任何问题欢迎关注or私信&#xff0c;看到即回复&#xff0c;文末附代码链接。 文章目录 0.引言1.数据…

农事管理系统

摘 要 使用旧方法对农事管理系统的信息进行系统化管理已经不再让人们信赖了&#xff0c;把现在的网络信息技术运用在农事管理系统的管理上面可以解决许多信息管理上面的难题&#xff0c;比如处理数据时间很长&#xff0c;数据存在错误不能及时纠正等问题。这次开发的农事管理系…

2-83 基于matlab的自适应正则化核的模糊均值聚类框架(ARKFCM)

基于matlab的自适应正则化核的模糊均值聚类框架(ARKFCM)&#xff0c;用于脑磁共振图像的分割。该框架采用三种算法&#xff0c;分别平均滤波器、中值滤波器和设计的加权图像的灰度来代替局部平均灰度。利用邻域中灰度的异质性获取局部信息&#xff0c;并用高斯径向基核函数替换…

【#第三期实战营闯关作业 ## MindSearch在 Hugging FaceSpace的部署】

把MindSearch 部署到Github Codespace后&#xff0c;下一步就是上传到 Hugging Face Space&#xff0c;以下是记录了实操的过程及截图&#xff1a; 打开 https://huggingface.co/spaces &#xff0c;并点击 Create new Space&#xff0c;如下图所示:在输入 Space name 并选择 …

数据仓库系列18:如何建立一个有效的元数据管理体系?

目录 什么是元数据?为什么它如此重要?元数据管理体系的核心组件如何设计元数据模型步骤1: 识别关键元数据类型步骤2: 定义元数据属性步骤3: 建立元数据之间的关系步骤4: 选择合适的建模方法示例: 使用关系模型设计元数据模型最佳实践 元数据采集策略1. 识别元数据来源2. 自动…

正则表达式pattern

String qq "1234567890" qq.matches("[1-9]\\d{5,19}") [1-9]第一位不等于零 \\d都是数字 {5,19}后面的5到19位。 正则表达式的作用 作用1&#xff1a;校验字符串是否满足规则 作用2&#xff1a;在一段文本中查找满足要求的内容 sout("\"…

Cesium 地球云图

Cesium 地球云图 使用自定义图原(Primitive)实现。 支持速度和透明的动态调整。 支持设置云图高度, 当相机高度小于云图高度时, 渐隐消失。 Cesium 地球云图

Qt-初始Qt

1. Qt背景介绍 1.1 什么是Qt Qt是⼀个跨平台的C图形⽤⼾界⾯应⽤程序框架。它为应⽤程序开发者提供了建⽴艺术级图形界⾯所需的所有功能。它是完全⾯向对象的&#xff0c;很容易扩展。Qt为开发者提供了⼀种基于组件的开发模式&#xff0c;开发者可以通过简单的拖拽和组合来实现…

003.精读《MapReduce: Simplified Data Processing on Large Clusters》

文章目录 1. 引言&#xff1a;2. 精读2.1 背景2.2 模型应用2.3 基本原理2.4 其他 3. 总结 1. 引言&#xff1a; 在本期的精读会中&#xff0c;我们将深入探讨一篇具有里程碑意义的论文——《MapReduce: Simplified Data Processing on Large Clusters》。这篇论文不仅奠定了大…

【AI音频处理】:重塑声音世界的无限可能

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 文章目录 引言一、语音识别&#xff1a;人机交互的新篇章二、语音合成&#xff1a;让机器“说话”的艺术三、音乐创作与推荐&#xff1a;AI赋予音乐新生命四、声音效果处理&#xff1a;让声音更加完美五、AI在…

浅谈维度建模、数据分析模型,何为数据仓库,与数据库的区别

往期推荐 大数据HBase图文简介-CSDN博客 数仓分层ODS、DWD、DWM、DWS、DIM、DM、ADS-CSDN博客 数仓常见名词解析和名词之间的关系-CSDN博客 数仓架构&#xff1a;离线数仓、实时数仓Lambda和Kappa、湖仓一体数据湖-CSDN博客 0. 前言 1991年&#xff0c;数据仓库之父 比尔恩门 著…

【C++ | 设计模式】代理模式的详解与实现

1. 概念 代理模式&#xff08;Proxy Pattern&#xff09;是一种结构型设计模式&#xff0c;用于控制对对象的访问。它通过引入代理对象&#xff0c;间接地操作目标对象&#xff0c;从而实现对目标对象的控制。代理模式的核心思想是通过代理对象来控制对目标对象的访问。代理对…