Get started with installing a TAP multicluster - Build Cluster

The Concept of Profiles in Clusters

Profiles in clusters constitute an essential aspect of the multicluster topology of the Tanzu Application Platform. Each profile is designed to address a specific stage in the application lifecycle, optimizing resources and services to meet the unique requirements of that environment.

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

  • View
  • Build
  • Run
  • Iterate

Incorporating each profile within the multicluster topology of the Tanzu Application Platform provides a holistic strategy for managing all stages of the application lifecycle, offering 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.)
  • Profile Assignment: Assign Run, Build, and View profiles to each cluster based on their characteristics and goals.
    See previous blog - View Cluster
    See next blog - Run Cluster
    See current blog - Build Cluster

Install the build cluster

Build Profile: Optimizing the Development Process

The Build profile focuses on optimizing the development process, enabling the automation of build, test, and deployment workflows.

Key Features:

  • Process Automation: Clusters with the Build profile are configured to execute build, test, and deployment processes automatically and in a repeatable manner.
  • Continuous Integration and Continuous Delivery (CI/CD): This profile provides tools and services to implement CI/CD practices, accelerating the application release cycle.
  • Release Optimization: Reduction of release times through automated and optimized workflows.


ceip_policy_disclosed: true # Installation fails if this is not set to true. Not a string.
 
shared:
  ingress_domain: "tap.desotech.local"
  image_registry:
    project_path: "r.deso.tech/tap-project/buildservice" # To be used by Build Service by appending "/buildservice" and used by Supply chain by appending "/workloads".
    secret:
      name: "registry-credentials"
      namespace: "tap-install"
  ca_cert_data: | # To be passed if using custom certificates.
      -----BEGIN CERTIFICATE-----
      MIIDQzCCAiugAwIBAgIQGETH50HYncr8zeJNrOF/pTANBgkqhkiG9w0BAQsFADAf
      GTWXo093CHyKZ4UG7dtLMWk3HB1PhN1Y7DOcDC9BUaNiVl4K5Zw4j6YM6H53UXnV
      -----END CERTIFICATE-----
 
# The above shared keys can be overridden in the below section.
 
buildservice:
# Takes the value from the shared section by default, but can be overridden by setting a different value.
  kp_default_repository: "registry.deso.tech/tap-project/buildservice"
  kp_default_repository_secret:
    name: "registry-credentials"
    namespace: "tap-install"
supply_chain: testing_scanning
ootb_supply_chain_testing_scanning: # Optional if the corresponding shared keys are provided.
  registry:
    server: " registry.deso.tech"
    repository: "tap-project/supply-chain"
  gitops:
    server_address: https://github.com/
    repository_owner: evangelistatragni
    repository_name: tap-config
    branch: main
    ssh_secret: "XXXXXXXXXXXXXXXXXXXX”
    commit_strategy: pull_request
    pull_request:
      server_kind: github
      commit_branch: ""
      pull_request_title: ready for review and promotion to collaudo environment
      pull_request_body: generated by build cluster
  cluster_builder: default
  service_account: default
grype:
  namespace: "grype" # (Optional) Defaults to default namespace.
  targetImagePullSecret: "registry-credentials"
  metadataStore:
    url: https://metadata-store.tap.desotech.local
    caSecret:
        name: store-ca-cert
        importFromNamespace: metadata-store-secrets
    authSecret:
        name: store-auth-token
        importFromNamespace: metadata-store-secrets
scanning:
  metadataStore:
    url: "" # Configuration is moved, so set this string to empty.


Vediamo come installare il profile di Build:



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



Command Syntax:

  • tanzu package install: This is the start of the command indicating the intention to install a package.
  • tap: This is the abbreviated name of the package you want to install, in our case, the Tanzu Application Platform.
  • -p tap.tanzu.vmware.com: Specifies the package repository from which the Tanzu Application Platform will be installed.
  • -v 1.5.1: Indicates the specific version of the package to install, in this case, version 1.5.1.
  • --values-file tap-values-build.yaml: This flag allows specifying a YAML file containing desired configuration values for the installation.
  • -n tap-install: Sets the namespace in which the package will be installed, in this case, "tap-install."
Ensure that all packages are successfully reconciled


tanzu package installed list -n tap-install
 
  NAME                                PACKAGE-NAME                                         PACKAGE-VERSION  STATUS
  appliveview-conventions             conventions.appliveview.tanzu.vmware.com             1.3.1            Reconcile succeeded
  buildservice                        buildservice.tanzu.vmware.com                        1.7.4            Reconcile succeeded
  cartographer                        cartographer.tanzu.vmware.com                        0.5.4            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
  conventions-controller              controller.conventions.apps.tanzu.vmware.com         0.7.1            Reconcile succeeded
  fluxcd-source-controller            fluxcd.source.controller.tanzu.vmware.com            0.27.0+tap.1     Reconcile succeeded
  grype                               grype.scanning.apps.tanzu.vmware.com                 1.3.1            Reconcile succeeded
  ootb-supply-chain-testing-scanning  ootb-supply-chain-testing-scanning.tanzu.vmware.com  0.10.5           Reconcile succeeded
  ootb-templates                      ootb-templates.tanzu.vmware.com                      0.10.5           Reconcile succeeded
  scanning                            scanning.apps.tanzu.vmware.com                       1.3.1            Reconcile succeeded
  source-controller                   controller.source.apps.tanzu.vmware.com              0.5.1            Reconcile succeeded
  spring-boot-conventions             spring-boot-conventions.tanzu.vmware.com             0.5.0            Reconcile succeeded
  tap                                 tap.tanzu.vmware.com                                 1.5.1            Reconcile succeeded
  tap-auth                            tap-auth.tanzu.vmware.com                            1.1.0            Reconcile succeeded
  tap-telemetry                       tap-telemetry.tanzu.vmware.com                       0.3.2            Reconcile succeeded
  tekton-pipelines                    tekton.tanzu.vmware.com                              0.39.0+tap.2     Reconcile succeeded



Once the packages are successfully reconciled, proceed to the next step.

Commenti

Post popolari in questo blog

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

Get started with installing a TAP multicluster - View Cluster

Tanzu Application Platform (TAP) Wonders