Reputation: 31
I have a digital ocean kubernetes and an ingress controller routing traffic. but one of the pods needs to accept TCP traffic; so i would like to make the ingress to accept the TCP traffic and route to the pod. i followed this
https://minikube.sigs.k8s.io/docs/tutorials/nginx_tcp_udp_ingress/
and
https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/
after following, i still cannot connect to the port.
Below is what i have:
Load. balancer:
kind: Service
apiVersion: v1
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
selector:
# app: speed-transmission-app
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
type: LoadBalancer
ports:
- name: http
port: 80
targetPort: 80
protocol: TCP
- name: https
port: 443
targetPort: 443
protocol: TCP
- name: transmission-port
port: 9000
targetPort: 8998
protocol: TCP
config map
apiVersion: v1
kind: ConfigMap
metadata:
name: tcp-services
namespace: ingress-nginx
data:
9000: "staging/speed-transmission-service:9000"
Now when i try to connect to the load balancer external IP at port 9000, i get connection lost.
I will really appreciate help on how to configure this. thanks.
Upvotes: 0
Views: 1336
Reputation: 31
After searching everywhere for how to do this i came accross another stackoverflow answer that explain how this could work. it worked well and its what i still use now. the only issue is just that its not a long term solution as i usually have my loadbalancer goes down anytime any of the services that is listening on the tcp service goes down, thus affecting the whole cluster. this is however on DOKS, am not sure of how it will behave on another platform. here is the link to the answer. i will update this answer if i find a more stable solution.
Upvotes: 1