I've went through Kubernetes documentation and according to Endpoints I've found only this:
* http://kubernetes.io/docs/user-guide/services/ and there is nothing about any logic inside Endpoints / Services which can check if particular endpoint is up and running. If there can be any simple solution to our problem - we will be amazed! David Strejc t: +420734270131 e: [email protected] On Wed, Apr 6, 2016 at 2:02 PM, Ben Parees <[email protected]> wrote: > > > On Wed, Apr 6, 2016 at 5:26 AM, David Strejc <[email protected]> > wrote: > >> Our whole team have agreed on following solution: >> >> * We will install nearly same service as ha-proxy router in Open Shift is. >> >> * We will have ha proxy in docker container inside Open Shift on each node >> this will serve as connection point from our applications - we will >> create service out >> of this HA Proxy dockers >> >> * In case of failure Kubernetes will know about issue and we can use >> readiness for >> this purpose inside so we will have HA Proxy in front of our >> infrastructure of MariaDBs >> > > I guess it sounds like something that could work, but I suspect there > might be other ways to communicate endpoint state to the service definition > that don't require this extra hop. Adding Ben Bennett from the team that > owns routing. > > > > > >> >> Do we have to use the same system for GlusterFS? >> >> Use case: >> >> We got glusterfs on each openshift node and they serve as storage for >> data. We got >> Endpoints inside our template and it points to GlusterFS according to >> Open Shift >> documentation for GlusterFS. >> >> If one node fails - Kubernetes will reschedule all containers on >> different node, but >> what about GlusterFS - will there still be requests to failed node from >> our apps? >> >> Due to Kubernetes documentation it chooses Endpoints at random from all >> endpoints >> specified. Does this apply also to GlusterFS plugin? If so wee need to >> setup HAProxy >> also for GlusterFS storage. >> >> Does this make a little bit sense or are we completely wrong with our >> design? >> >> I can send design scheme if it will help. >> >> Many thanks for your help and time. >> >> David Strejc >> t: +420734270131 >> e: [email protected] >> >> On Tue, Apr 5, 2016 at 6:28 PM, David Strejc <[email protected]> >> wrote: >> >>> And what about GlusterFS - does Open Shift driver support checking if >>> GlusterFS endpoint is up and running? >>> >>> >>> >>> David Strejc >>> t: +420734270131 >>> e: [email protected] >>> >>> On Tue, Apr 5, 2016 at 5:54 PM, Ben Parees <[email protected]> wrote: >>> >>>> >>>> >>>> On Tue, Apr 5, 2016 at 11:26 AM, Tomáš Kukrál <[email protected]> wrote: >>>> >>>>> Hi, >>>>> is it really possible to attach Endpoint? >>>>> >>>>> I think readiness probes are limited to containers and thus is can not >>>>> solve David's problem because mysql servers are running outside of >>>>> OpenShift. >>>>> >>>>> >>>> sorry, didn't realize it's an external service, my advice would not >>>> apply if that is the case. >>>> >>>> >>>> >>>> >>>>> tom >>>>> >>>>> >>>>> >>>>> On 04-05 09:04, Ben Parees wrote: >>>>> > On Tue, Apr 5, 2016 at 3:59 AM, David Strejc <[email protected]> >>>>> wrote: >>>>> > >>>>> > > Dear all, >>>>> > > >>>>> > > my use case is as follows: >>>>> > > >>>>> > > I got MariaDB galera cluster on each node I got Open Shift >>>>> installed on >>>>> > > (they are bare metals). >>>>> > > >>>>> > > I've created endpoints such as this: >>>>> > > >>>>> > > - apiVersion: v1 >>>>> > > kind: Endpoints >>>>> > > metadata: >>>>> > > name: mysql >>>>> > > subsets: >>>>> > > - addresses: >>>>> > > - ip: 10.3.0.1 >>>>> > > ports: >>>>> > > - port: 3306 >>>>> > > - addresses: >>>>> > > - ip: 10.3.1.1 >>>>> > > ports: >>>>> > > - port: 3306 >>>>> > > - addresses: >>>>> > > - ip: 10.3.2.1 >>>>> > > ports: >>>>> > > - port: 3306 >>>>> > > >>>>> > > And I got service which points to this endpoint. >>>>> > > >>>>> > > My question is - Kubernetes doesn't have any kind of "HA proxy >>>>> mode" so it >>>>> > > can tell that any of nodes behind Endpoint is failing? So lets say >>>>> I got >>>>> > > 10.3.0.1 mysql service stopped and kubernetes round robins >>>>> connection to >>>>> > > this host so every third request on my webapp is failing? >>>>> > > >>>>> > > This is what I've experienced in my setup. >>>>> > > >>>>> > > Am I doing something wrong? Or is this a standard behaviour so I >>>>> have to >>>>> > > deploy HA Proxy in between the endpoints and my MySQL database >>>>> cluster? >>>>> > > >>>>> > >>>>> > this what readiness checks are for. If a container fails its >>>>> readiness >>>>> > check, the endpoint will be removed from the list so it does not >>>>> serve >>>>> > requests: >>>>> > >>>>> > >>>>> https://docs.openshift.org/latest/dev_guide/application_health.html#container-health-checks-using-probes >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > > >>>>> > > Many thanks for advice. >>>>> > > >>>>> > > David Strejc >>>>> > > t: +420734270131 >>>>> > > e: [email protected] >>>>> > > >>>>> > > _______________________________________________ >>>>> > > users mailing list >>>>> > > [email protected] >>>>> > > http://lists.openshift.redhat.com/openshiftmm/listinfo/users >>>>> > > >>>>> > > >>>>> > >>>>> > >>>>> > -- >>>>> > Ben Parees | OpenShift >>>>> >>>>> > _______________________________________________ >>>>> > users mailing list >>>>> > [email protected] >>>>> > http://lists.openshift.redhat.com/openshiftmm/listinfo/users >>>>> >>>>> >>>>> _______________________________________________ >>>>> users mailing list >>>>> [email protected] >>>>> http://lists.openshift.redhat.com/openshiftmm/listinfo/users >>>>> >>>>> >>>> >>>> >>>> -- >>>> Ben Parees | OpenShift >>>> >>>> >>>> _______________________________________________ >>>> users mailing list >>>> [email protected] >>>> http://lists.openshift.redhat.com/openshiftmm/listinfo/users >>>> >>>> >>> >> > > > -- > Ben Parees | OpenShift > >
_______________________________________________ users mailing list [email protected] http://lists.openshift.redhat.com/openshiftmm/listinfo/users
