Do you think IIT Guwahati certified course can help you in your career?
No
Introduction
Hello Ninja, we all know that before starting to work with an Application Manager, it is a must that we install them. There are many parts of our applications or application managers that might need to be set up. In this article, let us learn about Installing Puppet Application Manager.
Puppet Application Manager
Puppet Application Manager is a management console that lets us access, install, and manage our Puppet applications. It is also the location where we may access upgrades to new Puppet programme releases. Puppet Application Manager (PAM) is a Kubernetes-based application. PAMUI is available in the Puppet Application Manager. It includes administration features that allow us to access and control our Puppet applications.
Install Puppet Applications using PAM on a Customer Supported Kubernetes Cluster
We have to follow the instructions below to install the Puppet Application Manager. We can also follow them if we already have any Puppet Applications on a Kubernetes cluster.
The installation might take a while to finish. However, the process is hands-off primarily and does not need much intervention. Now let us see the steps.
1. First, we have to install the KOTS plugin on a workstation. This plugin is actually called as Kubernetes off-the-shelf software plugin. We must make sure that the workstation has kubectl access to the cluster.
We should also make sure that our kubectl configuration has enough privileges to make cluster-level permissions and roles.
We can do this installation with the following command
curl https://kots.io/install | bash
2. If we are looking forward to an offline installation, We must make sure that the needed images are there in the local registry.
a. Using the following command, download the release assets that relate to the CLI version:
curl -LO https://github.com/replicatedhq/kots/releases/download/v$(kubectl kots version | head -n1 | cut -d' ' -f3)/kotsadm.tar.gz
b. We will now have to extract and push the images into a private registry.
The Registry credentials that are given in this step must have push access. The credentials do not get stored or get reused later.
c. Now, we install the Puppet Application manager. It will be done using images that we pushed in the last step. The Registry credentials that are given in this step just need to have read access. They get kept in the current namespace as a Kubernetes secret. The images are pulled using these credentials.
d. We can use commands that are similar for uploading images from the application bundle to our registry. This is to continue using read-only access when pulling the images. The same registry namespace ("puppet-application-manager") gets used to pull application images.
3. If we want to have an online installation of Puppet Application Manager on our cluster, we would have to run the following commands. This again has to be done from a workstation with kubectl access to the cluster.kubectl kots install puppet-application-manager --namespace <target namespace>
4. Now we go to our localhost link. Presumably, "http://localhost:8800" and follow the prompts. We will get guided through the license uploading process for the application. Along with that, configuring a local registry if we are going for offline installations. The guiding process will ensure that our setup meets the system requirements and the application configuration.
PAM HA Online Installation
The PAM or Puppet Application Manager installation process makes a Kubernetes cluster. It guides us through the installation of our Puppet application on the cluster.
Because of the installation process, we get a Puppet Application Manager instance. It is configured for high availability. This installation process also may take a few minutes to complete.
1. We will install a load balancer and configure it. We can even install two if we want to segment the internal and external traffic. In this, the Round-robin load balancing is enough. However, we will need A network (L4, TCP) load balancer for port 6443 across primary nodes.
A network (L4, TCP) or application (L7, HTTP/S) load balancer for ports 80 and 443 across all primaries and secondaries. For an HA cluster.
2. Now, we will run the installation script. We will do this by going to the command line of our first primary node. We will run the following script:
a. We will get asked to enter a load balancer address. Here we will put the address of the DNS entry of our load balancer.
b. We will see the address and password for Puppet Application Manager now printed by the installation script. We must be aware to note it down. Because this only gets shown once.
c. When the installation script is completed, we will run "bash -l" and reload the shell.
3. We will add two more primary nodes by following the instructions that are there in the install script:
By running the following script on the other nodes, we will add MASTER nodes to the installation.
If we want our SELinux to stay active, we will add the -s preserve-selinux-configswitch at the end of the install command.
4. Now, we will add two new nodes to our load balancer.
5. Now, we will go to the Puppet Application Manager (PAM) UI. We can do this by using the address that we got from the installation script. There we will go along the prompts. PAM UI is the place where we can manage our Puppet applications. Now we will get guided through some processes. These include uploading a license and setting up SSL certificates. We will also get guided to ensure that our setup meets the application system requirements.
PAM HA Offline Installation
We will use the following steps to install PAM. It will be done in an offline environment. What is different about this is the PAM host server does not have direct internet access in this case. The installation will give a PAM instance which is configured for optional high availability.
1. The first step here again would be installing and configuring a load balancer. It is similar to the online installation process.
2. As we are doing the installation offline, we have to download the cluster installation bundle. We will download the bundle from a workstation having internet access. We should also take note that the bundle is approximately 4GB in size. We can do it by going to the following link.
3. Once downloaded, we will copy the bundle to our primary and secondary nodes. Then we will unpack it.
4. After this, we will run the installation command as follows:
cat install.sh | sudo bash -s airgap
a. We will get asked to enter a load balancer address. Here we will put the address of the DNS entry of our load balancer.
b. We will see the address and password for Puppet Application Manager now printed by the installation script. We must be aware to note it down. Because this only gets shown once.
5. We will add up two more primary nodes to the offline installation. We will do this by using the instructions we get from the install script.
6. Now, we will add two new nodes to our load balancer.
7. Similar to the online process, Now, we will go to the Puppet Application Manager (PAM) UI. We can do this by using the address we got from the installation script. There we will go along the prompts we get.
Frequently Asked Questions
Does the size of the organisation make a difference in using Puppet?
Organisations with more servers may profit highly from Puppet by avoiding different activities needing manual management. Organisations with a small number of servers, on the other hand, would benefit little from Puppet. Smaller enterprises may manage their servers without utilising Puppet and any major differences.
What is the codedir in Puppet?
Puppet's codedir is the primary location for puppet data and code. The codedir stores "manifests" and "modules" in environments. Hiera data and a global modules directory can also be found here.
What is Hiera in Puppet?
Hiera is a key-value lookup that is suitable for separating data from Puppet code. Puppet's in-built key-value configuration data lookup apparatus is Hiera. Hiera is useful for storing key-value pairs of configuration data. It is also useful for determining the data required by a specific module for a given node.
Conclusion
In the article, we read about Installing Puppet applications using Puppet Application Manager on a customer-supported Kubernetes cluster. We also read about PAM HA online and offline installation. We also saw and went through the steps of installation in the article. Refer to our courses and explore Coding Ninjas Studio to find more exciting stuff. You can also look into the interview experiences and solve different problems. Look into our Guided paths, test series, libraries and resources to know more.