1、安装前准备
github地址:
https://github.com/k3s-io/k3s/releases
k3s二进制文件:
k3s
下载地址:github地址 / 百度网盘地址
镜像包:
k3s-airgap-images-amd64.tar.gz
下载地址:github地址 / 百度网盘地址
安装脚本:install.sh
下载地址:
k3s官网地址
(点击访问后,将页面内容复制到本地文本,改名install.sh即可) /
百度网盘地址
  或
  curl https:
系统: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/hosts10.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
查看启动日志:journalctl -f -u k3s.service
获取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 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
Original: https://www.cnblogs.com/JimmyThomas/p/16577902.html
Author: JimmyThomas
Title: Centos7 离线安装K3s
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611230/
转载文章受原作者版权保护。转载请注明原作者出处!