On Thu, Mar 3, 2016 at 3:21 AM, David Balakirev <[email protected]>
wrote:

> Hi,
>
> Thanks for the answers Ben, Aaron!
>
> Right so at this point the applications themselves are not hosted inside
> OpenShift. There is a plan for that but we are not  there yet.
>
> @Aaron your assumption was right in a sense that I intend to have MySQL
> available as a service to applications running on our corporate build
> infra.
> They would connect and run their database creation scripts and test.
>
> So while I have confidence I could access the service from other apps
> hosted inside the OpenShift infra, I actually need to somehow access them
> extenally.
>
> To re-iterate the question, I am puzzled how should I route connections to
> the TCP port of the MySQL service (or pod?) from the network.
>

​external access requires a Route and routes only support
http/https/websocket or SNI traffic.  Your generic TCP requirements can
only be met if you use a TLS connection and your mysql clients support SNI
(that is how openshift can know where to route the request).

https://docs.openshift.org/latest/dev_guide/routes.html
​



> I assume it has something to do with routing / port forwarding.
>
> @Ben thanks I'll checkout what those templates offer.
>
>
> On 03/02/2016 05:45 PM, Ben Parees wrote:
>
>
>
> On Wed, Mar 2, 2016 at 11:41 AM, Aaron Weitekamp < <[email protected]>
> [email protected]> wrote:
>
>> On Wed, Mar 2, 2016 at 9:05 AM, Ben Parees < <[email protected]>
>> [email protected]> wrote:
>>
>>> Take a look at this template which deploys mysql:
>>>
>>> https://github.com/openshift/origin/blob/master/examples/db-templates/mysql-ephemeral-template.json
>>> (or this one which uses persistent storage:
>>> <https://github.com/openshift/origin/blob/master/examples/db-templates/mysql-persistent-template.json>
>>> https://github.com/openshift/origin/blob/master/examples/db-templates/mysql-persistent-template.json
>>> )
>>>
>>> And this application which deploys both a DB and an application that
>>> communicates with that DB:
>>>
>>> https://github.com/openshift/origin/blob/master/examples/quickstarts/cakephp-mysql.json
>>> (source for the application is here:
>>> <https://github.com/openshift/cakephp-ex>
>>> https://github.com/openshift/cakephp-ex)
>>>
>>> I would not necessarily expect you to deploy a single mysql instance and
>>> have each app create its own DB in that instance.  I'd expect each app to
>>> just deploy its own mysql instance for testing.  I think you will find that
>>> easier to setup.
>>>
>>>
>> While one db per app is straightforward and there​
>> ​ are many examples of this, aren't there benefits to hosting a single DB​
>> ​ service that apps can use? This is the enterprise model. It seems to me
>> the question is how to share a service across projects. Once that's in
>> place it should "just work" but I couldn't figure out how that might be
>> done. oc policy ... ?
>> ​
>>
>>
>
> ​by default, a service is accessible to all other projects, no policy
> needed.  the challenge you have is creating the additional DBs in the mysql
> instance.  Our image creates one DB for you, if you want to create more,
> its up to you to exec into the DB container and run mysql commands to
> create more databases.
> ​
>
>
>
>>
>>>
>>> On Wed, Mar 2, 2016 at 4:13 AM, David Balakirev <
>>> <[email protected]>[email protected]> wrote:
>>>
>>>> Hi,
>>>>
>>>> I am trying to host MySQL containers inside OpenShift. The goal would
>>>> be that projects could connect to a given container, setup a database for
>>>> themselves remotely and execute their integration tests.
>>>>
>>>> The first question could be: is this something OpenShift could be used
>>>> for or not?
>>>>
>>>> For my installation I created a project with a single MySQL app
>>>> (mysql:latest).
>>>>
>>>> On the server, I can connect to the database via TCP (--protocol=tcp):
>>>> * via the IP of the pod
>>>> * via the IP of the service (that was auto created for me)
>>>>
>>>> Of course the goal would be to access the database from our corporate
>>>> network.
>>>>
>>>> After digesting many threads on Stackoverflow, especially [1] and [2] I
>>>> think the conclusion is that only port 80/443/8000/8443 could be
>>>> accessed externally.
>>>>
>>>> I know of services, routes and port-forwarding, but probably I did not
>>>> yet understand when they should be used.
>>>>
>>>> I can use port-forwarding to map 3306 to a local port, then I access
>>>> the database via "-h localhost".
>>>>
>>>> I0302 09:20:01.133388    9195 portforward.go:213] Forwarding from
>>>> 127.0.0.1:49220 -> 3306
>>>> I0302 09:20:01.133516    9195 portforward.go:213] Forwarding from
>>>> [::1]:49220 -> 3306
>>>>
>>>> But I assume I cannot use this to expose the port because of what I
>>>> have found in [1] and [2].
>>>>
>>>> Routes I learned could be used to match a path, but I think that is
>>>> better used for HTTP services.
>>>>
>>>> Frankly I did not yet understand the role of a Router in this context.
>>>>
>>>> Could someone please let me know if it is possible to do what I want or
>>>> not? RTFM is perfect for me, provided I can see a specific example for
>>>> exposing a TCP port somehow. It is possible the solution is there but I did
>>>> not realize.
>>>>
>>>> I am using Origin: 1.1.3.
>>>>
>>>> Thanks in advance,
>>>> Dave
>>>>
>>>> [1] <http://stackoverflow.com/>http://stackoverflow.com/
>>>> questions/33985138/how-to-host-and-access-murmur-mumble-server-on-openshift-without-port-forwardi?rq=1
>>>> [2] <http://stackoverflow.com/>http://stackoverflow.com/
>>>> questions/33838765/openshift-v3-confusion-on-services-and-routes
>>>>
>>>> _______________________________________________
>>>> dev mailing list
>>>> [email protected]
>>>> http://lists.openshift.redhat.com/openshiftmm/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> Ben Parees | OpenShift
>>>
>>>
>>> _______________________________________________
>>> dev mailing list
>>> [email protected]
>>> http://lists.openshift.redhat.com/openshiftmm/listinfo/dev
>>>
>>>
>>
>
>
> --
> Ben Parees | OpenShift
>
>
>


-- 
Ben Parees | OpenShift
_______________________________________________
dev mailing list
[email protected]
http://lists.openshift.redhat.com/openshiftmm/listinfo/dev

Reply via email to