当前位置: 首页 > news >正文

k8s系列-Listen: listen tcp :53: bind: permission denied

要解决 coredns 无法绑定到低于 1024 的端口(如端口 53)的权限问题,可以通过启用 containerd 的配置选项来允许非特权端口绑定。具体步骤如下:

1. 编辑 containerd 配置文件

打开 containerd 的配置文件 /etc/containerd/config.toml

sudo nano /etc/containerd/config.toml

2. 修改配置文件

在配置文件中找到或添加 enable_unprivileged_ports 配置项,将其设置为 true。示例如下:

[plugins."io.containerd.grpc.v1.cri"]...[plugins."io.containerd.grpc.v1.cri".containerd]...enable_unprivileged_ports = true

3. 重启 containerd 服务

保存并关闭配置文件后,重启 containerd 服务以使配置生效:

sudo systemctl restart containerd

4. 确认配置生效

重启 coredns pod 并查看其状态和日志,确认是否解决了权限问题:

kubectl -n kube-system rollout restart deployment coredns
kubectl get pods -n kube-system
kubectl logs -n kube-system coredns-<pod-name>

其他方法

如果不希望修改 containerd 配置文件,还可以使用以下替代方法:

修改系统 sysctl 设置

直接修改系统的 sysctl 设置,允许非特权端口绑定:

sudo sysctl -w net.ipv4.ip_unprivileged_port_start=0

要使其永久生效,可以将其添加到 /etc/sysctl.conf 文件:

echo "net.ipv4.ip_unprivileged_port_start=0" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
修改 coredns deployment 以使用特权权限

如前文提到的,可以在 coredns deployment 中添加 securityContext 以增加 NET_BIND_SERVICE 权限。

执行上述步骤后,coredns 应该能够成功绑定到端口 53。尝试这些方法并查看效果,如果仍有问题,请提供更多详细信息。

相关文章:

  • git拉去代码报错“Failed to connect to 127.0.0.1 port 31181: Connection refused“
  • 宝塔面板搭建thinkphp(fastadmin)项目注意事项
  • DKTCDR:Domain-Oriented Knowledge Transfer for Cross-Domain Recommendation
  • LeetCode:环形链表II
  • Python | 平均绩点
  • Diffle-Hellman Key Exchange密钥交换
  • java面试题及答案2024,java2024最新面试题及答案(之一)
  • 【面试题】Node.js高频面试题
  • Android handler 一次通关
  • Go Modules 使用
  • 使用system verilog进行流水灯和VGA打印字符
  • CentOS 7基础操作01_安装CentOS 7操作系统
  • 【C语言】动态内存管理
  • 外星人Alienware m16R1 原厂Windows11系统 oem系统
  • 16、matlab求导、求偏导、求定积分、不定积分、数值积分和数值二重积分
  • co模块的前端实现
  • HTTP 简介
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 简单实现一个textarea自适应高度
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 前端知识点整理(待续)
  • 如何设计一个微型分布式架构?
  • 如何在GitHub上创建个人博客
  • kubernetes资源对象--ingress
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​人工智能书单(数学基础篇)
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ‌Excel VBA进行间比法设计
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (21)起落架/可伸缩相机支架
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (WSI分类)WSI分类文献小综述 2024
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (三)Honghu Cloud云架构一定时调度平台
  • (十六)、把镜像推送到私有化 Docker 仓库
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)为C# Windows服务添加安装程序
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET Core中Emit的使用
  • .net 调用php,php 调用.net com组件 --
  • .NetCore 如何动态路由
  • .NET开发人员必知的八个网站
  • .NET委托:一个关于C#的睡前故事
  • .net中我喜欢的两种验证码
  • @Responsebody与@RequestBody
  • @Service注解让spring找到你的Service bean
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [20181219]script使用小技巧.txt