k3s初识及安装

介绍

k3s 是轻量级 Kubernetes,专为物联网和边缘计算构建的经过认证的 Kubernetes 发行版。

架构图:

优点

  • 适合边缘计算
    K3s 是一种高度可用、经过认证的 Kubernetes 发行版,专为无人值守、资源受限、远程位置或物联网设备内部的生产工作负载而设计。
  • 简化和安全
    K3s 打包为一个 <50MB 的二进制文件,可减少安装、运行和自动更新生产 Kubernetes 集群所需的依赖项和步骤。
  • 针对 ARM 进行了优化
    ARM64 和 ARMv7 都支持二进制文件和多架构映像。从 Raspberry Pi 到 AWS a1.4xlarge 32GiB 服务器,K3s 都能很好地工作。

快速开始

  1. 一条命令安装server
curl -sfL https://get.k3s.io | sh -
  1. 下载 K3s -最新版本,支持 x86_64、ARMv7 和 ARM64
  2. 运行服务器
# 在master节点运行k3s服务器
sudo k3s server &
# k3s的Kubeconfig配置文件保存到/etc/rancher/k3s/k3s.yaml
sudo k3s kubectl get node

# 在不同的工作节点上运行agent服务 
# cat /var/lib/rancher/k3s/server/node-token 来查看token
sudo k3s agent --server https://myserver:6443 --token ${NODE_TOKEN}

利用multipass模拟安装

mac上通过multipass来安装,multipass能快速得到Ubuntu VM

  • 思路步骤
  1. 先创建2个VM,一个master,一个node1。
  2. 在master里安装k3s server。
  3. 在node1里安装k3s agent。

实践

  1. 创建k3s的VM
mango@mangodeMacBook-Pro ~ % multipass launch --name k3s --mem 2G --disk 5G
Launched: k3s
  1. 创建node1的VM
mango@mangodeMacBook-Pro ~ % multipass launch --name node1 --mem 1G --disk 5G
Launched: node1
  1. 进入k3s节点,安装k3s server
# 进入k3s节点
multipass shell k3s
# 设置代理,如果没设置,下载k3s的文件会很慢,或者使用其他方式下载
ubuntu@k3s:~$ export https\_proxy=http://192.168.3.22:9999
# 一条命令安装k3s server
ubuntu@k3s:~$ curl -sfL https://get.k3s.io | sh -
[INFO] Finding release for channel stable
[INFO] Using v1.21.5+k3s2 as release
[INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.21.5+k3s2/sha256sum-amd64.txt
[INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.21.5+k3s2/k3s
[INFO] Verifying binary download
[INFO] Installing k3s to /usr/local/bin/k3s
[INFO] Skipping installation of SELinux RPM
[INFO] Creating /usr/local/bin/kubectl symlink to k3s
[INFO] Creating /usr/local/bin/crictl symlink to k3s
[INFO] Creating /usr/local/bin/ctr symlink to k3s
[INFO] Creating killall script /usr/local/bin/k3s-killall.sh
[INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO] env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO]  systemd: Creating service file /etc/systemd/system/k3s.service
[INFO] systemd: Enabling k3s unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
[INFO] systemd: Starting k3s
  1. 查看k3s集群节点和token
ubuntu@k3s:$ sudo kubectl get nodes
NAME  STATUS  ROLES AGE VERSION
k3s Ready control-plane,master  6m9s  v1.21.5+k3s2
# 查看token,工作节点加入时需要使用
ubuntu@k3s:$ sudo cat /var/lib/rancher/k3s/server/node-token
K103588fd616ce143858b27ba24f10d0495d1f65d5427bda0f0083cb457dc191936::server:13e222641179e204ce76e2a57ca6af04
  1. 进入node1节点,安装k3s agent工作节点
# 进入node1节点
multipass shell node1
# 设置代理
export https_proxy=http://192.168.3.22:9999
# 并下载k3s命令
wget https://github.com/k3s-io/k3s/releases/download/v1.22.3%2Bk3s1/k3s
# 赋权
sudo chmod 777 k3s
# 将命令移动到 /usr/bin/ 下
sudo mv k3s /usr/bin/
# node1节点上启动k3s agent,利用nohup & 后端运行
sudo nohup k3s agent --server https://192.168.64.2:6443 --token K103588fd616ce143858b27ba24f10d0495d1f65d5427bda0f0083cb457dc191936::server:13e222641179e204ce76e2a57ca6af04 &
  1. 验证集群
# k3s(master)节点上查看集群节点,能看到node1成功ready
ubuntu@k3s:$ sudo kubectl get nodes
NAME STATUS  ROLES AGE  VERSION
k3s  Ready control-plane,master  23m  v1.21.5+k3s2
node1  Ready   35s  v1.22.3+k3s1

至此,恭喜你已经通过multipass模拟安装k3s cluster成功。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值