Review the Arcadia Finance Micro-Services-Based App Deployment

In this section, we’ll review the Arcadia Finance application and then NGINX Plus Ingress Controller with App Protect deployment in Kubernetes.

To visualize the application deployment, we’ve setup an open source utility named Argo Continuous Deployment, or Argo CD for short.

Argo CD is a Kubernetes-native continuous deployment (CD) tool. Unlike external CD tools that only enable push-based deployments, Argo CD can pull updated code from Git repositories and deploy it directly to Kubernetes resources. It enables developers to manage both infrastructure configuration and application updates in one system.

Argo CD offers the following key features and capabilities:
  • Manual or automatic deployment of applications to a Kubernetes cluster.
  • Automatic synchronization of application state to the current version of declarative configuration.
  • Web user interface and command-line interface (CLI).
  • Ability to visualize deployment issues, detect and remediate configuration drift.
  • Role-based access control (RBAC) enabling multi-cluster management.
  • Single sign-on (SSO) with providers such as GitLab, GitHub, Microsoft, OAuth2, OIDC, LinkedIn, LDAP, and SAML 2.0
  • Support for webhooks triggering actions in GitLab, GitHub, and BitBucket.
  1. To get started, open Firefox on the jump host RDP session.
  2. Click on the Argo CD bookmark or navigate to https://argocd.appworld.lab:30008/login.
../../../_images/argo_bookmark.png
  1. Log into Argo using the lab / AppWorld2024! credentials.
../../../_images/argo_login.png
  1. When Argo loads, you will see tiles that contain applications that are deployed in Kubernetes. Click on the Arcadia app tile.
../../../_images/argocd_application_tiles.png
  1. The Arcadia app consists of several containerized micro-services.

In the Application Tree, which is the default tab in the application view, you can see the individual containers and the components that make up the service.

../../../_images/arcadia_application_tree.png
  1. Click on the Pods icon:
../../../_images/pods_icon.png

Here you can see the Kubernetes pods that are running the Arcadia Finance containers.

../../../_images/arcadia_application_pods.png
  1. Finally, click on the Network icon:
../../../_images/network_icon.png

This screen shows how traffic flows to the containers running the micro-services.

../../../_images/arcadia_application_network.png
  1. Now that you seen the power of Argo CD, lets review the manifest files for the infrastructure side of the lab. Under Applications look for the nginx-plus-ingress tile.
../../../_images/ic-app.png
  1. On the top right, click on the List icon:
../../../_images/list.png

This list shows all the configuration parts that make the ingress controller work.

../../../_images/ic-list.png
  1. Scroll to the bottom of the page to expand the items per page to 15 and take note of the Custom Resource Definitions (CRDs) installed with NGINX Plus Ingress.
../../../_images/ic-expand-crd.png

These CRDs power VirtualServer, VirtualServerRoute, TransportServer, and Policies.