如何在不禁用firewalld(Kubernetes)的情况下使用Flannel

2023-12-01

我是法兰绒和 K8s 的新手。我正在我的 1 个主节点和 2 个节点集群(由 KVM 创建)上使用它们。

我使用 flannel 网络插件初始化了集群。然后我发现我无法访问内部。 结果发现可能是我的网络或者DNS进程出了问题。

下列的https://kubernetes.io/docs/setup/product-environment/tools/kubeadm/create-cluster-kubeadm/, I add 8285 和 8472到防火墙

[root@k8smaster ~]# firewall-cmd --list-port
6443/tcp 80/tcp 8285/udp 8472/udp 8472/tcp 8285/tcp

我得到了

[root@k8smaster ~]# kubectl exec -ti dnsutils -- nslookup kubernetes.default
;; connection timed out; no servers could be reached

command terminated with exit code 1

但是,如果我停止防火墙,一切都很好。

[root@k8smaster ~]# kubectl exec -ti dnsutils -- nslookup kubernetes.default
Server:     10.96.0.10
Address:    10.96.0.10#53

Name:   kubernetes.default.svc.cluster.local
Address: 10.96.0.1

所以我的问题是,是否应该将任何端口添加到firewalld 中? 如果有任何信息请告诉我。我应该在这里补充一下。 谢谢。


由 @KoopaKiller 建议,我确实错过了为 k8s 本身配置端口。 我将我的脚本粘贴在下面供您参考。

# Master
firewall-cmd --permanent --add-port=6443/tcp # Kubernetes API server
firewall-cmd --permanent --add-port=2379-2380/tcp # etcd server client API
firewall-cmd --permanent --add-port=10250/tcp # Kubelet API
firewall-cmd --permanent --add-port=10251/tcp # kube-scheduler
firewall-cmd --permanent --add-port=10252/tcp # kube-controller-manager
firewall-cmd --permanent --add-port=8285/udp # Flannel
firewall-cmd --permanent --add-port=8472/udp # Flannel
firewall-cmd --add-masquerade --permanent
# only if you want NodePorts exposed on control plane IP as well
firewall-cmd --permanent --add-port=30000-32767/tcp
firewall-cmd --reload
systemctl restart firewalld


# Node
firewall-cmd --permanent --add-port=10250/tcp
firewall-cmd --permanent --add-port=8285/udp # Flannel
firewall-cmd --permanent --add-port=8472/udp # Flannel
firewall-cmd --permanent --add-port=30000-32767/tcp
firewall-cmd --add-masquerade --permanent
firewall-cmd --reload
systemctl restart firewalld
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不禁用firewalld(Kubernetes)的情况下使用Flannel 的相关文章

