我有一个要托管在kubernetes集群中的应用程序。该应用程序可以并行侦听不同端口上的多个RTP流。我的问题是:如何在外部公开此应用程序?我看到Service对象在某些端口上公开了Deployments,但是无论端口如何,我都需要公开它。
答案 0 :(得分:0)
根据github discussion,服务中尚不支持端口范围
请考虑一下headless service。如果使用它通过选择器公开容器,则可以在任何端口上连接到容器的IP
类似这样的东西:
apiVersion: v1
kind: Service
metadata:
name: nginx-headless-svc
labels:
run: nginx
spec:
clusterIP: None
selector:
run: nginx
您将获得一个端点
sukhoversha@sukhoversha:~/GCP$ kk get pod nginx-64f497f8fd-pvk4b -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
nginx-64f497f8fd-pvk4b 2/2 Running 0 6d 10.20.0.10 gke-ic-1-default-pool-963dd3ea-365w <none>
sukhoversha@sukhoversha:~/GCP$ kk get ep nginx-headless-svc
NAME ENDPOINTS AGE
nginx-headless-svc 10.20.0.10 1h