K3S环境安装

1.更新系统源

apt update

2.更新系统版本

apt upgrade

3.设置主机名

hostnamectl set-hostname master.k3s.lab
hostnamectl set-hostname node01.k3s.lab
hostnamectl set-hostname node02.k3s.lab

4.关闭swap

swapoff -a
sed -i 's/.*swap.*/#&/g' /etc/fstab
// 解决执行上述命令后依旧挂载swap的情况
systemctl list-unit-files | grep swap
systemctl mask dev-sda2.swap

5.设置hosts

cat <<EOF >> /etc/hosts
10.22.4.21 master master.k3s.lab
10.22.4.22 worker01 worker01.k3s.lab
10.22.4.23 worker02 worker02.k3s.lab
10.22.4.24 worker02 worker02.k3s.lab
EOF

6.关闭防火墙

ufw disable

7.k3s server配置docker hub加速源

  • 配置容器加速源
mkdir -p /etc/rancher/k3s/

cat > /etc/rancher/k3s/registries.yaml << EOF
mirrors:
  docker.io:
    endpoint:
      - "https://docker.m.daocloud.io"
      - "https://dh-mirror.gitverse.ru"
      - "https://dockerhub1.beget.com"
      - "https://noohub.ru"

  gcr.io:
    endpoint:
      - "https://gcr.m.daocloud.io"

  quay.io:
    endpoint:
      - "https://quay.m.daocloud.io"

  registry.k8s.io:
    endpoint:
      - "https://k8s.m.daocloud.io"
EOF

8.开始安装k3s server

  • k3s server安装
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_KUBECONFIG_MODE="644" INSTALL_K3S_VERSION=v1.29.13+k3s1 INSTALL_K3S_EXEC="server --flannel-backend=none --cluster-cidr=10.41.0.0/16 --service-cidr=10.42.0.0/16 --disable-network-policy --disable=traefik" sh -
  • 安装参数解释
# 将kubeconfig的配置文件权限配置为644
K3S_KUBECONFIG_MODE="644"

# 指定安装版本
INSTALL_K3S_VERSION=v1.29.13+k3s1

# 禁用默认的flannel插件,设置pod地址池为10.41.0.0/16,设置serverice地址池为10.42.0.0/16,并关闭自带的默认网络策略
NSTALL_K3S_EXEC="server --flannel-backend=none --cluster-cidr=10.41.0.0/16 --service-cidr=10.42.0.0/16 --disable-network-policy --disable=traefik"

9.k3s server部署calico插件

  • 下载calico网络插件yaml文件
$ mkdir -p ~/calico/v3.26.4
$ wget https://raw.githubusercontent.com/projectcalico/calico/v3.26.4/manifests/tigera-operator.yaml -O ~/calico/v3.26.4/tigera-operator.yaml
$ wget https://raw.githubusercontent.com/projectcalico/calico/v3.26.4/manifests/custom-resources.yaml -O ~/calico/v3.26.4/custom-resources.yaml
  • 配置calico pods地址池
$ sed -i -e 's#blockSize: 26#blockSize: 24#g' ~/calico/v3.26.4/custom-resources.yaml -e 's#cidr: 10.41.0.0/16#cidr: 192.168.0.0/16#g' ~/calico/v3.26.4/custom-resources.yaml
  • 应用calico配置
$ kubectl create -f tigera-operator.yaml
$ kubectl create -f custom-resources.yaml

10.在master server获取node token

  • 获取token
$ cat /var/lib/rancher/k3s/server/node-token

11.在agent节点上配置docker hub 加速源

  • 配置容器加速
mkdir -p /etc/rancher/k3s/

cat > /etc/rancher/k3s/registries.yaml << EOF
mirrors:
  docker.io:
    endpoint:
      - "https://docker.m.daocloud.io"
      - "https://dh-mirror.gitverse.ru"
      - "https://dockerhub1.beget.com"
      - "https://noohub.ru"

  gcr.io:
    endpoint:
      - "https://gcr.m.daocloud.io"

  quay.io:
    endpoint:
      - "https://quay.m.daocloud.io"

  registry.k8s.io:
    endpoint:
      - "https://k8s.m.daocloud.io"
EOF

12.agent节点加入server节点

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_VERSION=v1.29.13+k3s1 K3S_TOKEN=K10230b4a9e87311ae7873e041da6592ab62b38644a77c4fe35ada5b43c0e680bbf::server:c3c27915bda49781e2839444c3b396da K3S_URL=https://10.22.4.21:6443 sh - 

13.在server节点查看集群状态

$ kubectl get nodes

14.给agent节点打标签

$ kubectl label node node01.k3s.lab kubernetes.io/role=agent
$ kubectl label node node02.k3s.lab kubernetes.io/role=agent
$ kubectl label node node03.k3s.lab kubernetes.io/role=agent

15.server节点和agent节点安装calicoctl插件

curl -L https://github.com/projectcalico/calico/releases/download/v3.26.4/calicoctl-linux-amd64 -o /usr/local/bin/calicoctl && chmod +x /usr/local/bin/calicoctl

curl -L https://download.fgit.cf/projectcalico/calico/releases/download/v3.26.4/calicoctl-linux-amd64 -o /usr/local/bin/calicoctl && chmod +x /usr/local/bin/calicoctl
posted @   二乘八是十六  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
点击右上角即可分享
微信分享提示