1、安装前准备
github地址:https://github.com/k3s-io/k3s/releasesk3s二进制文件:k3s
下载地址:github地址 / 百度网盘地址
镜像包:k3s-airgap-images-amd64.tar.gz
下载地址:github地址 / 百度网盘地址
安装脚本:install.sh
下载地址:k3s官网地址(点击访问后,将页面内容复制到本地文本,改名install.sh即可) / 百度网盘地址
或
curl https:
//get.k3s.io/ -o install.sh
系统:centos7
2、安装步骤
1)将镜像包放到指定目录
cp k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/
2)将K3S二进制文件放指定目录
cp k3s /usr/local/bin/
3)给二进制文件执行权限
chmod a+x /usr/local/bin/k3s
4)将安装脚本放到指定目录
cp install.sh /usr/local/bin
5)给安装脚本执行权限
chmod 755 install.sh
6)执行安装脚本(两种安装模式,k3s+docker或k3s+containerd,可自行选择,k3s默认容器引擎为containerd)
6.1. k3s+docker:
Server安装: INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_EXEC="server --docker" ./install.sh
agent安装(master无需安装): INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_EXEC="--docker" K3S_URL=https://10.68.7.73:6443 K3S_TOKEN=node-token ./install.sh
6.2. k3s+containerd:
Server安装: INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh --data-dir /opt/k3s
--data-dir /opt/k3s:指定安装路径,防止默认路径所在磁盘空间过小
6.3. 获取token(安装61或6.2中的server之后需要执行下面的命令获取token)
cat /var/lib/rancher/k3s/server/node-token
agent安装: INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://10.68.7.73:6443 K3S_TOKEN=node-token ./install.sh --data-dir /opt/k3s
说明:
node-token是6.3获取的token
--data-dir /opt/k3s:指定安装路径,防止默认路径所在磁盘空间过小
token路径:/var/lib/rancher/k3s/server/node-token是默认安装路径,如果--data-dir指定了路径就是用新的路径
7)ETCD高可用集群安装(两主三从)
# 配置/etc/hosts
10.97.51.165 blpbuqxzfqq 10.97.51.180 blpaqweetdz 10.97.51.184 blpoyprglfc 10.97.51.187 blpafhs4aix 10.97.51.190 blpngwnatak 10.97.51.192 blpw7vtjfhv 10.97.51.193 blpxej1zzwm 10.97.51.194 blps0f7lpko 10.97.51.196 blptxmvshkd 10.97.51.199 blpnzupgiea
主1(172.19.23.62) 执行:INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_EXEC='server' K3S_DATASTORE_ENDPOINT='mysql://k3s:%)qc7rBb@tcp(172.19.23.67:4307)/k3s' ./install.sh 说明: 1. mysql://用户名:密码@tcp(IP:端口)/数据库名 2. 需要安装service,不需要安装agent
postgresql:INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_EXEC='server' k3s_datastore_endpoint='postgres://postgres:123456@10.97.51.174:5432/future_center_nacos' sslmode=disable ./install.sh --data-dir /data/install/k3s/data
说明:
参考以下:(129条消息) 一文读懂如何部署具有外部数据库的高可用 K3s_Rancher by SUSE的博客-CSDN博客_k3s高可用部署
k3s_datastore_endpoint:Postgres 的格式是 postgres://username:password@hostname:port/database-name。
在这个示例中,我创建了一个 postgres 角色,密码是 123456,数据库名称也是 K3s。
hostname:使用数据库ip
如果报错:SSL is not enabled on the server,需要添加 sslmode=disable,参考以下
(129条消息) pq: SSL is not enabled on the server_gerrylon007的博客-CSDN博客_pgsql ssl is not
获取token:方式同上6.3,供其他主或从使用 主2(171.19.23.63) 执行:K3S_TOKEN=主1中的token INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_EXEC='server' K3S_DATASTORE_ENDPOINT='mysql://k3s:%)qc7rBb@tcp(172.19.23.67:4307)/k3s' ./install.sh 说明: 1. mysql://用户名:密码@tcp(IP:端口)/数据库名 2. 需要安装service,不需要安装agent 从1(171.19.23.64): 执行:INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://172.19.23.62:6443 K3S_TOKEN=主1中的token ./install.sh 说明: 1. 只需要安装agent 从2/3同从1
8)配置docker登陆用户和密码
# 两个台主机器上执行 kubectl create secret docker-registry regcred \ --docker-server=172.19.23.62:8092 \ --docker-username=zxsrepo \ --docker-password="Zxsrepo@&&11" \ --docker-email=
9)配置registries.yaml文件
#server 和 agent 都要安装 #vi /etc/rancher/k3s/registries.yaml mirrors: 172.19.23.62:8092: endpoint: - "http://172.19.23.62:8092"
10)重k3s
systemctl start k3s-server systemctl status k3s-server systemctl stop k3s-server systemctl restart k3s-server systemctl start k3s-agent systemctl status k3s-agent systemctl restart k3s-agent systemctl stop k3s-agent
3、卸载
Server /usr/local/bin/k3s-uninstall.sh
注意:卸载后需要重新创建/var/lib/rancher/k3s/agent/images/目录,并将k3s-airgap-images-amd64.tar.gz和K3S重新copy到对应的目录下
agent /usr/local/bin/k3s-agent-uninstall.sh
4、更换k3s运行时存储路径
前提:停掉所有k3s服务/停掉k3s服务
创建要更换从存储路径:mkdir /app/k3s_data
copy默认路径下的数据到新路径:cp -r /run/k3s /app/k3s_data
删除默认路径:rm -rf /run/k3s
如果删不掉:
使用这个删除:/usr/local/bin/k3s-killall.sh
或者
查看是否有默认k3s挂载的目录:df -h | grep k3s | awk '{print $6}'
删除k3s默认生成的挂载目录:df -h | grep k3s | awk '{print $6}' | xargs umount
再次执行删除:rm -rf /run/k3s
创建软连接:ln -s 源(/app/k3s_data/k3s) 目标(/run/k3s)
############################
# unlink 链接源 原文件或目录
删除软链接:unlink zcw
5、更换k3s安装路径
前提:停掉所有k3s服务/停掉k3s服务
停掉K3S服务:/usr/local/bin/k3s-killall.sh
创建k3s目录:mkdir -p /app/rancher
copy默认目录下的数据到新的目录:cp -r /var/lib/rancher/k3s /app/rancher
编辑配置文件:vi /etc/systemd/system/k3s.service
指定路径:
重新加载:systemctl daemon-reload
重启服务:systemctl start k3s
出现以下问题的解决方案
问题:
解决方案:
root 用户
echo $PATH
缺少:/user/local/bin配置
添加
在 ~ 目录下执行 ls -a
图形化界面启动,编辑.bash_profile文件:vim .bash_profile,命令行启动,编辑.bashrc
在PATH=$PATH:$HOME/bin后面添加 :/usr/local/bin
保存且退出
再次查看:echo $PATH