在 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_`

 

posted @ 2021-11-24 19:01  味清欢  阅读(650)  评论(0)    收藏  举报