Get started with installing a TAP multicluster - View Cluster

 In the realm of accelerated innovation, efficiency and resilience in application implementation have become crucial. VMware's Tanzu Application Platform stands out for its ability to simplify the application lifecycle and enable a more dynamic approach to development and management.

In this article, we will explore how to fully leverage the potential of the Tanzu Application Platform through multi-cluster installation with the Run, Iterate, View, and Build profiles, uncovering the distinct advantages of each.

The Concept of Profiles in Clusters

Profiles in clusters represent an essential aspect of the Tanzu Application Platform's multi-cluster topology. Each profile is designed to address a specific stage in the application lifecycle, optimizing resources and services to meet the unique needs of that environment.

The installation order is flexible due to the ability to update the installation with a modified values file using the tanzu package install update command. For this demo, I will install TAP in the following order:

  • View
  • Build
  • Run
  • Iterate

Incorporating each profile within the Tanzu Application Platform's multi-cluster topology provides a holistic strategy for managing all stages of the application lifecycle, providing the necessary resources and tools to optimize the development and deployment process.

Multi-Cluster Implementation with Profiles

  • Environment Preparation: Create Kubernetes clusters for each profile, configuring them with appropriate resources and services. (Refer to the previous blog on Tanzu Application Platform (TAP) - Overview for details.)
  • Tanzu Application Platform Installation: Use tools like Tanzu CLI to install the platform on each cluster.
  • See previous blog - View Cluster
    See next blog - Run Cluster
    See current blog - Build Cluster
  • Profile Assignment: Assign Run, Iterate, Build, and View profiles to each cluster based on their characteristics and goals.
  • Application Deployment: Deploy applications to the clusters corresponding to their profiles. For example, production applications go into the cluster with the Run profile.
  • Management and Optimization: Monitor and optimize clusters based on the needs and changes in the application lifecycle.

Installing View Clusters

This profile was introduced to address specific needs related to data and application visualization and access. The View profile offers a simplified interface for accessing resources, allowing users to view and interact with applications intuitively.

Key Features:

  • Intuitive Interface: This profile features a user-friendly interface that simplifies navigation and interaction with resources.
  • Simplified Access: Users can easily access the applications and data they need without dealing with complex technical details.
  • Enhanced User Experience: The View profile aims to improve the end-user experience, making access to resources simpler and more direct.




# Enter overlay values here in YAML format:
profile: view
ceip_policy_disclosed: true # Installation fails if this is not set to true. Not a string.
shared:
  ingress_domain: "tap.desotech.local"
  ca_cert_data: | # To be passed if using custom certificates.
      -----BEGIN CERTIFICATE-----
      MIIDQzCCAiugAwIBAgIQGETH50HYncr8zeJNrOF/pTANBgkqhkiG9w0BAQsFADAf
      GTWXo093CHyKZ4UG7dtLMWk3HB1PhN1Y7DOcDC9BUaNiVl4K5Zw4j6YM6H53UXnV
      yZWUdoXMhamVNL0bhE1CGQCY5yZA6BE=
      -----END CERTIFICATE-----
contour:
  envoy:
    service:
      type: LoadBalancer # NodePort can be used if your Kubernetes cluster doesn't support LoadBalancing.
