百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

k3s部署指南(k3s部署rancher)

off999 2025-03-19 15:31 24 浏览 0 评论

轻量级的kubernetes

K3s 是轻量级的 Kubernetes。K3s 易于安装,仅需要 Kubernetes 内存的一半,所有组件都在一个小于 100 MB 的二进制文件中。

它适用于:

  • Edge 边缘
  • IoT 物联网
  • CI 那里
  • Development 发展
  • ARM 手臂
  • 嵌入 K8s

其实k3s特别适用于小规模部署的toB产品,假如你有一套产品基于微服务部署,节点数量能够控制在一定规模内,然后又是基于微服务架构进行开发,需要依赖于k8s的特性进行安装、部署、资源分配和隔离;此时建议使用k3s来作为部署底座。

k3s是一个完全兼容kubernetes的发型版本。

  • 打包为单个二进制文件。
  • 使用基于 sqlite3 作为默认存储机制的轻量级存储后端。同时支持使用 etcd3、MySQL 和 Postgres。
  • 封装在简单的启动程序中,可以处理很多复杂的 TLS 和选项。
  • 默认情况下是安全的,对轻量级环境有合理的默认值。
  • 添加了简单但强大的 batteries-included 功能,例如:
    • 本地存储提供程序
    • service load balancer 服务负载均衡器
    • Helm controller Helm 控制器
    • Traefik ingress controller
      Traefik 入口控制器
  • 所有 Kubernetes control plane 组件的操作都封装在单个二进制文件和进程中。因此,K3s 支持自动化和管理复杂的集群操作(例如证书分发等)。
  • 最大程度减轻了外部依赖性,K3s 仅需要现代内核和 cgroup 挂载。K3s 打包了所需的依赖,包括:
    • containerd
    • Flannel (CNI) 法兰绒 (CNI)
    • CoreDNS
    • Traefik (Ingress) Traefik (入口)
    • Klipper-lb (Service LB) Klipper-lb(服务 LB)
    • 嵌入式网络策略控制器
    • 嵌入式 local-path-provisioner
    • 主机实用程序(iptables、socat 等)

以上详细信息来自于官方文档。

命名规范

v1.28.10+k3s1: V1.28.10为k8s版本,k3s1为补丁版本


架构

  • server节点指的是运行k3s server进程的主机,control plane和数据存储组件由k3s管理
  • agent节点指的是运行k3s agent进程的主机,不具有任何数据存储或control plane组件。
  • server 和 agent 都封装了kublet、container runtime、和CNI.

使用嵌入式数据库的单服务器架构

下图显示了具有嵌入式SQLite数据库的单节点k3s server集群示例。

在此示例中,每个Agent节点都注册到同一个Server节点。K3s用户可以通过调用Server节点上的k3s API操作kubernetes资源。

k3s高可用

嵌入式数据库(etcd)

  • 三个或多个Server节点为kubernetes API提供服务并运行其他control plane服务
  • 在Server节点上启用嵌入式etcd数据存储

依赖外部数据库

  • 两个或多个Server节点为kubernetes API提供服务并运行其他control plane服务
  • 依赖外部数据库(MySQL postgresql、或etcd集群)

Agent节点的固定注册地址

在HA服务配置中,每个节点都需要使用固定的注册地址向kubernetes API注册。

此时的实现方式有很多种,推荐的方式有如下几种

kube-vip

一般情况下我们会通过haproxy来提供apiserver的VIP地址,kube-vip是云原生的候选组件,支持k8s control plane VIP的实现。

Kube-Vip 最初是为 Kubernetes 控制平面提供 HA 解决方案而创建的,随着时间的推移,它已经发展为将相同的功能合并到 Kubernetes 的 LoadBalancer 类型的 Service 中了。
简单来讲,就是实现了两大功能
- Service LB
- k8s control plane VIP

VIP 地址可以是 IPv4 或 IPv6
带有 ARP(第 2 层)或 BGP(第 3 层)的控制平面
使用领导选举或 raft 控制平面
带有 kubeadm(静态 Pod)的控制平面 HA
带有 K3s/和其他(DaemonSets)的控制平面 HA
使用 ARP 领导者选举的 Service LoadBalancer(第 2 层)
通过 BGP 使用多个节点的 Service LoadBalancer
每个命名空间或全局的 Service LoadBalancer 地址池
Service LoadBalancer 地址通过 UPNP 暴露给网关

