环境信息
安装k3s
在线安装
执行在线安装脚本,会自动识别环境,拉取镜像,安装k3s
安装server端:
1
| curl -sfL https://get.k3s.io | sh -
|
安装agent端:
获取连接server端的token
1 2
| /var/lib/rancher/k3s/server/node-token k3s agent -s https://master_ip:6443 -t token
|
agent连接server端
1
| curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=XXX sh -
|
验证
1 2 3 4 5
| k3s kubectl get node NAME STATUS ROLES AGE VERSION ubuntu-server Ready master 86m v1.15.4-k3s.1 ubuntu-agent Ready worker 86m v1.15.4-k3s.1
|
卸载
执行
1
| /usr/local/bin/k3s-uninstall.sh 或k3s-agent-uninstall.sh
|
注意:
在线安装有pause镜像会去k8s.gcr.io仓库拉取,在国内网络环境连接会受阻。
离线安装
准备下载离线包
在github,k3s release页下载对应的离线镜像
1
| https://github.com/rancher/k3s/releases/
|
根据机器类型,下载对应的文件
文件 |
作用 |
机器类型 |
k3s |
k3s 可执行文件 |
x86 CPU架构64位系统 |
k3s-arm64 |
k3s可执行文件 |
ARM CPU架构 64位系统 |
k3s-armhf |
k3s可执行文件 |
ARM CPU架构 32位系统 |
k3s-airgap-images-amd64.tar |
离线镜像包 |
x86 CPU架构64位系统 |
k3s-airgap-images-arm64.tar |
离线镜像包 |
ARM CPU架构 64位系统 |
k3s-airgap-images-arm.tar |
离线镜像包 |
ARM CPU架构 32位系统 |
选择对应的操作系统版本,下载对应的k3s可执行文件和离线镜像包。
注:
官方的Raspbian Buster Lite系统仍然是32位。
需要提前在打开操作系统cgroup
ubuntu18.04方法:
1 2 3
| sudo vi /boot/firmware/cmdline.txt cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory
|
Raspbian Buster Lite系统方法:
1 2
| vi /boot/cmdline.txt cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory
|
重启生效。
创建镜像存储目录
1
| mkdir -p /var/lib/rancher/k3s/agent/images/
|
拷贝离线镜像件
1
| sudo cp ./k3s-airgap-images-$ARCH.tar /var/lib/rancher/k3s/agent/images/
|
拷贝可执行文到/usr/bin目录,并配置可执行权限
1 2
| cp k3sxxx /usr/bin/k3s chmoad a+x /usr/bin/k3s
|
启动 k3s会自动解压并导入镜像文件
1 2
| rm /etc/rancher/k3s/k3s.yaml rm /var/lib/rancher/ -rf
|
查看集群
1 2 3
| k3s kubectl get node NAME STATUS ROLES AGE VERSION ubuntu Ready master 14s v1.15.4-k3s.1
|
agent连接
在server端获取agent连接server的token
1
| cat /var/lib/rancher/k3s/server/node-token
|
常见命令
列出当前集群镜像
列出当前集群容器
查看pod占用cpu 内存资源
FAQ
不使用containerd直接docker
安装docker后
将离线镜像导入
1
| docker load < k3s-airgap-images-arm64.tar
|
执行k3s server
使用systemd启动k3s server
创建systemd文件
1
| vim /etc/systemd/system/k3s.service
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| [Unit] Description=Lightweight Kubernetes Documentation=https://k3s.io After=network-online.target [Service] Type=${SYSTEMD_TYPE} EnvironmentFile=${FILE_K3S_ENV} ExecStartPre=-/sbin/modprobe br_netfilter ExecStartPre=-/sbin/modprobe overlay ExecStart=${BIN_DIR}/k3s \\ ${CMD_K3S_EXEC} KillMode=process Delegate=yes LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity TasksMax=infinity TimeoutStartSec=0 Restart=always RestartSec=5s [Install] WantedBy=multi-user.target
|
根据实际情况修改ExecStar,server用server对应的命令,agent用agent对应指令。