我有一个代理,它将暴露随机端口以从另一个部署/pod访问。我如何在kubernetes上实现这一点?我们可以这样做吗?我已经尝试过这样的无头服务
apiVersion: v1
kind: Service
metadata:
name: multilogin-agent-headless
spec:
selector:
app: mulitlogin-agent
clusterIP: None
字符串
我的部署
apiVersion: apps/v1
kind: Deployment
metadata:
name: mulitlogin-agent-deployment
spec:
replicas: 1
selector:
matchLabels:
app: agent
template:
metadata:
labels:
app: agent
annotations:
prometheus.io/scrape: 'true'
prometheus.io/path: '/metrics'
prometheus.io/port: '8000'
spec:
containers:
- name: agent
image: myagent
imagePullPolicy: Always
ports:
- containerPort: 45001
imagePullSecrets:
- name: ghcr-io-pull-secret
型
我只能使用部署清单中公开的端口45001进行连接,无法连接到代理中的其他端口。
1.向代理发送请求
1.代理发送响应与端口将被打开(其随机)
- pod a request to agent:<random_port>random port will be get from step 2
问候和感谢
1条答案
按热度按时间aemubtdh1#
你可以使用Nginx的sidecar和你放在清单中的具体端口。然后在init容器的帮助下使用动态配置管理Nginx上的随机端口的配置。但是最好在应用程序的级别上坚持使用端口。