在k3s集群中,建议使用daemonset的方式部署kube-vip

在k8s集群中,建议使用静态pod的方式部署kube-vip。

haproxy

haproxy还是最早实现高可用的方式,haproxy+keepalived来实现apiserver的高可用,这里就不做过多陈述了。

nginx

这里介绍一种,我之前部署k8s高可用集群的实现方式,通过nginx的stream透明代理功能,在每个agent节点启用一个nginx,监听本机的8443端口,然后反向代理到所有server节点,这种方式适合于公有云环境,且公有云禁止使用VRRP协议,因此无法构建VIP。

基于almalinux 9.5 安装k3s

安装单master+单worker

配置如下:

IP地址

主机名

操作系统

内核版本

k3s版本

192.168.174.61/24

almanode1

AlmaLinux 9.5 (Teal Serval)

Linux 5.14.0-503.14.1.el9_5.x86_64

k3s version v1.28.10+k3s1 (a4c5612e)

192.168.174.62/24

almanode2

AlmaLinux 9.5 (Teal Serval)

Linux 5.14.0-503.14.1.el9_5.x86_64

k3s version v1.28.10+k3s1 (a4c5612e)

这里我们使用的是离线部署的方式,安装版本如上表格所示

离线包的下载地址:
https://github.com/k3s-io/k3s/releases

设你已经将同一版本的 K3s 的安装脚本(k3s-install.sh)、K3s 的二进制文件(k3s)、K3s 依赖的镜像(
k3s-airgap-images-amd64.tar)下载到了/root目录下。

我这里使用的是普通用户,almalinux,所以我存放的位置是/home/almalinux目录下。

  1. 导入镜像到containerd镜像列表
sudo mkdir -p /var/lib/rancher/k3s/agent/images/
sudo cp /home/almalinux/k3s-airgap-images-amd64.tar.gz /var/lib/rancher/k3s/agent/images/
  1. 将k3s安装脚本和二进制文件移动到对应的目录下,并给可执行权限
sudo chmod a+x /home/almalinux/k3s /home/almalinux/k3s-install.sh
sudo cp /home/almalinux/k3s /usr/bin/
  1. 安装k3s
sudo INSTALL_K3S_SKIP_DOWNLOAD=true /home/almalinux/k3s-install.sh
  1. 查看节点状态和pod
  1. 查看镜像


安装worker节点

  1. 将k3s安装脚本和二进制文件移动到对应的目录下,并给可执行权限
sudo chmod a+x /home/almalinux/k3s /home/almalinux/k3s-install.sh
sudo cp /home/almalinux/k3s /usr/local/bin/
  1. 导入镜像到containerd镜像列表
sudo mkdir -p /var/lib/rancher/k3s/agent/images/
sudo cp /home/almalinux/k3s-airgap-images-amd64.tar.gz /var/lib/rancher/k3s/agent/images/
  1. 获取token,安装k3s,加入集群

tocken存放位置:
/var/lib/rancher/k3s/server/token

sudo INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://192.168.174.61:6443 K3S_TOKEN=K10396334fa9a439e12303dc47920983890a4cbadd18cb5df2993e43e4513bd9abf::server:1357626bfdcb4891ba99a0cfd86619d1 /home/almalinux/k3s-install.sh 
  1. 查看agent状态

相关推荐

微信记录恢复助手(微信记录恢复助手安全吗)
  • 微信记录恢复助手(微信记录恢复助手安全吗)
  • 微信记录恢复助手(微信记录恢复助手安全吗)
  • 微信记录恢复助手(微信记录恢复助手安全吗)
  • 微信记录恢复助手(微信记录恢复助手安全吗)
五笔打字怎么打(曹五笔打字怎么打)

操作步骤:1、按住Ctrl+空格键切换到五笔输入法;2、在输入面板上面单击右键选择“软键盘”——特殊符号;3、在打开的软键盘上单击“☆”即可。五笔打字是指采用五笔字型输入法向电脑中输入汉字。这种输入...

