Skip to content

Latest commit

 

History

History
540 lines (478 loc) · 16.5 KB

install.md

File metadata and controls

540 lines (478 loc) · 16.5 KB

Installing Part II: Profiles

This document describes how to install Tanzu Application Platform packages from the Tanzu Application Platform package repository.

Before you install the packages, ensure that you have completed the prerequisites, configured and verified the cluster, accepted the EULA, and installed the Tanzu CLI with any required plugins. For information, see Installing Part I: Prerequisites, EULA, and CLI.

Add the Tanzu Application Platform Package Repository

To add the Tanzu Application Platform package repository:

  1. Create a namespace called tap-install for deploying the packages of the components by running:

    kubectl create ns tap-install

    This namespace is to keep the objects grouped together logically.

  2. Create a registry secret:

    tanzu secret registry add tap-registry \
      --username "TANZU-NET-USER" --password "TANZU-NET-PASSWORD" \
      --server registry.tanzu.vmware.com \
      --export-to-all-namespaces --yes --namespace tap-install

    Where TANZU-NET-USER and TANZU-NET-PASSWORD are your credentials for Tanzu Network.

  3. Add Tanzu Application Platform package repository to the cluster by running:

    tanzu package repository add tanzu-tap-repository \
      --url registry.tanzu.vmware.com/tanzu-application-platform/tap-packages:0.3.0-build.5 \
      --namespace tap-install

    For example:

    $ tanzu package repository add tanzu-tap-repository \
        --url registry.tanzu.vmware.com/tanzu-application-platform/tap-packages:0.3.0-build.5 \
        --namespace tap-install
    \ Adding package repository 'tanzu-tap-repository'...
    
    Added package repository 'tanzu-tap-repository'
  4. Get the status of the Tanzu Application Platform package repository, and ensure the status updates to Reconcile succeeded by running:

    tanzu package repository get tanzu-tap-repository --namespace tap-install

    For example:

    $ tanzu package repository get tanzu-tap-repository --namespace tap-install
    - Retrieving repository tap...
    NAME:          tanzu-tap-repository
    VERSION:       48756
    REPOSITORY:    registry.tanzu.vmware.com/tanzu-application-platform/tap-packages:0.3.0-build.5
    STATUS:        Reconcile succeeded
    REASON:
  5. List the available packages by running:

    tanzu package available list --namespace tap-install

    For example:

    $ tanzu package available list --namespace tap-install
    / Retrieving available packages...
    accelerator.apps.tanzu.vmware.com                    Application Accelerator for VMware Tanzu                                  Used to create new projects and configurations.
    api-portal.tanzu.vmware.com                          API portal                                                                A unified user interface to enable search, discovery and try-out of API endpoints at ease.
    appliveview.tanzu.vmware.com                         Application Live View for VMware Tanzu                                    App for monitoring and troubleshooting running apps
    buildservice.tanzu.vmware.com                        Tanzu Build Service                                                       Tanzu Build Service enables the building and automation of containerized software workflows securely and at scale.
    cartographer.tanzu.vmware.com                        Cartographer                                                              Kubernetes native Supply Chain Choreographer.
    cnrs.tanzu.vmware.com                                Cloud Native Runtimes                                                     Cloud Native Runtimes is a serverless runtime based on Knative
    controller.conventions.apps.tanzu.vmware.com         Convention Service for VMware Tanzu                                       Convention Service enables app operators to consistently apply desired runtime configurations to fleets of workloads.
    controller.source.apps.tanzu.vmware.com              Tanzu Source Controller                                                   Tanzu Source Controller enables workload create/update from source code.
    developer-conventions.tanzu.vmware.com               Tanzu App Platform Developer Conventions                                  Developer Conventions
    grype.scanning.apps.tanzu.vmware.com                 Grype Scanner for Supply Chain Security Tools for VMware Tanzu - Scan     Default scan templates using Anchore Grype
    image-policy-webhook.signing.run.tanzu.vmware.com    Image Policy Webhook                                                      The Image Policy Webhook allows platform operators to define a policy that will use cosign to verify signatures of container images
    ootb-supply-chain-basic.tanzu.vmware.com             Tanzu App Platform Out of the Box Supply Chain Basic                      Out of the Box Supply Chain Basic
    ootb-supply-chain-testing.tanzu.vmware.com           Tanzu App Platform Out of the Box Supply Chain with Testing               Out of the Box Supply Chain with Testing
    ootb-supply-chain-testing-scanning.tanzu.vmware.com  Tanzu App Platform Out of the Box Supply Chain with Testing and Scanning  Out of the Box Supply Chain with Testing and Scanning
    ootb-templates.tanzu.vmware.com                      Tanzu App Platform Out of the Box Templates                               Out of the Box Templates  
    scanning.apps.tanzu.vmware.com                       Supply Chain Security Tools for VMware Tanzu - Scan                       Scan for vulnerabilities and enforce policies directly within Kubernetes native Supply Chains.
    scst-store.tanzu.vmware.com                          Tanzu Supply Chain Security Tools - Store                                 The Metadata Store enables saving and querying image, package, and vulnerability data.
    service-bindings.labs.vmware.com                     Service Bindings for Kubernetes                                           Service Bindings for Kubernetes implements the Service Binding Specification.
    services-toolkit.tanzu.vmware.com                    Services Toolkit                                                          The Services Toolkit enables the management, lifecycle, discoverability and connectivity of Service Resources (databases, message queues, DNS records, etc.).
    tap-gui.tanzu.vmware.com                             Tanzu Application Platform GUI                                            web app graphical user interface for Tanzu Application Platform
    tap.tanzu.vmware.com                                 Tanzu Application Platform                                                Package to install a set of Tanzu Application Platform components to get you started based on your use case.

