[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

RE: Three-tier application deployment on OpenShift origin

Hello Erik,


Please find my comments inline


De : Erik Jacobs [mailto:ejacobs redhat com]
Envoyé : mercredi 4 mai 2016 17:32
Cc : dev lists openshift redhat com
Objet : Re: Three-tier application deployment on OpenShift origin



On Wed, May 4, 2016 at 8:30 AM, ABDALA Olga <Olga ABDALA solucom fr> wrote:

Hello Erik,


Thank you for your inputs.

However, while trying to update the label for my Nodes, here is what I get: 



labels are single key/value pairs. You are trying to add an additional zone label without specifying --overwrite. You cannot have multiple values for the same key. 


Same thing if I try to update my pods’ labels.


Changing a pod label is not what you want to do. You want to change the pod nodeselector.

Ø  Yes I guess that is what I will have to change


For the NodeSelector, where can I find the pod configuration file, for me to specify the Node,  please?

Is it in the master-config.yaml file?


master-config.yaml is the master configuration, not a "pod configuration". "pod configuration" is kind of a strange statement. You probably mean "pod definition".

Ø  By « pod definition », do you mean the pod yaml file?


We'll ignore nodeselector and master-config because while it's a thing, it won't do what you want. If you're interested, docs here: https://docs.openshift.org/latest/admin_guide/managing_projects.html#setting-the-cluster-wide-default-node-selector.

Ø  After checking the docs, My question is : if the defaultNodeSelector in the master config file is set for a specific region, does that mean that pods will never be placed on the Nodes of that specific region?


What you want to change is the pod nodeselector. I linked to the docs:


Ø  Just to make sure ; by setting a value to the « nodeSelector », will that put my pod to the specified Node?


I don't know how you created your pods, so how you change/add nodeselector depends.

Ø  Actualy, I did not really ‘create’ the pods. What I did is, after creating a project and adding my application to the project, 1 pod was automatically created. From there, I simply increased the number of pods (from the web console) to as many as I wanted.

Ø  By the way, I wanted to set something clear in my head regarding the pods. Does the number of pods mean the number of the application’s ‘versions’?  


Since you have builds, I am guessing that you used something like "new-app". new-app will have created a deploymentconfig. You would want to edit the deploymentconfig, find the pod template, and then add the nodeselector as shown in the docs above.



Thank you!




De : Erik Jacobs [mailto:ejacobs redhat com]
Envoyé : mardi 3 mai 2016 16:57
Cc : dev lists openshift redhat com
Objet : Re: Three-tier application deployment on OpenShift origin


Hi Olga,


Some responses inline/


Erik M Jacobs, RHCA

Principal Technical Marketing Manager, OpenShift Enterprise

Red Hat, Inc.

Phone: 646.462.3745

AOL Instant Messenger: ejacobsatredhat

Twitter: @ErikonOpen

Freenode: thoraxe


On Mon, Apr 25, 2016 at 9:34 AM, ABDALA Olga <Olga ABDALA solucom fr> wrote:

Hello all,


I am done with my origin advanced installation (thanks to your useful help) which architecture is composed of 4 virtualized servers (on the same network):

-       1  Master

-       2 Nodes

-       1 VM hosting Ansible


My next steps are to implement/test some use cases with a three-tier App(each App’s tier being hosted on a different VM):

-       The horizontal scalability;

-       The load-balancing of the Nodes : Keep the system running even if one of the VMs goes down;

-       App’s monitoring using Origin API: Allow the Origin API to “tell” the App on which VM is hosted each tier. (I still don’t know how to test that though…)


There are some notions that are still not clear to me:

-       From my web console, how can I know on which Node has my App been deployed?


If you look in the Browse -> Pods -> select a pod, you should see the node where the pod is running.


-       How can I put each component of my App on a separated Node?

-       How does the “zones” concept in origin work?


These two are closely related.


1) In your case it sounds like you would want a zone for each tier: appserver, web server, db

2) This would require a node with a label of, for example, zone=appserver

3) When you create your pod (or replication controller, or deployment config) you would want to specify, via a nodeselector, which zone you want the pod(s) to land in


This stuff is scattered throughout the docs:



I hope this helps.



Content of /etc/ansible/hosts of my Ansible hosting VM:



# host group for nodes, includes region info


sv5305.selfdeploy.loc openshift_node_labels="{'region': 'infra', 'zone': 'default'}" openshift_schedulable=false

sv5306.selfdeploy.loc openshift_node_labels="{'region': 'primary', 'zone': 'east'}"

sv5307.selfdeploy.loc openshift_node_labels="{'region': 'primary', 'zone': 'west'}"


Thank you in advance.






dev mailing list
dev lists openshift redhat com



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]