一、方法1:利用官方源(国外源)直接一键安装
因 K3s 的核心组件镜像需从 gcr.io 拉取(国内网络不通),所以需具备外网访问的环境,适用于服务器均在国外的环境选用,简单粗暴一键安装。
# 一键默认安装
curl -sfL https://get.k3s.io | sh -
缺点:由于网络的问题,下载安装速度很慢,甚至可能没有办法一次性成功
方法2:一键安装(国内源)推荐
国内用户,可以使用以下方法加速安装,内置阿里云镜像源:
官方安装教程 https://docs.rancher.cn/docs/k3s/installation/install-options/_index/
# 指定 K3s 版本(根据个人习惯决定)
export INSTALL_K3S_VERSION=v1.23.13+k3s1
# 自定义启动执行命令
export INSTALL_K3S_EXEC="--docker"
# 只安装不启动
export INSTALL_K3S_SKIP_START=true
# https://docs.rancher.cn/docs/k3s/installation/installation-requirements/_index#先决条件
# 为您添加到集群的每个节点设计一个独特的名称
export K3S_NODE_NAME=k3s-node-01
###
# agent 需加上,其他保持一致
###
# 设置了 K3S_URL,它将默认为“agent”。如果未设置K3S_URL,它将默认为“server”
export K3S_URL=
# 用于将 server 或 agent 加入集群的共享 secret
export K3S_TOKEN=
# 使用阿里云镜像源安装
curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
# 启动 K3s 服务
systemctl enable --now k3s
# 查看 K3s 服务状态
systemctl status k3s
安装命令以及安装成功之后的状态查看如下图
二、查看K3S的集群
# 查看集群的运行情况
kubectl get nodes -o wide
kubectl get all -A -o wide
kubectl describe nodes k3s-node-01
kubectl -n kube-system describe deploy coredns
# 使用 Docker 作为运行时,会使用 docker 拉取镜像与运行容器
docker images
docker ps
部分指令的效果截图如下
三、K3S node 节点部署,加入K3S集群
在node节点执行
1、使用国外的源
root@sutpc:/usr/local/bin# curl -sfL https://get.k3s.io | K3S_URL=https://10.10.46.250:6443 K3S_TOKEN=K100bdf2558019e82aaf8adda1c30efc341049702d2f5dbc9144f8f49c088120039::server:1855d8a39ab04c368ec9a324fa1a82c1 sh -
2、 这条指令用的是国内的源,下载速度会快一点,有时候下载不了是因为服务器断了,等服务器恢复好继续下载即可。
root@li-virtual-machine:/usr/local/bin# curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_NODE_NAME=li-virtual-machine K3S_URL=https://10.10.70.250:6443 K3S_TOKEN=K100bdf2558019e82aaf8adda1c30efc341049702d2f5dbc9144f8f49c088120039::server:1855d8a39ab04c368ec9a324fa1a82c1 sh -
3、加入之后,可以在master、agent 节点都可以查看在集群内的所有节点
备注:
A、获取 Master 节点 Token:K3S_TOKEN 是 Server 端的,位于 /var/lib/rancher/k3s/server/node-token
获取 Master 节点 Token:K3S_TOKEN 是 Server 端的,位于 /var/lib/rancher/k3s/server/node-token
B、K3S_URL是服务器master 节点的地址和端口号
C、K3S_NODE_NAME 是节点的名字(名字不能重名)