RKE2创建高可用K8S

这篇具有很好参考价值的文章主要介绍了RKE2创建高可用K8S。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

三台节点同时做master和worker工作:
192.168.1.1 node01 2cpu 4G内存 40G硬盘
192.168.1.2 node02 2cpu 4G内存 40G硬盘
192.168.1.3 node03 2cpu 4G内存 40G硬盘

1、三个节点都执行以下操作

#分别在三台节点上设置hostname
hostnamectl set-hostname node01 && bash
hostnamectl set-hostname node02 && bash
hostnamectl set-hostname node03 && bash

#在三台节点上设置hosts
cat >> /etc/hosts << EOF
192.168.1.1 node01
192.168.1.2 node02
192.168.1.3 node03
EOF

#关闭三台节点上的防火墙
systemctl stop firewalld
systemctl disable firewalld

#关闭三台节点上的selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/'  /etc/selinux/config 

#关闭三台节点上的swap分区
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab

#配置三台节点上的仓库文件
curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#在三台节点上安装必要的软件
yum install -y ntpdate vim wget tree httpd-tools telnet  lrzsz  net-tools bridge-utils  unzip
yum clean all && yum makecache

#同步三台节点的时区和时间到上海时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
ntpdate -u ntp.aliyun.com && date

#修改三台节点的内核参数
cat <<EOF >>  /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward=1
EOF

#加载br_netfilter网络过滤器模块
modprobe br_netfilter

#sysctl命令动态修改内核参数
sysctl -p /etc/sysctl.conf

master节点都需要安装rke2-server,先安装第一个rke2-server,后面2个需要添加config.yaml与第一个rke2-server产生连接

2、在node1上操作

1.运行安装程序,将rke2-server 服务和rke2 二进制文件安装到机器上
curl -sfL  https://get.rke2.io   | sh -
或者指定安装版本
curl -sfL http://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn INSTALL_RKE2_VERSION=v1.21.9+rke2r1 sh -
 
2.开启rke2-server 服务 
systemctl enable rke2-server
 
3.启动服务
systemctl start rke2-server
 #大概十几二十分钟
4.查看日志
journalctl -fu rke2-server.service
#志没有报错了,可能已经安装完成了
#查看是否安装完成,完成后配置环境变量
/var/lib/rancher/rke2/bin/kubectl \
        --kubeconfig /etc/rancher/rke2/rke2.yaml get nodes

3、配置环境变量

vim /etc/profile
#把这两行加进去
export PATH=/var/lib/rancher/rke2/bin:$PATH
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml

#使环境变量生效,这样就可以使用kubectl命令了
source /etc/profile
#查看node情况
kubectl  get nodes

config.yaml文件

#node1里查看下加入集群需要的token
cat /var/lib/rancher/rke2/server/node-token
#记录下来要填写在/etc/rancher/rke2/config.yaml文件
vim /etc/rancher/rke2/config.yaml
#把以下内容粘贴进行并进行修改自己的属性值,token和主机名字和ip

token: K10cc8748a3379c2828abdabd819a919f6adcac08a4bc11ab09718456355f893353::server:8b16b770abd8674c5fb0230ba64eebda
tls-san:
  - my-kubernetes-domain.com
  - another-kubernetes-domain.com
  - 192.168.1.1

node-name: "node01"

#node-taint:
#  - "CriticalAddinsonly=true:NoExecute"

node-label:
  - "node=Master"
  - "node01=Master"

在node2上配置(node3一样的步骤):

安装RKE2前先配置config.yaml文件,不然安装的node2,node3会变成另一个独立的K8S集群

mkdir -p /etc/rancher/rke2/
vi /etc/rancher/rke2/config.yaml
#把以下内容复制进去修改

#这个是自己的node1的ip
server: https://192.168.1.1:9345
#token为Node1获取
token: K10cc8748a3379c2828abdabd819a919f6adcac08a4bc11ab09718456355f893353::server:8b16b770abd8674c5fb0230ba64eebda
tls-san:
  - my-kubernetes-domain.com
  - another-kubernetes-domain.com
  - 192.168.1.1

node-name: "node02"

#node-taint:
#  - "CriticalAddinsonly=true:NoExecute"

node-label:
  - "node=Master"
  - "node02=Master"

安装rke2

#安装rke2
curl -sfL  https://get.rke2.io   | sh -

#设置开机启动rke2
systemctl enable rke2-server

