You need to enable JavaScript to run this app. 如何在Amazon EKS托管集群中启用unsafe sysctls内核参数
优惠活动
大模型
产品
解决方案
定价
更多

如何在Amazon EKS托管集群中启用unsafe sysctls内核参数

EKS控制台创建集群批量启用指定unsafe sysctls参数解决方案

操作总思路

控制台创建的EKS集群的工作节点均基于EC2启动模板部署,无需借助额外部署工具,直接在AWS控制台修改节点组关联的启动模板,即可批量配置所有节点的kubelet参数,现有节点通过滚动更新自动替换生效。

具体操作步骤

  • 进入EKS控制台,打开目标集群的计算标签页,找到待配置的节点组,记录其关联的启动模板ID
  • 切换到EC2控制台的「启动模板」页面,搜索上述启动模板ID,点击「修改模板(创建新版本)」
  • 下拉到「高级详细信息」板块,找到「用户数据(User data)」输入框,在现有用户数据末尾追加以下配置:
#!/bin/bash
set -ex
# 追加allowed-unsafe-sysctls配置到kubelet配置文件
echo 'allowedUnsafeSysctls: ["net.unix.max_dgram_qlen", "net.core.somaxconn"]' >> /etc/kubernetes/kubelet/kubelet-config.json
# 重启kubelet使配置生效
systemctl daemon-reload
systemctl restart kubelet
  • 保存启动模板新版本,回到EKS节点组配置页面,将节点组的启动模板版本切换为刚创建的新版本
  • 触发节点组滚动更新,集群会自动逐台替换现有节点,新启动的节点将自动应用上述kubelet配置

配置验证方法

待节点组滚动更新完成后,任选一个新节点通过SSM会话管理器或SSH连接,执行以下命令验证配置是否生效:

ps aux | grep kubelet

如果输出的kubelet启动参数中包含--allowed-unsafe-sysctls=net.unix.max_dgram_qlen,net.core.somaxconn即代表配置生效。

Pod侧配置说明

节点配置完成后,需要使用这两个参数的Pod需要在Pod模板的securityContext中显式声明需要调整的sysctl参数,示例配置如下:

apiVersion: v1
kind: Pod
metadata:
  name: sysctl-demo
spec:
  securityContext:
    sysctls:
    - name: net.unix.max_dgram_qlen
      value: "2048" # 可根据业务需求调整数值
    - name: net.core.somaxconn
      value: "65535" # 可根据业务需求调整数值
  containers:
  - name: app
    image: nginx:alpine

内容的提问来源于stack exchange,提问作者ALostBegginer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 07:24:03