如何在克隆服务器上搭建K3s集群?

克隆服务器高效搭建k3s集群指南

克隆服务器怎么搭建k3

核心优势:轻量、高效、简单

在资源受限或需要快速部署的场景下,克隆服务器环境并部署轻量级Kubernetes发行版k3s是绝佳选择,k3s由Rancher Labs开发,专为边缘计算、IoT和CI/CD优化,保留了K8s核心功能,内存占用仅为传统K8s的40%,极大降低了运维复杂度。

一、前期准备:环境与资源规划

1、服务器准备

主节点 (Master) 1台(生产环境建议2台+实现高可用)

工作节点 (Worker) ≥1台(按业务需求扩展)

克隆服务器怎么搭建k3

操作系统 推荐Ubuntu 22.04 LTS/CentOS Stream 9(已验证兼容性)

配置要求 主节点建议2核4GB+,工作节点按负载调整(k3s本身最低512MB可运行)

网络

* 所有节点间网络互通(关闭防火墙或放行6443、8472/UDP(VxLAN)、10250等端口)

* 节点主机名唯一且可解析(/etc/hosts或DNS)

克隆服务器怎么搭建k3

* 建议配置静态IP

2、工具安装

curlwget基础下载工具

vim/nano文本编辑

    # Ubuntu/Debian
    sudo apt update && sudo apt install -y curl wget vim
    # CentOS/RHEL
    sudo yum install -y curl wget vim

二、主节点部署:快速启动控制平面

1、一键安装k3s Server

使用官方脚本安装并禁用默认的Traefik Ingress(可按需启用):

    curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--disable traefik" sh -s

脚本自动完成下载、安装、配置systemd服务、启动k3s。

2、获取节点凭证

安装成功后,获取访问集群的凭证(位于/etc/rancher/k3s/k3s.yaml):

    sudo cat /etc/rancher/k3s/k3s.yaml

记录输出的server地址(通常为https://127.0.0.1:6443或主节点IP)和token(长字符串)。

3、验证主节点状态

    sudo k3s kubectl get node

看到主节点状态为Ready 即成功。

三、工作节点接入:扩展计算能力

1、在工作节点执行加入命令

使用主节点提供的tokenserver 地址(替换<master_ip><token>):

    curl -sfL https://get.k3s.io | K3S_URL=https://<master_ip>:6443 K3S_TOKEN=<token> sh

例如K3S_URL=https://192.168.1.100:6443 K3S_TOKEN=K1041c3380a113......

2、在主节点验证节点加入

回到主节点执行:

    sudo k3s kubectl get node -o wide

新加入的工作节点状态应为Ready,并显示其IP。

四、集群配置与管理

1、kubectl 访问配置

将主节点/etc/rancher/k3s/k3s.yaml 复制到本地~/.kube/config,修改其中的server 地址为主节点公网IP或域名(若从外部访问)。

2、部署应用示例 (Nginx)

    sudo k3s kubectl create deployment nginx --image=nginx:latest
    sudo k3s kubectl expose deployment nginx --port 80 --type NodePort
    sudo k3s kubectl get svc nginx # 查看分配的NodePort (如 30080)

通过http://<任一节点IP>:30080 访问Nginx。

3、持久化存储

k3s内置local-path存储类,适合单节点测试:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: local-pvc
    spec:
      storageClassName: local-path
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi

4、网络策略 (选装)

默认使用Flannel (VxLAN),如需Calico、Cilium:

    # 安装Calico (替换Flannel)
    sudo k3s kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

五、安全加固:生产环境必做

1、TLS证书管理

* 使用cert-manager自动管理Let's Encrypt证书。

* 替换k3s默认自签名证书(修改/etc/rancher/k3s/k3s.yamltls-san并重启)。

2、API Server访问控制

* 严格限制访问kube-apiserver的IP(云安全组/主机防火墙)。

* 使用RBAC细化权限,遵循最小权限原则。

3、etcd加密 (HA模式)

若启用高可用使用外部etcd,配置静态加密:

    apiVersion: apiserver.config.k8s.io/v1
    kind: EncryptionConfiguration
    resources:
      - resources:
          - secrets
        providers:
          - aescbc:
              keys:
                - name: key1
                  secret: <32-byte-base64-encoded-key>

4、定期备份

关键数据定时备份:

    # 备份k3s集群数据 (SQLite/etcd)
    sudo k3s etcd-snapshot save --snapshot-compress --snapshot-retention 10

观点:k3s极大简化了Kubernetes在标准化环境中的落地,尤其适合利用克隆服务器快速构建开发测试或边缘计算集群,其轻量化设计并未牺牲核心功能,配合严谨的安全配置,完全能承担生产级负载,运维团队应优先掌握其自动化部署与灾备方案,以充分发挥云原生优势。

文章摘自:https://idc.huochengrm.cn/fwq/9367.html

评论

精彩评论
  • 2025-06-19 02:44:24

    在克隆服务器上搭建K3s集群,需安装K3s二进制文件,配置集群节点,完成初始化和启动。