centos7.9离线安装rke2

使用rke2安装k8s,master节点有三台,agent节点一台,三台master通过etcd存储保证master节点的高可用,使用nginx对master进行负载均衡。

  • 主机清单如下
ip主机名称用途
192.168.16.72node72server节点
192.168.16.73node73master节点
192.168.16.74node74master节点
192.168.16.75node75master节点,nginx
  • 规划好主机并修改主机名称
    修改对应主机的名称,如何示例如:
    hostnamectl set-hostname node72
  • 所有主机修改hosts
cat > /etc/hosts << EOF
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.16.71 node71
192.168.16.72 node72
192.168.16.73 node73
192.168.16.74 node74
192.168.16.75 node75
EOF
  • 所有主机时间同步
    一小时同步一次,大家可以视情况频率高一些
yum install ntpdate -y
​​​​​​​crontab -e
0 */1 * * * root ntpdate -s ntp.aliyun.com
crontab -l
  • 所有主机防火墙关闭
systemctl stop firewalld
systemctl disable firewalld
sudo systemctl status firewalld
  • 所有主机关闭swap
#永久关闭,需要重启服务器
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
#昨时关闭
swapoff -a && sysctl -w vm.swappiness=0 
  • 关闭selinux
#永久关闭
sed -ri '/^[^#]*SELINUX=/s#=.+$#=disabled#' /etc/selinux/config
#临时关闭
setenforce 0
#注意:不关闭会产生文件读取权限等问题出现
  • 添加网桥过滤
#添加网桥过滤
cat >>  /etc/sysctl.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 1
net.ipv4.ip_forward = 1
EOF
#加载 br_netfilter 模块
modprobe br_netfilter
#是否加载
lsmod | grep br_netfilter
#加载网桥过滤配置文件
sysctl -p&&sysctl -p /etc/sysctl.conf
查看是否添加成功
sysctl -a|grep net.bridge.bridge-nf-call-ip6tables
  • ipvs安装
#安装相关软件包
yum -y install ipset ipvsadm 
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
chmod +x /etc/sysconfig/modules/ipvs.modules 
bash /etc/sysconfig/modules/ipvs.modules 
lsmod | grep -e ip_vs -e nf_conntrack_ipv4
  • rke2下载

下载地址:Releases · rancher/rke2 · GitHub

下载的文件:rke2.linux-amd64.tar.gz、rke2-images.linux-amd64.tar.zst、sha256sum-amd64.txt从上面的地址
下载:wget https://rancher-mirror.rancher.cn/rke2/install.sh

将这些文件下载到服务器 ~/rke2-artifacts 目录下面

  • rke2 master config配置 
mkdir -p /etc/rancher/rke2
cat > /etc/rancher/rke2/config.yaml  <<EOF
token:  0fcef8600c960e74d639f08e9abd8a72
system-default-registry: "registry.cn-hangzhou.aliyuncs.com"
data-dir: /data/lib/rke2
#node-name: 不设置取主机名称
write-kubeconfig-mode: 644
cni: "canal" 
kube-proxy-arg:- proxy-mode=ipvs- ipvs-strict-arp=true
EOF
  • rke2 master环境变量配置
cat > /etc/profile.d/rke2.sh <<EOF
export PATH=/data/lib/rke2/bin:$PATH
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml
export CRI_CONFIG_FILE=/data/lib/rke2/agent/etc/crictl.yaml
export CONTAINERD_ADDRESS=/run/k3s/containerd/containerd.sock
export CONTAINERD_NAMESPACE=k8s.io
EOF
source /etc/profile

rke2 master registry 配置

mkdir -p /etc/rancher/rke2
cat > /etc/rancher/rke2/registries.yaml<<EOF
mirrors:docker.io:endpoint:- "https://registry.cn-hangzhou.aliyuncs.com"- "https://docker.mirrors.ustc.edu.cn"swr.cn-north-1.*****.com:endpoint:- "https://swr.cn-north-1.****.com"pregistry.bshcn.com.cn:endpoint:- "https://**pregistry.****.com.cn"
configs:"swr.cn-north-1.****.com":auth:username: cn-north-1@****password: ****"pregistry.****.com.cn":tls:insecure_skip_verify: true
EOF
  • rke2 master安装
cd /root/rke2-artifacts/
INSTALL_RKE2_ARTIFACT_PATH=/root/rke2-artifacts INSTALL_RKE2_AGENT_IMAGES_DIR=/data/lib/rke2/agent/images sh install.sh
  • rke2  master- 设置开机启动

systemctl enable rke2-server
systemctl start rke2-server

  • rke2 master2、maseter3安装

除了config.yaml中server地址为master地址外,master2、maseter3其它步骤和master安装方式方法一样

