在 centos 上搭建 k3s 集群
1、下载所需资源
curl -o k3s-airgap-images-amd64.tar https://github.com/k3s-io/k3s/releases/download/v1.22.4-rc2+k3s1/k3s-airgap-images-amd64.tar
curl -o k3s https://github.com/k3s-io/k3s/releases/download/v1.22.4-rc2+k3s1/k3s
curl -o k3s-install.sh https://get.k3s.io
2、修改权限放到对应位置
chmod a+x k3s k3s-install.sh cp k3s /usr/local/bin/ mkdir -p /var/lib/rancher/k3s/agent/images/ cp k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/
3、集群安装
1)、安装 k3s server: master-1
INSTALL_K3S_EXEC="server --cluster-init --no-deploy traefik " INSTALL_K3S_SKIP_DOWNLOAD=true K3S_TOKEN=${K3S_TOKEN} ./k3s-install.sh # K3S_TOKEN为任意字符串
2)、第二台: master-2
INSTALL_K3S_EXEC="server --cluster-init --no-deploy traefik --server https://{master-1}:6443 " INSTALL_K3S_SKIP_DOWNLOAD=true K3S_TOKEN=${K3S_TOKEN} ./k3s-install.sh # 其中master-1 是master-1的ip
3)、第一台agent
首先在 k3s 的 server 服务器上查看节点的 token
cat /var/lib/rancher/k3s/server/node-token;
NSTALL_K3S_EXEC="agent " INSTALL_K3S_BIN_DIR="/usr/local/bin" K3S_URL=https://{master-1}:6443 K3S_TOKEN=xxxxxxx::node:xxxxxx INSTALL_K3S_SKIP_DOWNLOAD=true ./k3s-install.sh
4)、配置k3s镜像仓库
cat >> /etc/docker/daemon.json <<EOF { "registry-mirrors": ["http://192.168.64.44:5000"] } EOF systemctl daemon-reload systemctl restart docker
5)、配置 /etc/rancher/k3s/registries.yaml
cat >> /etc/rancher/k3s/registries.yaml <<EOF mirrors: "*": endpoint: - "http://192.168.64.44:5000" configs: "192.168.64.44:5000": auth: username: admin password: admin123 EOF systemctl restart k3s
6)、上一步不生效,则查看 /var/lib/rancher/k3s/agent/etc/containerd/config.toml 配置文件
cat >> /var/lib/rancher/k3s/agent/etc/containerd/config.toml <<EOF [plugins.opt] path = "/var/lib/rancher/k3s/agent/containerd" [plugins.cri] stream_server_address = "127.0.0.1" stream_server_port = "10010" enable_selinux = false sandbox_image = "rancher/pause:3.1" [plugins.cri.containerd] disable_snapshot_annotations = true snapshotter = "overlayfs" [plugins.cri.cni] bin_dir = "/var/lib/rancher/k3s/data/9471dc1586163bced36290eccea478d2e060c5bcc3500258b4e9e46f15c816b0/bin" conf_dir = "/var/lib/rancher/k3s/agent/etc/cni/net.d" [plugins.cri.containerd.runtimes.runc] runtime_type = "io.containerd.runc.v2" [plugins.cri.registry.mirrors] [plugins.cri.registry.mirrors."*"] endpoint = ["http://192.168.64.44:5000"] [plugins.cri.registry.configs."192.168.64.44:5000".auth] username = "admin" password = "admin123" EOF systemctl restart k3s
7、测试镜像配置是否可用, 该镜像仓库需要存在
crictl pull 192.168.64.44:5000/mongo:4.4.8
5)、卸载
/usr/local/bin/k3s-uninstall.sh(或 /usr/local/bin/k3s-agent-uninstall.sh )
强制删除和 k3s 相关的容器服务:docker rm -f `docker ps -aq --filter name=k8s_`

浙公网安备 33010602011771号