#启动rke2
systemctl start rke2-server
#查看node节点情况
kubectl get nodes
#查看kube-system内服务情况
kubectl -n kube-system get pods

参考链接

https://zhuanlan.zhihu.com/p/494603305
https://docs.rancher.cn/docs/rancher2.5/installation/resources/k8s-tutorials/ha-rke2/_index文章来源地址https://www.toymoban.com/news/detail-504534.html

到了这里,关于RKE2创建高可用K8S的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用kubeadm搭建高可用的K8s集群

    kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。 这个工具能通过两条指令完成一个kubernetes集群的部署: 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 一台或多台机器,操作系统 CentOS7.x-86_x64 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更

    2024年02月08日
    浏览(38)
  • Kubernetes技术--使用kubeadm搭建高可用的K8s集群(贴近实际环境)

    1.高可用k8s集群架构(多master) 2.安装硬件要求 一台或多台机器,操作系统 CentOS7.x-86_x64 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多 注: 这里属于教学环境,所以使用三台虚拟机模拟实现。 3.部署规划 4.部署前准备 (1).关闭防火墙 (2).关闭selinux (3).关闭swap (4).根据规

    2024年02月10日
    浏览(35)
  • k8s master节点高可用方案部署

    使用的是堆叠方案,即etcd与控制平面被部署在同一节点当中,之所以最少使用三个master节点是因为ETCD的RAFT算法,集群中节点超过半数可用,集群才可用,所以一般使用奇数master节点,比如3、5等 每台机器都做 至少2cpu,4g机器环境 关闭防火墙、关闭selinux、关闭交换分区 (1)

    2023年04月08日
    浏览(31)
  • k8s集群部署 | 三节点(复用)高可用集群过程参考

    1.1.1 实验架构图 1.1.2 系统版本说明 OS 版本:CentOS Linux release 7.9.2009 (Core) 初始内核版本:3.10.0-1160.71.1.el7.x86_64 配置信息:2C2G 150G硬盘 文件系统:xfs 网络:外网权限 k8s 版本:1.25.9 1.1.3 环境基本信息 K8s集群角色 IP地址 主机名 组件信息 控制节点1(工作节点1) 192.168.204.10 k8

    2024年02月04日
    浏览(37)
  • Kubernetes实战(十四)-k8s高可用集群扩容master节点

    k8s 集群是由一组运行 k8s 的节点组成的,节点可以是物理机、虚拟机或者云服务器。k8s 集群中的节点分为两种角色:master 和 node。 master 节点:master 节点负责控制和管理整个集群,它运行着一些关键的组件,如 kube-apiserver、kube-scheduler、kube-controller-manager 等。master 节点可以有

    2024年02月03日
    浏览(42)
  • 通过keepalived+nginx实现 k8s apiserver节点高可用

    K8s 主机配置: 配置: 4Gib 内存/4vCPU/60G 硬盘 网络:机器相互可以通信 k8s 实验环境网络规划: podSubnet(pod 网段) 10.244.0.0/16 serviceSubnet(service 网段): 10.96.0.0/12 物理机网段:192.168.1.0/24 2个控制节点2个工作节点 K8S集群角色 IP地址 主机名 安装的组件 控制节点 192.168.1.63 xueg

    2024年02月03日
    浏览(27)
  • 【云原生】二进制k8s集群(下)部署高可用master节点

     在上一篇文章中,就已经完成了二进制k8s集群部署的搭建,但是单机master并不适用于企业的实际运用(因为单机master中,仅仅只有一台master作为节点服务器的调度指挥,一旦宕机。就意味着整个集群的瘫痪,所以成熟的k8s的集群一定要考虑到master的高可用。)企业的运用一

    2024年02月12日
    浏览(48)
  • 创建K8s节点的虚拟机

    30、Root密码,设置密码,再点击完成

    2024年01月23日
    浏览(31)
  • 使用kubeadm搭建生产环境的多master节点k8s高可用集群

    环境centos 7.9 目录  1.对安装 k8s 的节点进行初始化配置 2 通过 keepalived+nginx 实现 k8s apiserver 节点高可用 3、kubeadm 初始化 k8s 集群 4.扩容 k8s 控制节点,把 xuegod62 加入到 k8s 集群 5、扩容 k8s 控制节点,把 xuegod64 加入到 k8s 集群 6、扩容 k8s 集群-添加第一个工作节点  7、安装 ku

    2024年02月16日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包