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
Posta un commento