rancher单节点安装k8s

k3s

优点:

可用性

易于操作的轻量级部署模型

缺点:

与上游Kubernetes不同

RKE1

优点:

与上游Kubernetes紧密对齐

缺点:

严重依赖于

Docker

RKE2

凭借 k3s 的优势和更紧密的上游协调,RKE2 将控制平面组件作为静态 pod 启动,由 kubelet 管理。

为了符合行业趋势和标准,它还嵌入了 containerd 作为容器运行时。

网络要求

  • RKE2 服务器上的端口 6443 和 9345 需要被集群中的其他节点访问。
  • 如果您希望使用指标服务器,则需要在每个节点上打开端口
    10250
  • 端口 2379 和端口 2380 需要可供 etcd 客户端对等连接访问
  • 需要在服务器和代理节点上打开端口30000-32767 以供 NodePort 使用

RKE2架构

RKE2最简单的形式是一个二进制文件


从流程角度来看:

运行 RKE2 服务器和代理的二进制文件和清单来自 RKE2 运行时映像。

RKE2 服务器组件的初始化首先要准备相关组件,然后启动集群

接下来,通过生成容器运行时和节点代理进程来初始化 RKE2 代理组件。

发布此步骤后,在服务器节点上,helm-controller 可以将/var/lib/rancher/rke2/server/manifests中找到的任何图表应用于集群。

所有这些最终都导致 RKE2 进程运行,直到收到SIGKILL或SIGTERM或者 containerd 进程退出。

RKE2安装

配置 cali 和 flannel 的网卡不被 NetworkManager 管理

bash 复制代码
hostnamectl set-hostname k8s-master-1 && bash
mkdir -p /etc/NetworkManager/conf.d
cat <<EOF > /etc/NetworkManager/conf.d/rke2-canal.conf
[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:flannel*
EOF
systemctl daemon-reload
systemctl restart NetworkManager

1.下载二进制文件安装

bash 复制代码
curl -sfL https://get.rke2.io | sh -
#国内源curl -sfL http://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn INSTALL_RKE2_TYPE="server" sh -
systemctl enable rke2-server.service
systemctl start rke2-server.service

排错用

journalctl -u rke2-server -f

配置PATH和kubeconfig文件

bash 复制代码
echo "export PATH=$PATH:/var/lib/rancher/rke2/bin" >> /etc/profile && source /etc/profile
mkdir ~/.kube && cp /etc/rancher/rke2/rke2.yaml ~/.kube/config
ln -s /var/lib/rancher/rke2/agent/etc/crictl.yaml /etc/crictl.yaml
crictl ps

其他实用程序将安装到 /var/lib/rancher/rke2/bin/

可用于注册其他 Server 或 Agent 节点的令牌将在 /var/lib/rancher/rke2/server/node-token

2.卸载

bash 复制代码
#停止
/usr/bin/rke2-killall.sh

#卸载
/usr/bin/rke2-uninstall.sh

至此单节点安装完毕如需加入节点继续看下文


注册agent服务器

配置 cali 和 flannel 的网卡不被 NetworkManager 管理

bash 复制代码
hostnamectl set-hostname k8s-worker-1 && bash
mkdir -p /etc/NetworkManager/conf.d
cat <<EOF > /etc/NetworkManager/conf.d/rke2-canal.conf
[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:flannel*
EOF
systemctl daemon-reload
systemctl restart NetworkManager

在server上 cat /var/lib/rancher/rke2/server/node-token

1.安装agent

bash 复制代码
curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE="agent" sh -
#国内源curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn INSTALL_RKE2_TYPE="agent" sh -
systemctl enable rke2-agent.service
mkdir -p /etc/rancher/rke2/
vim /etc/rancher/rke2/config.yaml
#编辑文件
server: https://<server>:9345
token: <token from server node>
#启动agent
systemctl start rke2-agent.service
journalctl -u rke2-agent -f

2.卸载

bash 复制代码
#停止
/usr/bin/rke2-killall.sh

#卸载
/usr/bin/rke2-uninstall.sh

至此加入节点也ok

相关推荐
繁依Fanyi15 分钟前
828 华为云征文|华为 Flexus 云服务器部署 RustDesk Server,打造自己的远程桌面服务器
运维·服务器·开发语言·人工智能·pytorch·华为·华为云
shuxianshrng17 分钟前
鹰眼降尘系统怎么样
大数据·服务器·人工智能·数码相机·物联网
优思学院21 分钟前
优思学院|如何从零开始自己学习六西格玛?
大数据·运维·服务器·学习·六西格玛黑带·cssbb
FHKHH22 分钟前
计算机网络第二章:作业 1: Web 服务器
服务器·前端·计算机网络
Lill_bin27 分钟前
JVM内部结构解析
jvm·后端·spring cloud·微服务·云原生·ribbon
Flying_Fish_roe34 分钟前
linux-软件包管理-包管理工具(RedHat/CentOS 系)
linux·运维·centos
一道秘制的小菜38 分钟前
C++第七节课 运算符重载
服务器·开发语言·c++·学习·算法
千寻简44 分钟前
Cursor免费 GPT-4 IDE 工具的保姆级使用教程
java·运维·ide·ai
青云交1 小时前
大数据新视界 --大数据大厂之Kubernetes与大数据:容器化部署的最佳实践
数据库·kubernetes·容器编排·资源管理·大数据处理·扩展性、故障恢复·存储持久化·监控、日志管理、性能提升
陈小唬1 小时前
云服务器docker中Hbase整合java-api需要放行的接口
服务器·docker·hbase