This track covers the fundamentals of punch deployment (with associated actions to conduct when using Punchbox tool as a quick-start infrastructure and configuration resources package)
Deployment of infrastructure prerequisites (including some system or custom solution setup INSIDE the production server Operating system) is not automated by Punch
There are many choices of what you want to deploy with the punch deployer and where (depending on the solution needs), and this requires solution engineering
Following a central deployment file prepared by the platform or solutionintegrator, the punch deployer tool installs the desired components of the punch framework on the target servers, and configures systemd so that the punch framework services are automatically running, clustered and interconnected.
After deploying the framework, channels configuration must be imported or created, to supply business-level pipelines, applications, dashboards, rules. This can happen both at deployment time (if the configuration has been prepared by the integrator beforehand), or enriched later by bringing additional or updated configuration channels and (re)starting the impacted channels.
In the deployment process, which steps must be done by the operator before executing deployment ?
- ensure the deployment machine has the local prerequisites installed
- ensure he has a remote sudoer account usable for remote-access from the deployment machine
- ensure that all the target prerequisites are deployed on the platform (NTP, DNS and interfaces resolution, disk space, firewalling rules, disks partitioning, standard packages repository available ...)
- get the deployer package and unzip it on the deployment machine
- configure deployer account environment variable to point at configuration (PUNCHPLATFORM_CONF_DIR) and deployer bin path.
- import factory-prepared or create locally the deployment files (punchplatform-deployment.settings and resolv.hjson)
Refer to the Deployer Getting Started to have a quick introduction of punchbox tool
Which stages of the deployment procedure are managed by the punchbox tool for the operator in order to speed up and simplify the procedure ?
Exercise: deploy your platform (with punchbox quickstarter)¶
In this exercise, we will deploy a Punch with the punchbox tool using Vagrant in order to create target VMs locally. Consequently, you must have at least 32GB of RAM on your computer in order to be able to perform the exercise without any problem. You must also have a deployment archive on your laptop. Finally you must have an internet access to do all this, to download the VMs images and dependencies.
Note that for actual production deployment, the internet access is not required, as the needed packages are provided either as part of the punch deployer archive, or by the standard packages repositories mirror that the platform must provide.
Without Vagrant, or even without the punchbox
If you do not want to use Vagrant to create your target VMs, you can still use the punchbox to generate an example configuration and ready-to-use deployment environment.
If you do not want/cannot use the punchbox, than you can do without. But then you are doing a "normal" deployment without any shorcuts
Although we advise use of punchbox for a first time deployment (or for later fast deployment of test environments on a single PC), the following exercise provide some 'Hints' about what to do without the punchbox help