Deploy

Deploying our new applications uses the same commands as before. We'll use puppet app show to provide a list of nodes with ordering. You'll see that our single DB produces a database; each webapp uses that database and produces an HTTP service resource, which is finally consumed by each load balancer:

[root@pe-puppet-master manifests]# puppet app show
Myapp[myapp]
Myapp::Db[myapp] => mysql
+ produces Database[db-myapp]
Myapp::Web[myapp-1] => appserver
+ produces Http[web-myapp-1]
consumes Database[db-myapp]
Myapp::Web[myapp-2] => appserver2
+ produces Http[web-myapp-2]
consumes Database[db-myapp]
Myapp::Lb[myapp-1] => haproxy
consumes Http[web-myapp-1]
consumes Http[web-myapp-2]
Myapp::Lb[myapp-2] => haproxy2
consumes Http[web-myapp-1]
consumes Http[web-myapp-2]

Before we launch our application, we can run a puppet job plan to get an idea of what ordering will look like during our run:

[root@pe-puppet-master manifests]# puppet job plan --application Myapp --environment production

+-------------------+------------+
| Environment | production |
| Target | Myapp |
| Concurrency Limit | None |
| Nodes | 5 |
+-------------------+------------+

Application instances: 1
- Myapp[myapp]

Node run order (nodes in level 0 run before their dependent nodes in level 1, etc.):
0 -----------------------------------------------------------------------
mysql
Myapp[myapp] - Myapp::Db[myapp]

1 -----------------------------------------------------------------------
wordpress
Myapp[myapp] - Myapp::Web[myapp-1]
wordpress2
Myapp[myapp] - Myapp::Web[myapp-2]

2 -----------------------------------------------------------------------
haproxy
Myapp[myapp] - Myapp::Lb[myapp-1]
haproxy2
Myapp[myapp] - Myapp::Lb[myapp-2]

Use `puppet job run --application 'Myapp' --environment production` to create and run a job like this

Finally, we run our application and see MySQL configured first, then our wordpress instances, followed by the load balancers. Thanks to the service resources provided by puppetlabs/app_modeling, we also know that our database is actively seen before the wordpress servers, and that our wordpress servers are producing 302 status codes prior to the load balancers being configured:

[root@pe-puppet-master production]# puppet job run --application Myapp --environment production --verbose
Starting deployment ...

+-------------------+------------+
| Job ID | 42 |
| Environment | production |
| Target | Myapp |
| Concurrency Limit | None |
| Nodes | 5 |
+-------------------+------------+

Application instances: 1
- Myapp[myapp]

Node run order (nodes in level 0 run before their dependent nodes in level 1, etc.):
0 -----------------------------------------------------------------------
mysql
Myapp[myapp] - Myapp::Db[myapp]

1 -----------------------------------------------------------------------
wordpress
Myapp[myapp] - Myapp::Web[myapp-1]
wordpress-2
Myapp[myapp] - Myapp::Web[myapp-2]

2 -----------------------------------------------------------------------
haproxy
Myapp[myapp] - Myapp::Lb[myapp-1]
haproxy-2
Myapp[myapp] - Myapp::Lb[myapp-2]

New job created: 42
Started puppet run on mysql ...
Finished puppet run on mysql - Success!
Resource events: 0 failed 9 changed 27 unchanged 0 skipped 0 noop
Report: https://pe-puppet-master/#/run/jobs/42/nodes/mysql/report
Started puppet run on wordpress-2 ...
Started puppet run on wordpress ...
Finished puppet run on wordpress-2 - Success!
Resource events: 0 failed 81 changed 66 unchanged 0 skipped 0 noop
Report: https://pe-puppet-master/#/run/jobs/42/nodes/wordpress-2/report
Finished puppet run on wordpress - Success!
Resource events: 0 failed 81 changed 66 unchanged 0 skipped 0 noop
Report: https://pe-puppet-master/#/run/jobs/42/nodes/wordpress/report
Started puppet run on haproxy-2 ...
Started puppet run on haproxy ...
Finished puppet run on haproxy - Success!
Resource events: 0 failed 4 changed 30 unchanged 0 skipped 0 noop
Report: https://pe-puppet-master/#/run/jobs/42/nodes/haproxy/report
Finished puppet run on haproxy-2 - Success!
Resource events: 0 failed 4 changed 30 unchanged 0 skipped 0 noop
Report: https://pe-puppet-master/#/run/jobs/42/nodes/haproxy-2/report

Success! 5/5 runs succeeded.
Duration: 58 sec

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.135.196.172