内存不能为written修复工具(一直出现内存不能为written)
  • 内存不能为written修复工具(一直出现内存不能为written)
  • 内存不能为written修复工具(一直出现内存不能为written)
  • 内存不能为written修复工具(一直出现内存不能为written)
  • 内存不能为written修复工具(一直出现内存不能为written)
电脑高手24在线咨询(电脑高手联系方式)

现在的电脑一般都不要重启键了。如果死机的话,按住开关键五秒,自动关机。再开机就行。至于他们说的快速关机CTRL+ALT+ENT快速重启CTRL+ALT+HOME是GOHST版安装后自带的快捷键,你的系...

你的电脑未正确启动自动修复

1、试试“禁止驱动强制签名”能不能进入桌面在“疑难解答”->“高级选项”->“启动模式”中选择“禁止驱动强制签名”,如果这样能正常开启,那么就说明是某个驱动的问题2、把错误驱动删掉如果你安...

电脑开机弹出系统恢复选项(电脑开机经常出现系统恢复界面)

  这种情况一般都是系统引导出现问题,可以【F8】选择【最后一次正确配置】,重启后一般都能恢复;如果不行可以选择进入【安全模式】【恢复我的计算机到一个较早的时间】。以下是详细介绍:  1、开机时多次点...

手机版电脑模拟器下载(手机电脑模拟器下载的文件在哪)
手机版电脑模拟器下载(手机电脑模拟器下载的文件在哪)

  玩家们想要在电脑上畅快地玩真实手机,首先就需要先下载它的电脑版模拟器啦。在这里推荐大家使用的是电脑安卓模拟器,这是一款十分流畅好用的真实手机安卓模拟器,性能强悍,功能完备。  1、下载完真实手机安卓模拟器。  2、在电脑上进行安装,双击...

2026-01-01 16:03 off999

下载计算机到手机(手机下载计算机怎么下载)
  • 下载计算机到手机(手机下载计算机怎么下载)
  • 下载计算机到手机(手机下载计算机怎么下载)
  • 下载计算机到手机(手机下载计算机怎么下载)
  • 下载计算机到手机(手机下载计算机怎么下载)
u盘启动不了怎么回事(u盘启动也启动不了)

原因三:USB传输性能不佳导致;解决三:换个USB插口试试,建议将u盘插入到电脑机箱后置的USB插口处。原因四:u盘自身的质量问题导致;解决四:换一个u盘制作试一试。原因五:电脑系统问题导致;解决五:...

联想笔记本电脑键盘输入没反应

1.首先在可以进行输入的位置,长按下某个按键1秒以上,看看有没有反应。有反应看第2,没反应看第3。2.控制面板~轻松使用~轻松使用设置中心~更改键盘的工作方式~取消筛选键并应用即可。3.打开设备管理器...

软件管家电脑版下载官网(软件管家电脑版下载官网安装)

要下载和安装应用程序,您可以按照以下步骤使用电脑管家:1.打开电脑管家应用程序。2.在主界面上,您可以找到一个名为“应用中心”的选项,点击它。3.在应用中心中,您可以浏览各种应用程序的列表。您可...

台式电脑怎么取消定时关机(台式电脑设置自动关机怎么取消)

电脑设置了每天定时关机,取消的方法有多种,以下提供三种方式:方法一:打开任务计划程序(TaskScheduler)。找到“任务计划程序库”(TaskSchedulerLibrary),找到设置的...

win7怎么截屏快捷键(win7怎样截屏快捷键)

在Win7系统中,自带的截图快捷键是“PrtScn”键,即PrintScreen键。按下这个键后,系统会将当前屏幕的内容复制到剪贴板中,然后用户可以将其粘贴到其他应用程序中进行编辑或保存。此外,Wi...

如何查看笔记本配置(如何查看笔记本配置高低)

两种方法一种你在笔记本背面有个ID号,也就是序列号,你把它抄下来,输到笔记本品牌的官网上,查看他的配置就可以,这是第1种方法,第2种方法,你开机后,我的电脑上单击右键,点属性,就会在出来你的CPU内存...

linux软件(linux软件图标)

Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放...

取消回复欢迎 发表评论: