PAM HA online installation
The Puppet Application Manager (PAM) installation process creates a Kubernetes cluster for you and walks you through installing your Puppet application on the cluster.
- Review the Puppet Application Manager system requirements.
- Note that Swap is not supported for use with this version of Puppet Application Manager (PAM). The installation script attempts to disable Swap if it is enabled.
- (Optional) If necessary, prepare additional steps
related to SELinux and Firewalld:
The PAM installation script disables SELinux and Firewalld by default. If you want to keep SELinux enabled, append the
-s preserve-selinux-config
switch to the PAM install command. This may require additional configuration to adapt SELinux policy to the installation.If you want to keep Firewalld enabled:
-
Make sure Firewalld is installed on your system.
-
To prevent the installation from disabling Firewalld, provide a patch file to the PAM install command using
-s installer-spec-file=patch.yaml
, wherepatch.yaml
is the name of your patch file. For reference, here's an example patch file that enables Firewalld during installation, starts the service if it isn't running, and adds rules to open relevant ports:apiVersion: cluster.kurl.sh/v1beta1 kind: Installer metadata: name: patch spec: firewalldConfig: firewalld: enabled command: ["/bin/bash", "-c"] args: ["echo 'net.ipv4.ip_forward = 1' | tee -a /etc/sysctl.conf && sysctl -p"] firewalldCmds: - ["--permanent", "--zone=trusted", "--add-interface=flannel.1"] - ["--zone=external", "--add-masquerade"] # SSH port - ["--permanent", "--zone=public", "--add-port=22/tcp"] # HTTPS port - ["--permanent", "--zone=public", "--add-port=443/tcp"] # Kubernetes etcd port - ["--permanent", "--zone=public", "--add-port=2379-2830/tcp"] # Kubernetes API port - ["--permanent", "--zone=public", "--add-port=6443/tcp"] # Flannel Net port - ["--permanent", "--zone=public", "--add-port=8472/udp"] # CD4PE Webhook callback port (uncomment line below if needed) # - ["--permanent", "--zone=public", "--add-port=8000/tcp"] # KOTS UI port - ["--permanent", "--zone=public", "--add-port=8800/tcp"] # CD4PE Local registry port (offline only, uncomment line below if needed) # - ["--permanent", "--zone=public", "--add-port=9001/tcp"] # Kubernetes component ports (kubelet, kube-scheduler, kube-controller) - ["--permanent", "--zone=public", "--add-port=10250-10252/tcp"] # Reload firewall rules - ["--reload"] bypassFirewalldWarning: true disableFirewalld: false hardFailOnFirewalld: false preserveConfig: false
-
-
Ensure that IP address ranges
10.96.0.0/22
and10.32.0.0/22
are locally accessible. See Resolve IP address range conflicts for instructions.Note: The minimum size for CIDR blocks used by Puppet Application Manager are:- Standalone - /24 for pod and service CIDRs
- HA - /23 for pod and service CIDRs
- Default of /22 is recommended to support future expansion
- If you are setting up Puppet Application Manager behind a proxy server, the installer supports proxies configured via
HTTP_PROXY
/HTTPS_PROXY
/NO_PROXY
environment variables.Restriction: Using a proxy to connect to external version control systems is currently not supported. - Set all nodes used in your HA implementation to the UTC timezone.
-
If you use the
puppetlabs/firewall
module to manage your cluster's firewall rules with Puppet, be advised that purging unknown rules from changes breaks Kubernetes communication. To avoid this, apply thepuppetlabs/pam_firewall
module before installing Puppet Application Manager.
For more context about HA components and structure, refer to the HA architecture section of the Architecture overview.
Follow the instructions for configuring and deploying your Puppet applications on Puppet Application Manager. For more information, see Install applications via the PAM UI.
For more information on installing Continuous Delivery for PE online, see Install Continuous Delivery for PE.
For more information on installing Comply online, see Install Comply online.