About Tanzu Application Platform Package Profiles

Tanzu Application Platform can be installed through pre-defined profiles or through individual packages. This section explains how you can install a profile.

There are four profiles:

  • Full (full)
  • Developer Light (dev-light)
  • Shared Tools (shared-tools)
  • Operator Light (operator-light)

This table lists the packages that are contained in each profile:

Product Name Full Developer Light Shared Tools Operator Light
API Portal
Application Accelerator
App Live View
Cartographer
Cloud Native Runtime
Convention Controller
Out of the Box Supply Chain - Basic
Out of the Box Supply Chain - Testing
Out of the Box Supply Chain - Testing and Scanning
Out of the Box Templates
Developer Conventions
Flux Source Controller
Image Policy Webhook
Learning Center
Services Toolkit
Service Bindings
Source Controller
Spring Boot Convention
Tanzu Build Service
Tanzu Application Platform GUI
Tekton

Install a Tanzu Application Platform Profile

Installation of a profile happens via the tap.tanzu.vmware.com package. The tap.tanzu.vmware.com package installs predefined sets of packages based on the chosen profile setting.

To install a profile:

  1. List version information for the package by running:

    tanzu package available list tap.tanzu.vmware.com --namespace tap-install
  2. Create a tap-values.yml using the following sample as a guide. Select a profile to install by changing the profile value.

    # e.g. full, dev-light, shared-tools, operator-light
    profile: full
    buildservice:
      tanzunet_username: "<TANZUNET-USERNAME>"
      tanzunet_password: "<TANZUNET-PASSWORD>"
    rw_app_registry:
      # e.g. index.docker.io/some-user/apps
      # e.g. us-east4-docker.pkg.dev/some-project-id/test-private-repo/apps
      server_repo: "<SERVER-REPO>"
      username: "<USERNAME>"
      password: "<PASSWORD>"
    ootb_supply_chain_basic:
      service_account: service-account
    learning_center:
      ingressDomain: "<DOMAIN-NAME>" # e.g. educates.example.com
    tap_gui:
      service_type: LoadBalancer

    To view possible configuration settings, run:

    tanzu package available get tap.tanzu.vmware.com/0.3.0-build.5 --values-schema --namespace tap-install

    Note that currently tap.tanzu.vmware.com package does not show all configuration settings for packages it plans to install. To find them out, look at individual package configuration settings via same tanzu package available get command (e.g. for CNRs use tanzu package available get -n tap-install cnrs.tanzu.vmware.com/1.0.3 --values-schema). Replace dashes with underscores. For example, if the package name is cloud-native-runtimes, use cloud_native_runtimes in the tap-values YAML file.

    profile: full
    buildservice:
      # ...
    rw_app_registry:
      # ...
    
    # e.g. CNRs specific values would go under its name
    cloud_native_runtimes:
      provider: local
    # e.g. App Accelerator specific values would go under its name
    app_accelerator:
      service_type: "ClusterIP"

    (Refer to Install components document for package specific configuration.)

  3. Install the package by running:

    tanzu package install tap -p tap.tanzu.vmware.com -v 0.3.0-build.5 --values-file tap-values.yml -n tap-install
  4. Verify the package install by running:

    tanzu package installed get tap -n tap-install

    This may take 5-10mins as it will install number of packages on your cluster.

  5. Verify all the necessary packages in the profile are installed by running:

    tanzu package installed list -A
  6. (Optional) Install any additional packages that were not included in your profile.