mkdir -p /etc/rancher/rke2
cat > /etc/rancher/rke2/config.yaml  <<EOF
#为master节点地址
server: https://node75:9345   
token:  0fcef8600c960e74d639f08e9abd8a72
system-default-registry: "registry.cn-hangzhou.aliyuncs.com"
data-dir: /data/lib/rke2
#node-name: 不设置取主机名称
write-kubeconfig-mode: 644
cni: "canal" 
kube-proxy-arg:- proxy-mode=ipvs- ipvs-strict-arp=true
EOF
  • master节点负载均衡配置
    master有三台,这里通过nginx进行负载均衡配置具体如下:
    stream {upstream rke2_servers {server node73:9345;server node74:9345;server node75:9345;}server {listen 80;proxy_pass rke2_servers;}
    }

  • rke2 agent安装说明
    所有agent安装方式一样
     
  • rke2 agent config配置
mkdir -p /etc/rancher/rke2
cat > /etc/rancher/rke2/config.yaml  <<EOF
server: https://rke2_servers:9345
token:  0fcef8600c960e74d639f08e9abd8a72
system-default-registry: "registry.cn-hangzhou.aliyuncs.com"
data-dir: /data/lib/rke2
node-name: agent41
write-kubeconfig-mode: 644
cni: "canal" 
kube-proxy-arg:- proxy-mode=ipvs- ipvs-strict-arp=true
EOF
  • rke2 agent registry 配置
    mkdir -p /etc/rancher/rke2
    cat > /etc/rancher/rke2/registries.yaml<<EOF
    mirrors:docker.io:endpoint:- "https://registry.cn-hangzhou.aliyuncs.com"- "https://docker.mirrors.ustc.edu.cn"swr.cn-north-1.*****.com:endpoint:- "https://swr.cn-north-1.****.com"pregistry.bshcn.com.cn:endpoint:- "https://**pregistry.****.com.cn"
    configs:"swr.cn-north-1.****.com":auth:username: cn-north-1@****password: ****"pregistry.****.com.cn":tls:insecure_skip_verify: true
    EOF
  • rke2 agent 安装
cd /root/rke2-artifacts
INSTALL_RKE2_ARTIFACT_PATH=/root/rke2-artifacts INSTALL_RKE2_AGENT_IMAGES_DIR=/data/lib/rke2/agent/images INSTALL_RKE2_TYPE="agent"  sh install.sh
  • rke2 agent启动
systemctl enable rke2-agent.service
systemctl start rke2-agent.service

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

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

相关文章

常用excel操作笔记

