Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add example backend service #3

Closed
philhug opened this issue Nov 20, 2015 · 7 comments
Closed

Add example backend service #3

philhug opened this issue Nov 20, 2015 · 7 comments

Comments

@philhug
Copy link

philhug commented Nov 20, 2015

It would be nice to also have an example service file. I seem to have problems getting it to work:

kind: Service
apiVersion: v1
metadata:
  name: test-vulcand-proxy
  annotations:
    vulcand.io/routed: "true"
    vulcand.io/route: Host("example.com")
spec:
  ports:
  - name: http
    port: 80
    targetPort: 80
    protocol: TCP
  selector:
    name: test
  type: ClusterIP
  ClusterIP: None

time="2015-11-20T14:39:07Z" level=info msg="Adding service" serviceID=default-test-vulcand-proxy
time="2015-11-20T14:39:07Z" level=warning msg="Unable to find service for endpoint" name=test-vulcand-proxy namespace=default
time="2015-11-20T14:39:07Z" level=warning msg="Could not get endpoints for service" error= serviceID=default-test-vulcand-proxy

@ekozan
Copy link

ekozan commented Nov 20, 2015

you have forget to add your selector

{
    "kind": "Service",
    "apiVersion": "v1",
    "metadata": {
        "name": "test-vulcand-proxy",
        "vulcand.io/routed": "true",
        "vulcand.io/route": "Host('example.com')"
    },
    "spec": {
        "selector": {
            "app": "test-vulcand-proxy"
        },
        "ports": [
            {
                "protocol": "TCP",
                "port": 80,
                "targetPort": 80
            }
        ]
    }
}

and be sure you have somme pods running

@philhug
Copy link
Author

philhug commented Nov 23, 2015

the selector is there. the formatting was just messed up:
selector:
name: test

@ghost
Copy link

ghost commented Dec 3, 2015

Hey guys,

Here are 2 great utils that woudl be great for kubernetes-vulcand-router.

Vulcan-Config-Builder

Also, for the vulcand config itself, Financial Times released that some util that could be also interesting for this repo. (Large scale registration): https://github.com/Financial-Times/vulcan-config-builder

Romulus

And you have also https://github.com/timelinelabs/romulus/ that allows to automatically register a kubernetes services in vulcan proxy .

Cheers,
Luc Michalski

@emmanuel
Copy link
Contributor

emmanuel commented Dec 5, 2015

@lucmichalski thanks for bring romulus to my attention. The FT thing is interesting as well.

😢 I was not aware of romulus when developing this. If I had seen it, I would have used romulus and not have written this. I'm deprecating this code and will not be making any further improvements to it. Please don't use this (kubernetes-vulcand-router), use romulus instead (which appears to do everything this code does, and more).

@emmanuel emmanuel closed this as completed Dec 5, 2015
@ghost
Copy link

ghost commented Dec 6, 2015

Emmanuel,

At the opposite, I think that you provided an awesome piece of the puzzle in order to make of Vulcan a serious leading proxy for smart micro-services. So, I think that your repo is 30% of the whole as it own as it sticks to kubernetes as a boostrap template.

Maybe a more advanced tool would help Vulcan for sure. As I think that circuitbreakers, middlewares make me think about an web UI, link tensorflow (ex; http://images.csmonitor.com/csm/2015/11/946808_1_1109-Google-TensorFlow_standard.jpg?alias=standard_600x400) for deep learning, would be great in order to organize and manage backends and frontends.

3 libs are candidates for me:
https://github.com/marmelab/ArchitectureTree (To see the whole sitemap)
https://github.com/marmelab/ng-admin (Etcd Json edition)
Demo for the Ng Admin (working only with JS): http://marmelab.com/ng-admin-demo/#/dashboard

For metrics, i saw an attempt with react.js but it is not working at all (https://github.com/bradgignac/vulcand/tree/bradgignac/dashboard/dashboard)

Would help a lot the get an outstanding proxy. Vulcan is all about metrics and micro-services.

PS. I do not know if you know Traefik (making too much general things for now)
https://github.com/emilevauge/traefik

Cheers,
Luc

@emmanuel
Copy link
Contributor

emmanuel commented Dec 7, 2015

Luc, thank you for the kind words, but I'm not seeing the value you're talking about 🤔. I haven't studied the implementation, but from my reading of the documentation, Romulus is basically what I had in mind when I started this project.

And now I want an Ingress controller, instead of annotations on a service :sigh:. Kubernetes (this whole space, really) is moving so fast, I am happy to deprecate this repo and adopt Romulus. I will be eager to evaluate a vulcand-based Ingress controller when one becomes available.

WDYT Luc?

On Dec 5, 2015, at 5:02 PM, lucmichalski [email protected] wrote:

Emmanuel,

At the opposite, I think that you provided an awesome piece of the puzzle in order to make of Vulcan a serious leading proxy for smart micro-services. So, I think that your repo is 30% of the whole as it own as it sticks to kubernetes as a boostrap template.

Maybe a more advanced tool would help Vulcan for sure. As I think that circuitbreakers, middlewares make me think about an web UI, link tensorflow (ex; http://images.csmonitor.com/csm/2015/11/946808_1_1109-Google-TensorFlow_standard.jpg?alias=standard_600x400) for deep learning, would be great in order to organize and manage backends and frontends.

3 libs are candidates for me:
https://github.com/marmelab/ArchitectureTree (To see the whole sitemap)
https://github.com/marmelab/ng-admin (Etcd Json edition)
Demo for the Ng Admin (working only with JS): http://marmelab.com/ng-admin-demo/#/dashboard

For metrics, i saw an attempt with react.js but it is not working at all (https://github.com/bradgignac/vulcand/tree/bradgignac/dashboard/dashboard)

Would help a lot the get an outstanding proxy. Vulcan is all about metrics and micro-services.

PS. I do not know if you know Traefik (making too much general things for now)
https://github.com/emilevauge/traefik

Cheers,
Luc


Reply to this email directly or view it on GitHub.

@ghost
Copy link

ghost commented Dec 8, 2015

If you do not mind, maybe we should push your templates to Romulus, as it would be a great addition. (https://github.com/timelinelabs/romulus/issues/13)

My use case is really particular for vulcand as I am building a kind Image Recognition proxy with it. Some middlewares are doing pre-processing on the input pictures, and post-processing out the response.

So from my point of view, I prefer to route micro-services through annotation and be able to manage their replication on a micro level, only the most active (and make some dynamic backend loadbalancing like traefik does, not a simple round robin). So, I do not really need a classical load balancer with kubernetes deploy. benefits. I am pretty much chasing the scalability of deep learning frameworks with loads of micro-services/endpoints to query through a classical HTTP rest api.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants