IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Debian常用初始化流程

    ysicing (i@ysicing.me)发表于 2025-05-05 14:50:47
    love 0


    在搭建 k3s 轻量级 Kubernetes 集群时,Debian 系统因其稳定性和灵活性成为首选。然而,Debian 默认配置可能无法满足 k3s 的需求,需要通过初始化优化系统设置。本文将分享一套针对 k3s 环境的 Debian 初始化方案,涵盖基础包安装、系统配置和防火墙规则,仅供参考。

    安装基础包

    以下命令安装 k3s 集群所需的基础工具,保持系统轻量:

    export DEBIAN_FRONTEND=noninteractive
    apt update -qq
    apt remove -y -qq ufw lxd lxd-client lxcfs lxc-common
    apt install --no-install-recommends --no-install-suggests -y -qq nfs-common iptables conntrack jq socat bash-completion open-iscsi rsync ipset ipvsadm htop net-tools wget psmisc git curl nload ebtables ethtool procps
    

    配置系统

    配置 ssh

    修改 ssh 端口,设置密钥登录,禁用密码登录。这些比较常见,这里就不细说了。

    更新内核

    之前好像也写过,通常我都是使用最新内核,仅供参考.(通常也会踩坑比较多)

    curl https://c.ysicing.net/oss/scripts/debian-upcore.sh | bash
    # 或者
    apt install -t bookworm-backports linux-image-amd64 -y
    

    配置 system 相关

    调整 Systemd 的资源限制和日志设置

    mkdir -pv /etc/systemd/system.conf.d
    cat > /etc/systemd/system.conf.d/30-k8s-ulimits.conf <<EOF
    [Manager]
    DefaultLimitCORE=infinity
    DefaultLimitNOFILE=100000
    DefaultLimitNPROC=100000
    EOF
    
    mkdir -pv /etc/systemd/journald.conf.d /var/log/journal
    
    cat > /etc/systemd/journald.conf.d/95-k3s-journald.conf <<EOF
    [Journal]
    # 持久化保存到磁盘
    Storage=persistent
    # 最大占用空间 2G
    SystemMaxUse=2G
    # 单日志文件最大 100M
    SystemMaxFileSize=100M
    # 日志保存时间 1 周
    MaxRetentionSec=1week
    # 禁止转发
    ForwardToSyslog=no
    ForwardToWall=no
    EOF
    
    systemctl daemon-reload
    systemctl restart systemd-journald
    
    cat > /etc/modules-load.d/10-k3s-modules.conf <<EOF
    br_netfilter
    ip_vs
    ip_vs_rr
    ip_vs_wrr
    ip_vs_sh
    nf_conntrack
    EOF
    
    systemctl daemon-reload
    systemctl restart systemd-modules-load
    

    配置防火墙规则

    提示:8.8.8.8 为示例白名单 IP,请替换为实际 IP,搭配rc.local

    • /data/scripts/iprule.sh
    #!/bin/bash
    iptables -I INPUT -s 8.8.8.8 -j ACCEPT
    iptables -I INPUT -p udp -j ACCEPT
    iptables -I INPUT -i lo -j ACCEPT
    iptables -I INPUT -i tailscale0 -j ACCEPT
    iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -I INPUT -s 10.0.0.0/8 -j ACCEPT
    iptables -I INPUT -s 172.16.0.0/12 -j ACCEPT
    iptables -I INPUT -s 192.168.0.0/16 -j ACCEPT
    iptables -I INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
    iptables -A INPUT -p icmp -j DROP
    iptables -A OUTPUT -j ACCEPT
    iptables -A INPUT -j DROP
    

    防火墙规则没考虑使用 iptables-save 等保存恢复,而是每次开启时重新配置。

    总结

    通过以上步骤,我们完成了一套针对 k3s 环境的 Debian 系统初始化,优化了网络、资源限制和安全性。你可以直接使用以下脚本一键初始化

    curl https://c.ysicing.net/oss/scripts/init.sh
    



沪ICP备19023445号-2号
友情链接