Configure the Tanzu Application Platform GUI

To install Tanzu Application Platform GUI, see the following sections.

Prerequisites

  • Git repository for the software catalogs and a token allowing read access. Supported Git infrastructure includes:
    • GitHub
    • GitLab
    • Azure DevOps
  • Blank Software Catalog from the Tanzu Application section of Tanzu Network

Procedure

To install Tanzu Application Platform GUI:

  1. Extract the Blank Software Catalog from the Tanzu Application Network on your Git repository of choice. You'll link to that catalog-info.yaml file when you configure your catalog below.

  2. Obtain you the External IP of your LoadBalancer via kubectl get svc -n tap-gui.

  3. Add the below section to your tap-values.yml using the below template. Replace all <PLACEHOLDERS> with your relevant values.

     tap_gui:
      service_type: LoadBalancer
      # Existing tap-values.yml above  
      app-config:
        app:
          baseUrl: http://<EXTERNAL-IP>:7000
        integrations: 
          github: # Other integrations available see NOTE below
            - host: github.com
              token: <GITHUB-TOKEN>
        catalog:
          locations:
            - type: url
              target: https://<GIT-CATALOG-URL>/catalog-info.yaml
        backend:
            baseUrl: http://<EXTERNAL-IP>:7000
            cors:
                origin: http://<EXTERNAL-IP>:7000

    Where:

    • <EXTERNAL-IP> is your LoadBalancer's address.
    • <GITHUB-TOKEN> is a valid token generated from your Git infrastructure of choice with the necessary read permissions for the catalog definition files you extracted from the Blank Software Catalog.
    • <GIT-CATALOG-URL> is the path to the catalog-info.yaml catalog definition file from either the included Blank catalog (provided as an additional download named "Blank Tanzu Application Platform GUI Catalog") or a Backstage compliant catalog that you've already built and posted on the Git infrastucture that you specified in the Integration section.

    Note: The integrations section uses Github. If you want additional integrations, see the format in this Backstage integration documentation.

  4. Update the package profile by running:

    tanzu package installed update tap \
     --package-name tap.tanzu.vmware.com \
     --version 0.3.0 -n tap-install \
     -f tap-values.yml

    For example:

    $ tanzu package installed update  tap -p tap.tanzu.vmware.com -v 0.3.0 --values-file tap-values-file.yml -n tap-install
    | Updating package 'tap'
    | Getting package install for 'tap'
    | Getting package metadata for 'tap.tanzu.vmware.com'
    | Updating secret 'tap-tap-install-values'
    | Updating package install for 'tap'
    / Waiting for 'PackageInstall' reconciliation for 'tap'
    
    
    Updated package install 'tap' in namespace 'tap-install'
  5. To access Tanzu Application Platform GUI, use the <EXTERNAL-IP> you exposed in the service_type above. If you have any issues, please try re-creating the Tanzu Application Platform pod with:

    kubectl delete pod -l app=backstage -n tap-gui