随机推荐

  • 从 BroadcastReceiver 更新 Activity

    这个问题提出了一个有趣的问题 OP 有一个显示地图的应用程序 该地图需要使用通过 SMS 消息接收的位置标记进行更新 各个步骤相当简单 SMS 消息可以由BroadcastReceiver 标记可以通过ItemizedOverlay在一个上
  • 将 JTextArea 或 JTextPane 中的文本居中 - 水平文本对齐

    有没有办法像 JTextField 一样为 JTextArea 创建水平居中的文本 setHorizontalAlignment JTextField CENTER 有没有办法可以使用多行文本区域完成同样的事情 我找不到 JTextArea
  • Firebase 存储和访问控制允许来源

    我正在尝试通过 XMLHttpRequest 从 Firebase Storage 下载文件 但资源上未设置 Access Control Allow Origin 因此这是不可能的 有没有办法在存储服务器上设置这个标头 let xhr j
  • PHP/Mysqli:为什么此代码会使插入行加倍?

    我的代码需要帮助 不知何故 我的代码创建了两个房间 它一次将两行插入表中 我不知道为什么 我需要每个插入都需要一个 id 才能知道我们在哪个房子中创建一个新房间 我的数据库包含表 house 和表 room 表 room 有一个字段 hou
  • python用多个键填充搁置对象/字典

    我有一个 4 gram 列表 我想用它来填充字典对象 shevle 对象 I go to work I go there often it is nice being I live in NY I go to work 这样我们就有了类似的
  • Python 中递归调用的 return 语句如何保存中间值?

    正在查看一些与递归调用相关的 python 代码 并注意到 return 语句看起来很有趣 当下一次递归调用的返回语句中没有变量赋值时 递归如何工作 当进行递归调用时 中间求和值没有存储在明显的位置 调试器似乎显示列表每次调用都会减少一 但
  • NLog 内部记录器的编程配置

    任何人都可以帮助 NLog 内部记录器的编程配置吗 我有各种目标 电子邮件目标不发送任何电子邮件 尽管它确实有日志记录规则 所以我希望通过启用内部日志来获得更多见解 但是 我进行了编程配置 但没有找到任何在代码中设置内部记录器的资源 索姆斯
  • 定义一个特定表格单元格的高度

    我有一个带有两个自定义单元格的 tableView 我需要定义一个单元格的高度 但不理会另一个单元格的高度 我正在尝试学习 Objective C 所以任何帮助将不胜感激 在 UITableView 委托中 实现例程 tableView h
  • 如何比较两个数组列表中至少有一个属性不同的相似对象?

    我有两个数组列表 每个都有用户类型的对象列表 User 类如下所示 public class User private long id private String empCode private String firstname priv
  • 将字节数组转换为字符串 (Java)

    我正在 Google app Engine 中编写一个网络应用程序 它允许人们基本上编辑 html 代码 并将其存储为 htmlblobstore 中的文件 我正在使用 fetchData 返回一个byte 文件中的所有字符 我正在尝试打印
  • 将文本数据库分成 N 个相等的块并保留标题

    我有几个大型 30 百万行 文本数据库 我正在使用以下代码清理它们 我需要将文件拆分为 100 万行或更少 并保留标题行 我查看了 chunk 和 itertools 但无法得到明确的解决方案 它用于 arcgis 模型 根据 icyroc
  • 如何设置引导文本的大小和卡片大小

    我使用引导程序实现了该卡 但我的卡片尺寸根据文本字符的数量而变化 详细信息链接也有所不同 当我缩小浏览器时 它会与我的卡片文本重叠 如何固定卡片文字的大小 类 card text 以避免重叠并避免不同的卡片尺寸 div class card
  • 如何愚弄jqXHR始终成功

    我试图让 jQuery 的 ajax 调用总是返回 就像它们成功一样 例如即使没有网络 我也会返回一些本地保存的数据 这可能吗 我尝试使用 ajaxPrefilter 并调用 jqXHR 的成功函数 但它仍然不会表现得好像请求已经完成 Th
  • 这是我的网络应用程序的“记住我”功能的合法实现吗?

    我正在尝试向我的网络应用程序添加 记住我 功能 以使用户在浏览器重新启动之间保持登录状态 我想我已经得到了大部分 我使用谷歌应用程序引擎作为后端 它允许我使用java servlet 这是一些演示的伪代码 public class MySe
  • Docker 网络 Nginx 解析器

    我正在尝试删除配置中已弃用的 Docker 链接 剩下的就是摆脱那些Bad Gateway当我重新创建容器时 nginx 反向代理错误 注意 我在桥接模式下使用 Docker 网络 docker network create nettest
  • 从 sqlite 存储和检索 Uri

    我是一名新手开发人员 目前正在开发一个应用程序 其中部分功能允许用户捕获图像 将其存储在应用程序的文件系统中 并将其引用存储在 SQLite 数据库的列中 然后 用户将能够根据与数据库中关联的任何标准在网格视图中查看这些图像 例如 仅显示特
  • 如何使用 python 3.8.1 将 django 应用程序部署到heroku?

    我正在尝试将 django 应用程序部署到 heroku 安装 django heroku 时出现错误 越来越失败了错误是 从源代码构建 psycopg2 需要 pg config 我也尝试安装psycopg2 它也失败了 我使用的是 Ma
  • 触发电子邮件验证

    我正在使用自定义策略 期望的用户旅程是 用户在屏幕 1 上输入电子邮件 密码 成功验证屏幕 1 后 用户将转到屏幕 2 在屏幕 2 中 用户必须输入发送到其电子邮件的代码 请注意 用户在注册时已经验证了电子邮件 我被困在让 2 人去工作 目
  • PayPal 免费试用期的实施不会返回任何自定义参数

    最近两天一直被这个问题困扰 Scenario 我们有一个基于网络的产品 用户可以免费注册 14 天 之后每月订阅 60 美元 一旦用户点击 使用 Paypal 付款 按钮 页面将把用户带到 Paypal 一旦他们完成付款 它就会重定向回我们
  • 如何在不禁用firewalld(Kubernetes)的情况下使用Flannel

    我是法兰绒和 K8s 的新手 我正在我的 1 个主节点和 2 个节点集群 由 KVM 创建 上使用它们 我使用 flannel 网络插件初始化了集群 然后我发现我无法访问内部 结果发现可能是我的网络或者DNS进程出了问题 下列的https