部署安装K3S

1. 脚本安装(一键安装)

1.执行如下命令

curl -sfL https://get.k3s.io | sh -
image.png
**问题:**由于未指定版本,命令将从稳定频道下载,再加上连接的外网,会出现下载不成功或连接失败等许多问题。
**解决:**指定版本下载。
使用如下命令
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION="v1.23.6+k3s1" sh -s - server

curl -sfL https://get.k3s.io | INSTALL_K3S_CHANNEL=cn INSTALL_K3S_VERSION="v1.23.6+k3s1" sh -s server

INSTALL_K3S_VERSION:指定下载版本


image.png
可以看到k3s已经启动。

安装后检查:
查看版本信息及节点列表

image.png

2.node节点加入

curl -sfL https://get.k3s.io | INSTALL_K3S_CHANNEL=cn INSTALL_K3S_VERSION="v1.23.6+k3s1" K3S_URL=https://192.168.152.134:6443 K3S_TOKEN=K108fbda3b56e57c97a40204dd87d8a2088f8103fff6399ff5c738b009b3e7716cb::server:2e4f381cbcfa2f62f7086b9dfb07ab17 sh -
由于是外网,很多时候下载不下来,无法正常加入节点。

2. 离线安装(二进制安装)

方法1:Docker + 手动部署镜像方式

确保机器先安装了docker

1.首先,准备好k3s的安装组件

  • K3s 的安装脚本(k3s-install.sh)
  • K3s 的二进制文件 (k3s)
  • K3s 依赖的镜像 (k3s-airgap-images-amd64.tar)

由于国外官网的下载太慢或根本下不下来,找了好久才找到了一个朋友分享的百度云资源,有需要的可以到这里下载。没有网的机器可以先到有网的环境下载好后在传到需要安装的机器上。
本例以安装v1.21.5-k3s2版本
百度网盘离线包:https://pan.baidu.com/s/1V7CvTRuaxuchI3zIEeX2Bw
提取码:zp9r

将 k3s-airgap-images-amd64.tar 移动到 /usr/local/bin 的文件下
mv k3s-airgap-images-amd64.tar /usr/local/bin

2.导入镜像到docker镜像列表
sudo docker load -i /usr/local/bin/k3s-airgap-images-amd64.tar

docker load:导入镜像的命令
-i(--input) : 指定导入的文件

image.png

3.将 K3s 安装脚本和 K3s 二进制文件移动到/usr/local/bin目录下并授予可执行权限
mv install.sh k3s /usr/local/bin
chmod +x install.sh k3s

授权 install.sh 执行权限

4.安装k3s
INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_EXEC='--docker' /usr/local/bin/install.sh

INSTALL_K3S_SKIP_DOWNLOAD:用于离线安装;设置之后不会下载远程工具
INSTALL_K3S_EXEC:用于在服务中启动K3s的后续子命令

image.png
可以看到k3s服务已经启动起来了,如此便已经安装成功!

5.node节点加入
准备好k3s二进制文件和安装脚本,并移动到 /usr/local/bin/ 的目录下。

赋予权限:
chmod 755 k3s
chmod 755 insatll.sh
修改install.sh文件:
export INSTALL_K3S_SKIP_DOWNLOAD=true// 设置跳过下载k3s二进制文件
K3S_TOKEN是server端的, //token是动态的。
cat /var/lib/rancher/k3s/server/node-token 获取token

设置token:
export INSTALL_K3S_SKIP_DOWNLOAD=trueexport
K3S_TOKEN=K104cf6ea3d543f7d06585137cec3aa4ba49a2a17789d9d191747537bc621078110::server:1bedae728df3ffdd71112b960ea68613
设置server:
export K3S_URL=https://192.168.152.134:6443
添加工作节点:
./install.sh
在master节点查看:
kubectl get nodes
image.png

方法2:Containerd + 手动部署镜像方式

  1. 首先,将下载好的同一版本的 K3s 的安装脚本(k3s-install.sh)、K3s 的二进制文件(k3s)、K3s 依赖的镜像(k3s-airgap-images-amd64.tar)放到/root目录下。

如果你使用的容器运行时为 containerd,在启动 K3s 时,它会检查 /var/lib/rancher/k3s/agent/images/ 是否存在可用的镜像压缩包,如果存在,就将该镜像导入到 containerd 镜像列表中。所以我们只需要下载 K3s 依赖的镜像到 /var/lib/rancher/k3s/agent/images/目录,然后启动 K3s 即可。

需要的文件已经准备好。

  1. 导入镜像到 containerd 镜像列表。
sudo mkdir -p /var/lib/rancher/k3s/agent/images/   #创建images的文件夹
sudo cp /root/k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/   #将镜像包复制到images文件夹中
  1. 将 K3s 安装脚本和 K3s 二进制文件移动到对应目录并授予可执行权限。
sudo chmod a+x  k3s  install.sh   #给k3s、install.sh进行授权
sudo cp /root/k3s /usr/local/bin/   #将k3s复制到 /usr/local/bin/ 目录下
  1. 安装 K3s
INSTALL_K3S_SKIP_DOWNLOAD=true /root/install.sh   #安装k3s

INSTALL_K3S_SKIP_DOWNLOAD:用于离线安装;设置之后不会下载远程工具

1657782846801.jpg
可以看到K3S已经可以成功启动。

3. 卸载K3s

安装 k3s 的时候,如果之前安装过,再次安装需要卸载干净之前安装过的。
执行此命令:
sh /usr/local/bin/k3s-uninstall.sh
rm -rf /root/.kube/*
rm -rf /var/lib/rancher/*

4. FAQ:


安装好后查看pod有时候可能会出现这种情况(centos的系统下)
原因:
由于centos系统在读取时找不到正确的环境变量,查找不到对应的集群,所以会出现这种情况
解决方法:

首先运行起来systemctl start k3s.service 
不然不存在/etc/rancher/k3s/k3s.yaml
运行起来后编辑文件设置 vim /etc/profile
	   在底部增加新的环境变量 export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
	   或者是
	   echo "export KUBECONFIG=/etc/rancher/k3s/k3s.yaml" >> /etc/profile
使生效
	source /etc/profile
	
	如此便可完美解决
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值