1

在我的 openshift 集群中,我注意到我所有的 pod 都有一个开放的端口,而我没有指定它。它的 pott 443 显然用于本文中提到的 k8s api

即使读完,我仍然不明白一些事情。

我了解该服务存在并转发到所有 pod。但是为了让 pod 使用此服务接收和发送请求。容器中的端口必须是开放的。但不知何故,即使没有在我的 pod 容器上指定端口。默认的 443 端口是打开的。这让我可以做这样的事情:

  1. 创建目标端口设置为 443 的服务
  2. 没有打开容器端口的设置 pod。
  3. 成功使用服务与容器通信。

这安全吗?,什么会在没有我指定的情况下打开容器端口?有没有办法防止这种情况发生?

4

1 回答 1

3

我注意到我所有的 pod 都有一个打开的端口,而我没有指定它。

是的,这contanerPort:只是元数据,容器也可能监听其他端口。

这安全吗?,什么会在没有我指定的情况下打开容器端口?有没有办法防止这种情况发生?

是的,这就是Kubernetes 网络策略的用途。

于 2021-04-10T08:52:28.917 回答