kubernetes - 我需要打开哪个端口以允许 pip 连接(在通过 kubernetes 运行的 docker 中)?
问题描述
我想通过pip在正在运行的容器中安装其他 python 库。我使用这种方式而不是构建已经安装了这个库的容器的原因是我的 docker 镜像需要很小。
我试过打开8080、3128和443端口,yaml入口如下:
ports:
- containerPort: 8080
name: http
protocol: TCP
- containerPort: 3128
name: http
protocol: TCP
- containerPort: 443
name: http
protocol: TCP
但是,pip 无法连接到 pypi 服务器。
我必须添加什么端口?还是我错过了什么?
解决方案
containerPort
是容器侦听传入流量的端口。对于从 pypy 服务器下载库,流量是从 Pod 传出的。如果您没有任何网络策略阻止出口流量,则无需将任何 IP 列入白名单,以便流量从 Pod 传出到 Internet。但是 pod 和节点需要能够访问互联网,而不会被任何防火墙阻止流量。
推荐阅读
- c# - 按自定义格式 DateTime 列对 DataTable 进行排序
- performance - 单个 QML Q_PROPERTY QString 消耗高 CPU (85%),每 90 毫秒发射一次
- elasticsearch - 有什么简单的方法可以通过logstash将数据推送到elasticsearch
- javascript - 解压 zip 文件并排除 NodeJS 中的根目录
- c# - C# 我的位图如何使用与指定的不同的 MemoryStream?
- python - 更改子目录中特定文件类型的行
- spring-boot - 无法使用 ConfigurationProperties 读取用户
- c++ - 函数中的自动变量在不同的调用中表示不同的类型是否合法?
- java - 用 Java 扫描服务器的网络流量
- c# - 在扩展方法中添加事件监听器