在所有容器中打开端口

Open port in all containers

在我的 openshift 集群中,我注意到我所有的 pods 都有一个开放的端口,但我没有指定它。 它是 pott 443,如 this post.

中所述,它显然用于 k8s api

看完了还是有点不明白

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

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

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

I noticed that all my pods have a port that's open without me specifying it.

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

Is this safe?, What opens the container port without me specifying it? Is there a way to prevent this from happening?

是的,这就是 Kubernetes Network Policies 的目的。