Coder Social home page Coder Social logo

router's Introduction

openshift-router

This repository contains the OpenShift routers for NGINX, HAProxy, and F5. They read Route objects out of the OpenShift API and allow ingress to services. HAProxy is currently the reference implementation. See the details in each router image.

These images are managed by the cluster-ingress-operator in an OpenShift 4.0+ cluster.

The template router code (openshift-router) is generic and creates config files on disk based on the state of the cluster. The process launches proxies as children and triggers reloads as necessary after new config has been written. The standard logic for handling conflicting routes, supporting wildcards, reporting status back to the Route object, and metrics live in the standard process.

Deploying to Kubernetes

The OpenShift router can be run against a vanilla Kubernetes cluster, although some of the security protections present in the API are not possible with CRDs.

To deploy, clone this repository and then run:

$ kubectl create -f deploy/

You will then be able to create a Route that points to a service on your cluster and the router pod will forward your traffic from port 80 to your service endpoints. You can run the example like:

$ kubectl create -f example/

And access the router via the node it is located on. If you're running locally on minikube or another solution, just run:

$ curl http://localhost -H "Host: example.local"

to see your route and:

$ kubectl get routes

to see details of your routes.

router's People

Contributors

ramr avatar smarterclayton avatar knobunc avatar openshift-merge-robot avatar jacobtanenbaum avatar ironcladlou avatar deads2k avatar pweil- avatar pecameron avatar marun avatar miciah avatar mfojtik avatar fabianofranz avatar liggitt avatar pmorie avatar imcsk8 avatar louyihua avatar soltysh avatar juanvallejo avatar danwinship avatar rajatchopra avatar directxman12 avatar kargakis avatar 0xmichalis avatar jhadvig avatar tdawson avatar sdodson avatar sferich888 avatar alexcern avatar frobware avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.