你还在用K8S?是时候来一套生产级K3S集群了

什么是 K3s?

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

  • 打包为单个二进制文件。

  • 使用基于 sqlite3 作为默认存储机制的轻量级存储后端。同时支持使用 etcd3、MySQL 和 Postgres。

  • 封装在简单的启动程序中,可以处理很多复杂的 TLS 和选项。

  • 默认情况下是安全的,对轻量级环境有合理的默认值。

  • 添加了简单但强大的 batteries-included功能,例如:

    • 本地存储提供程序
    • service load balancer
    • Helm controller
    • Traefik ingress controller
  • 所有 Kubernetes control plane 组件的操作都封装在单个二进制文件和进程中。因此,K3s 支持自动化和管理复杂的集群操作(例如证书分发等)。

  • 最大程度减轻了外部依赖性,K3s 仅需要现代内核和 cgroup 挂载。K3s 打包了所需的依赖,包括:

    • containerd
    • Flannel (CNI)
    • CoreDNS
    • Traefik (Ingress)
    • Klipper-lb (Service LB)
    • 嵌入式网络策略控制器
    • 嵌入式 local-path-provisioner
    • 主机实用程序(iptables、socat 等)

K3S部署组件与架构

  • K3S集群:3 * master + N * worker
  • 集群存储:嵌入式 etcd(部署在3 * master)
  • 高可用master + 负载均衡:kube-vip(部署在3 * master)
  • ingress:Higress
  • 存储卷:local-path-provisioner

生成kube-vip 部署文件清单

# 找一台具有docker的服务器(可以不是k3s的master或node)
# 生成部署kube-vip到K3s需要的用户与权限
curl https://kube-vip.io/manifests/rbac.yaml > kube-vip.yaml
# 定义2个变量
export VIP=10.118.70.94 # 定义一个访问K3S master的虚拟IP
export INTERFACE=enp1s0 #3台master节点的网卡名称(确保一致)
# 查找kube-vip的版本
# https://github.com/kube-vip/kube-vip/releases
# 转成国内镜像
# registry.cn-shenzhen.aliyuncs.com/starsl/kube-vip:v0.8.2
# 配置alias命令,方便生成部署的DaemonSet
alias kube-vip="docker run --network host --rm registry.cn-shenzhen.aliyuncs.com/starsl/kube-vip:v0.8.2"
# 生成部署清单
kube-vip manifest daemonset \
    --interface $INTERFACE \
    --address $VIP \
    --inCluster \
    --taint \
    --controlplane \
    --services \
    --arp \
    --leaderElection
# 生成的yaml文件追加到kube-vip.yaml

kube-vip 部署清单写入master

# 在3个master节点都执行
mkdir -p /var/lib/rancher/k3s/server/manifests/
cp kube-vip.yaml /var/lib/rancher/k3s/server/manifests/
# K3S部署的时候会自动执行该目录下的yaml文件

k3s master 1 安装

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - \
	server --cluster-init \
	--tls-san=10.118.70.94 \
	--kube-controller-manager-arg=node-cidr-mask-size-ipv4=26 \
	--kubelet-arg=max-pods=30 \
	--cluster-cidr 10.118.232.0/21 \
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

StarsL.cn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值