跨境电商开发软件,福州短视频seo网站,深圳前十网站建设公司,网络营销型网站k8s从入门到放弃之k3s轻量级
K3s 是一个由 Rancher Labs 开发的轻量级 Kubernetes 发行版#xff0c;专为资源受限环境#xff08;如边缘计算、物联网、嵌入式设备等#xff09;设计。它在保持与标准 Kubernetes 兼容的同时#xff0c;大幅简化了安装和配置流程#xff0…k8s从入门到放弃之k3s轻量级
K3s 是一个由 Rancher Labs 开发的轻量级 Kubernetes 发行版专为资源受限环境如边缘计算、物联网、嵌入式设备等设计。它在保持与标准 Kubernetes 兼容的同时大幅简化了安装和配置流程并减少了资源消耗。
k3s特性
轻量级二进制文件小于 40MB内存占用低适合小型设备或边缘节点。易于安装 单个二进制文件即可运行整个控制平面支持一键安装脚本。兼容 Kubernetes API完全兼容原生 Kubernetes API可以使用 kubectl 和 Helm 等工具。集成组件自带 SQLite 作为默认数据存储也可替换为 etcd、MySQL、PostgreSQL 等适用于集群支持多节点集群部署适合构建边缘计算或多云架构。安全机制提供基于角色的访问控制RBAC、TLS 认证等安全功能。
架构预览
控制平面组件k3s server
包含 kube-apiserver、kube-controller-manager、kube-scheduler、cloud-controller-manager。默认使用 SQLite 存储集群状态可选外部数据库。
工作节点组件k3s agent
运行 kubelet、kube-proxy、flannel网络插件和 containerd。
容器进行时
默认使用 containerd也支持 Docker。
k3s部署
环境规划
集群角色IP地址系统配置server192.168.0.8Rocky2C4G50Gagent192.168.0.9Rocky2C4G50G
关闭swap分区
swapoff -a \
sed -ri s/.*swap.*/#/ /etc/fstab添加阿里云仓库
yum install -y yum-utils \
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装containerd软件包
yum install containerd.io-1.6.20-3.1.el9.x86_64 -y生成containerd配置文件
containerd config default | tee /etc/containerd/config.toml启用Containerd Cgroup用于限制容器资源使用量如CPU、内存资源
sed -i s#SystemdCgroup false#SystemdCgroup true# /etc/containerd/config.toml替换文件中pause镜像的下载地址
sed -i s#sandbox_image registry.k8s.io/pause:3.6#sandbox_image registry.aliyuncs.com/google_containers/pause:3.9# /etc/containerd/config.toml配置镜像加速器 [plugins.io.containerd.grpc.v1.cri.registry]config_path /etc/containerd/certs.d创建目录
mkdir -p /etc/containerd/certs.d/docker.io在目录下创建host.toml在文件中定义加速器
[host.https://docker.1ms.run]capabilities [pull,resolve,push]skip_verify true在k3s环境中kubelet通过 containerd.sock 文件与 containerd 进行通信对容器进行管理指定contaienrd套接字文件地址
cat EOF | tee /etc/crictl.yaml
runtime-endpoint: unix:///var/run/containerd/containerd.sock
image-endpoint: unix:///var/run/containerd/containerd.sock
timeout: 10
debug: false
EOF启动containerd
systemctl enable containerd --now在k3s server上执行
curl -sfL https://get.k3s.io | sh -k3s集群添加work节点
[rootlocalhost ~]# cat /var/lib/rancher/k3s/server/node-token
K109f7c6ba7bb81c93a60a6495f3388f79d79d4ee895da2522e9c6f0536ed9ba303::server:8d07388bf8c7093716978afd01347df2在agent执行
curl -sfL https://get.k3s.io | K3S_URLhttps://192.168.0.8:6443 K3S_TOKENK109f7c6ba7bb81c93a60a6495f3388f79d79d4ee895da2522e9c6f0536ed9ba303::server:8d07388bf8c7093716978afd01347df2 sh -