tap_gui:
  service_type: ClusterIP # NodePort for distributions that don't support LoadBalancer
  ingressEnabled: "true"
  ingressDomain: "tap.desotech.local"  ## Domain to be changed
  metadataStoreAutoconfiguration: true
  app_config:
    app:
      baseUrl: http://tap-gui.tap.desotech.local 
    catalog:
      locations:
        - type: url
          target: https://github.com/desotech-it/tap-catalog/blob/master/catalog-info.yaml
    backend:
      baseUrl: http://tap-gui.tap.desotech.local   ## Domain to be changed
      cors:
        origin: http://tap-gui.tap.desotech.local   ## Domain to be changed
    kubernetes:
      serviceLocatorMethod:
        type: 'multiTenant'
      clusterLocatorMethods:
        - type: 'config'
          clusters:
            - url: https://172.16.XX.XX:6443
              name: Build-cluster # Build profile cluster can go here.
              authProvider: serviceAccount
              serviceAccountToken: eyJhbGciOiJSUzI1NiIsIm [………] tpZCI6I
              skipTLSVerify: true
              skipMetricsLookup: true
            - url: https://172.16.XX.XX:6443
              name: run-cluster # Run profile cluster can go here.
              authProvider: serviceAccount
              serviceAccountToken: eyJhbGciOiJSUzI1NiIsI [………] mtpZCI6I
              skipTLSVerify: true
              skipMetricsLookup: true
            - url: https://172.16.XX.XXX:6443
              name: iterate-cluster # iterate profile cluster can go here.
              authProvider: serviceAccount
              serviceAccountToken: eyJhbGciOiJSUzI1NiIsImtp [………] ZCI6I
              skipTLSVerify: true
              skipMetricsLookup: true
appliveview:
  ingressEnabled: true
  sslDisabled: true
  ingressDomain: tap.desotech.local 



Once you have updated the tap-values file with your values, including domain name, token, IP, etc., proceed with the installation of TAP in the VIEW Cluster.

The $ tanzu package install command is a valuable ally for simplifying the installation of packages within the Tanzu ecosystem. This command is particularly useful for installing the Tanzu Application Platform and other related packages.

Let's go through a practical example to install the first View profile


tanzu package install tap -p tap.tanzu.vmware.com -v 1.5.1 \
--values-file tap-values-view.yaml -n tap-install


Command Syntax:

  • tanzu package install: Initiates the package installation command within the context of the Tanzu Application Platform.
  • tap: Specifies the abbreviated name of the package to be installed, which in our case is the Tanzu Application Platform.
  • -p tap.tanzu.vmware.com: Indicates the package repository from which the installation will be performed.
  • -v 1.5.1: Specifies the specific version of the package to be installed (1.5.1).
  • --values-file tap-values-view.yaml: Uses the YAML file "tap-values-view.yaml" to provide specific configuration values during the installation.
  • -n tap-install: Specifies the namespace in which the package will be installed, namely "tap-install."

Verify that all packages are successfully reconciled:



  tanzu package installed list -n tap-install

  NAME                      PACKAGE-NAME                               PACKAGE-VERSION  STATUS
  accelerator               accelerator.apps.tanzu.vmware.com          1.3.2            Reconcile succeeded
  api-portal                api-portal.tanzu.vmware.com                1.2.5            Reconcile succeeded
  appliveview               backend.appliveview.tanzu.vmware.com       1.3.1            Reconcile succeeded
  cert-manager              cert-manager.tanzu.vmware.com              1.7.2+tap.1      Reconcile succeeded
  contour                   contour.tanzu.vmware.com                   1.22.0+tap.5     Reconcile succeeded
  fluxcd-source-controller  fluxcd.source.controller.tanzu.vmware.com  0.27.0+tap.1     Reconcile succeeded
  learningcenter            learningcenter.tanzu.vmware.com            0.2.4            Reconcile succeeded
  learningcenter-workshops  workshops.learningcenter.tanzu.vmware.com  0.2.3            Reconcile succeeded
  metadata-store            metadata-store.apps.tanzu.vmware.com       1.5.1            Reconcile succeeded
  source-controller         controller.source.apps.tanzu.vmware.com    0.5.1            Reconcile succeeded
  tap                       tap.tanzu.vmware.com                       1.5.1            Reconcile succeeded
  tap-gui                   tap-gui.tanzu.vmware.com                   1.3.5            Reconcile succeeded
  tap-telemetry             tap-telemetry.tanzu.vmware.com             0.3.2            Reconcile succeeded 

Once the packages have been successfully reconciled, create a set of records in the DNS that point the IP (which can be retrieved using the following command) to the hostname as defined in tap-values-view.yaml. In this case, I have used "tap-gui.tap.desotech.local."


Next step .... Build Cluster!

Commenti

Post popolari in questo blog

The Great Knowledge Gap: Are We Swapping Expertise for "Received Wisdom"?

Tanzu Application Platform (TAP) Wonders