zl程序教程

您现在的位置是:首页 >  后端

当前栏目

K3s之快速搭建精简版本K8S集群环境

k8s集群 环境 快速 版本 搭建 精简 k3s
2023-06-13 09:13:36 时间

[TOC]

Q: 什么是 K3S?

描述: 它是一个轻量级K8S(Lightweight Kubernetes)同时它也是一个云原生计算基金会(CNCF)沙盒项目, 为物联网和边缘计算构建的经过认证的 Kubernetes 发行版, 减少了kubernetes云供应商相关插件所以其更加精简, 部署也更加简单。

Q: 为什么使用 K3S?

1) 简化和安全 : K3s 单个二进制文件小于50MB,可减少安装、运行和自动更新生产 Kubernetes 集群所需的依赖关系和步骤。 2) 边缘的完美选择: 高度可用、经过认证的 Kubernetes 发行版,专为无人值守、资源受限的远程位置或 IoT 设备内部的生产工作负载而设计。 3) 支持ARM优化 : K3S 提供了 ARM64 和 ARMv7 都支持二进制文件和多架构映像, 所以可以运行在嵌入式设备之中。

K3S 体系架构图

描述: K3S 它由 Server 与 Agent 两大节点组成, 从下图中可以看出

WeiyiGeek.K3S-How it Works

官方地址: https://k3s.io/ && https://www.rancher.cn/k3s/ 官方文档: https://rancher.com/docs/k3s/latest/en/ 项目地址: https://github.com/rancher/k3s/releases/latest && https://github.com/k3s-io/k3s/

当前【2022年6月14日 22:04:49】节点最新版本为 v1.24.1+k3s1 (https://github.com/k3s-io/k3s/releases/tag/v1.24.1+k3s1)

安装要求

无论您是将 K3s 集群配置为在 Docker 还是 Kubernetes 设置中运行,运行 K3 的每个节点都应满足以下最低要求。您可能需要更多资源来满足您的需求。

  • 硬件: 内存最少512MB(建议至少1GB), CPU 最少一个, 磁盘最好使用SSD。
  • 软件: 选择常用的操作系统例如Ubuntu、、Debian、CentOS等,
  • 先决条件:
    • 节点不能具有相同的主机名
    • 防火墙需要对k3s Server 的 6443端口 放行,因为 K3s服务器需要端口 6443 才能被所有节点访问。

K3s服务器节点的入站规则(Inbound Rules for K3s Server Nodes)

PROTOCOL

PORT

SOURCE

DESCRIPTION

TCP

6443

K3s agent nodes

Kubernetes API Server

UDP

8472

K3s server and agent nodes

Required only for Flannel VXLAN

UDP

51820

K3s server and agent nodes

Required only for Flannel Wireguard backend

UDP

51821

K3s server and agent nodes

Required only for Flannel Wireguard backend with IPv6

TCP

10250

K3s server and agent nodes

Kubelet metrics

TCP

2379-2380

K3s server nodes

Required only for HA with embedded etcd

对于生产环境中的外部数据库,建议使用以下数据库MySQL (常用)/ PostgreSQL / etcd,并且硬件要求取决于 K3s 集群的大小以下是高可用性K3s服务器中节点的最低CPU和内存要求:

DEPLOYMENT SIZE

NODES

VCPUS

RAM

Small

Up to 10

2

4 GB

Medium

Up to 100

4

8 GB

Large

Up to 250

8

16 GB

X-Large

Up to 500

16

32 GB

XX-Large

500+

32

64 GB

wget -c https://github.com/k3s-io/k3s/releases/download/v1.24.1%2Bk3s1/k3s

cp k3s /usr/local/bin/k3s &&  chmod +x /usr/local/bin/k3s

k3s --version
k3s version v1.24.1+k3s1 (0581808f)
go version go1.18.1