一、表达式 1. 查找excel中一列值出现在另外一列中 IF(SUMPRODUCT(--(ISNUMBER(SEARCH($A$1:$A$101,C2)))),1,0) 2.计算某个字符出现的次数 LEN(G2)-LEN(SUBSTITUTE(G2,">",))1 3.拼接字符串 C2&"|"&A2 4.根据当前日期生成19位id TEXT(TODAY…

MySQL语句,使用replace替换数据后,有小数时,使用round等方法无法取整

15.55这个数字 replace替换数据后乘以100&#xff0c;在Navicat中运行&#xff0c;是显示整数 但是在Python中调用SQL语句&#xff0c;使用replace替换数据并乘以100后&#xff0c;会显示有一位小数&#xff0c;并且使用round等方法无法取整 最终采用cast函数将replace后的数…

新装电脑Flutter环境部署坑汇总(持续更新)

1.本地安装&#xff0c;安装fvm的坑 本人电脑使用windows &#xff0c;安装fvm则一般使用choco安装&#xff0c;那么首先需要安装choco,打开powershell/或者cmd运行以下命令&#xff1a; Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager…

5.2 海思SS928开发 - kernle开发 - 构建脚本

5.2 kernle开发 - 构建脚本 SS928 kernel 提供了 makefile 用于 kernel 构建。想要得到最后的内核镜像&#xff0c;还要经过许多步骤&#xff0c;每次都手敲命令的话&#xff0c;会把我累死。自己实现一个构建脚本&#xff0c;支持以下常用功能即可&#xff1a; 构建内核镜像配…

图像置乱加密-Arnold加密算法

置乱加密是另一种较常用的加密方法&#xff0c;现也被许多文献选用&#xff0c;置乱加密可以是以像素为单位进行全局置乱&#xff0c;该方式打乱了图像像素值的位置&#xff0c;使其图像内容失去相关性&#xff0c;达到保护的目的。也可以是以块为单位进行置乱&#xff0c;该方…

Kafka报错ERROR Exiting Kafka due to fatal exception during startup

报错&#xff1a; ERROR Exiting Kafka due to fatal exception during startup. (kafka.Kafka$) kafka.common.InconsistentClusterIdException: The Cluster ID FSzSO50oTLCRhRnRylihcg doesnt match stored clusterId Some(0oSLohwtQZWbIi73YUMs8g) in meta.properties. Th…

某宝因SSL证书过期无法正常访问,证书过期问题频发企业如何破局?

近日&#xff0c;有网友发现&#xff0c;某宝网站无法正常访问&#xff0c;出现“此连接非私人连接”提示&#xff0c;而导致此类提示的罪魁祸首是因为SSL证书过期&#xff01;其实&#xff0c;近年来&#xff0c;因SSL证书过期导致的网站无法正常访问的事件频频发生&#xff0…

vue2—— mixin 超级详细!!!

mixin Mixin是面向对象程序设计语言中的类&#xff0c;提供了方法的实现。其他类可以访问mixin类的方法而不必成为其子类 Mixin类通常作为功能模块使用&#xff0c;在需要该功能时“混入”&#xff0c;有利于代码复用又避免了多继承的复杂 vue中的mixin 先来看一下官方定义 mi…

YOLO-yolov5构建数据集

1.收集数据集 创建一个dataset文件夹用来存放图片数据集。 我这里使用的图片数据集&#xff0c;是对一段视频进行抽帧得到的200张狗狗图片。 在dataset文件夹下新建images和labels文件夹&#xff0c;并将200张狗狗图片放入images中。 2.标注数据集 2.1安装标注工具labelimg…

Jenkins邮件发送失败问题解决

如下提示为 Extended E-mail Notification开启Debug模式下显示的错误信息&#xff0c; (Debug模式设置方法&#xff1a;Dashboard-> manage Jenkins->configure System)DEBUG SMTP: Attempt to authenticate using mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM XOAUTH2 DEB…

Projector投影器-Unity使用Projector投影器实现简单的阴影

在Unity中&#xff0c;可以使用Projector投影器来实现简单的阴影效果。Projector投影器是一种用于在场景中投射纹理的组件&#xff0c;可以用来模拟光照、阴影等效果。 要使用Projector投影器实现阴影效果&#xff0c;可以按照以下步骤进行操作&#xff1a; 创建一个空对象&am…

OpenCV——Bernsen局部阈值二值化方法

目录 一、Bernsen算法1、算法概述2、参考文献二、代码实现三、结果展示Bernsen局部阈值二值化方法由CSDN点云侠原创,爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、Bernsen算法 1、算法概述 Bernsen 算法是另一种流行的局部阈值二值化方…

网络相关知识总结

1、网口设置 网口设置IP&#xff0c;即操作/etc/sysconfig/network-scripts路径下的ifcfg-xx文件 主要参数详解&#xff1a; DEVICE:网口名 ONBOOT&#xff1a;表示启动系统时是否激活网卡&#xff0c;yes为激活&#xff0c;no不激活 HWADDR:mac值 DEFROUTE://默认路由设置…

Docker容器:docker基础

目录 一.docker前言 云计算服务模式 关于 docker 产品 虚拟化产品有哪些&#xff1f; ① 寄居架构 ② 源生架构 虚拟化技术概述 主流虚拟化产品对比 1. VMware系列 2. KVM/OpenStack 3. Xen 4. 其他半/全虚拟化产品 二. docker 的相关知识 1. docker 的概念 doc…

[linux网络编程]UDP协议和TCP协议的使用

目录 看以下内容前&#xff0c;你要先了解main函数带参数有什么用、 了解socket的相关函数接口 如果不了解socket的相关函数接口请先看我这篇文章 main函数带参数有什么用 UDP udp_server 1.生成socket文件描述符 2.填充sockaddr_in信息 3.bind 4.发&#xff08;收&…

学习100个Unity Shader (14) ---透明效果

文章目录 渲染队列透明度测试&#xff08;Alpha Test&#xff09;效果Shader 透明度混合&#xff08;Alpha Blending&#xff09;效果Shader 参考 渲染队列 由”Queue“ 标签决定&#xff0c;索引号越小越早被渲染&#xff1a; 名称队列索引号Background1000Geometry2000Alph…

从虚拟化走向云原生,红帽OpenShift“一手托两家”

汽车行业已经迈入“软件定义汽车”的新时代。吉利汽车很清醒地意识到&#xff0c;只有通过云原生技术和数字化转型&#xff0c;才能巩固其作为中国领先汽车制造商的地位。 和很多传统企业一样&#xff0c;吉利汽车在走向云原生的过程中也经历了稳态业务与敏态业务并存带来的前所…

牛客NC98 判断t1树中是否有与t2树完全相同的子树【simple 深度优先dfs C++/Java/Go/PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/4eaccec5ee8f4fe8a4309463b807a542 思路 深度优先搜索暴力匹配 思路和算法这是一种最朴素的方法——深度优先搜索枚举 s 中的每一个节点&#xff0c;判断这个点的子树是否和 t 相等。如何判断一个节点的子树是否…

JSP在页面用<%=调用声明函数时出现HTTP 500错误

JSP在页面用<%调用声明函数时出现HTTP 500错误 错误描述&#xff1a; Eclipse在编写JSP页面时&#xff0c;在其中采用<%&#xff01;%>方式声明了函数&#xff0c;然后在页面中用<%函数名%>方式调用时&#xff0c;出现HTTP状态500错误&#xff0c;提示为&#…

【吊打面试官系列】Java高并发篇 - Java 中 notify 和 notifyAll 有什么区别?

大家好&#xff0c;我是锋哥。今天分享关于 【Java 中 notify 和 notifyAll 有什么区别&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; Java 中 notify 和 notifyAll 有什么区别&#xff1f; notify() 方法不能唤醒某个具体的线程&#xff0c;所以只有一个线程…