Where to put a multi path in service.yaml or pod.yaml?


#1

Hi everyone
i searched on internet at the begin i start with service,ingress and ingress controler and after few minutes i read that is possible with ExternalName declared on service . I try to run the app with this methode .

I’ve for goal to run an application ( CAS ) . This application must be able to connect to the external URL : mobdev1-cts.dev.corp on different url path ( /ds-chart , /ds-login , etc… )
i cant find any information about where i can put the params path?

so i made a Service.yaml and pod.yaml

apiVersion: v1
kind: Service
metadata:
  name: ds-service
  namespace: ds-svc
spec:
  type: ExternalName
  externalName: mobdev1-cts.dev.corp
- name: ds-ap-service
    protocol: TCP
    port: 443
    nodePort:

- name: ds-login-service
    protocol: TCP
    port: 443
- name: ds-chat-service
    protocol: TCP
    port: 443
- name: ds-not-service
    protocol: TCP
    port: 443
- name: ds-ums-service
    protocol: TCP
    port: 443

Pod.yaml:

apiVersion: v1
kind: Pod
metadata:
name: ds-mg-cas-pod
namespace: ds-svc
spec:
containers:


#2

Service is an L3/L4 abstraction – there’s no concept of HTTP there.


#3

Thank for your reply .
so do i’ve to put it in pod or the better way is to add the url path in Ingress ?
i start to do something like that .

apiVersion:   extensions/v1beta1
kind:   Ingress
metadata:
  name: ds-ap-service
  namespace: ds-svc
spec:
  rules:
  - host: mobdev1-cts.dev.corp
    http:
      paths:
      - path: /ids
        backend:
          serviceName:   ids-svc
          servicePort:   443

#4

Not sure what you need, but a service type external might be enough if what it points to knows how to handle the high level protocol (https).

If you handle there (in the external server) the path redirect and stuff you want, a service type external can be enough.

But if you need http specifics, then you will probably need ingress.

What do you really need, exactly?