dbuchko / tap-gitops

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tanzu GitOps Reference Implementation

Use this archive contains an opinionated approach to implementing GitOps workflows on Kubernetes clusters.

This reference implementation is pre-configured to install Tanzu Application Platform.

For detailed documentation, refer to VMware Tanzu Application Platform Product Documentation.

Prerequisites

  1. Ability to SSH into a remote (public facing) jumpbox using a private key file (to be provided)
  2. An account on https://github.com, with the ability to create a new repository
  3. An SSH key for your Github account. (Refer to instructions here.

Workshop Attendee Instructions

Each user has their own AKS cluster. There is a single shared registry for everyone. A jumpbox has been created with an account for each user. You should have received the username and private key file to SSH into the jumpbox. TAP installation files have been installed in each users downloads subdirectory.

  1. The URL of the jumpbox is jumpbox.$CODE_NAME.azure.tanzu-studio.com, where $CODE_NAME is provided by the instructor. SSH into the jumpbox using the provided credentials. eg.

    ssh -i tap-green-user1 user1@jumpbox.tap-green.azure.tanzu-studio.com
  2. The following environment variables have been created for you, that provide you with all the resource access information you require. If you prefer, you can copy them to your local machine and work from there.

    • KUBECONFIG: Path to your cluster config file
    • CODE_NAME: Instance identifier for this workshop
    • INGRESS_DOMAIN: Assigned domain where TAP GUI, workloads, etc. will be accessible
    • INSTALL_BUNDLE: Cluster Essentials SHA256
    • INSTALL_REGISTRY_HOSTNAME: FQDN to the ACR container registry where the TAP images have been copied to
    • INSTALL_REGISTRY_USERNAME: ACR username
    • INSTALL_REGISTRY_PASSWORD: ACR password
    • LOCAL_REGISTRY_REPO: Local ACR repo for your TAP artifacts
    • LOCAL_REGISTRY_USERNAME: Local ACR username
    • LOCAL_REGISTRY_PASSWORD: Local ACR password
    • TAP_PKGR_REPO: TAP packages repo (relocated to ACR for this workshop). Used by tanzu-sync.
  3. In your user home directory, you'll find:

    • a kubectl config file to access the cluster that's been provisioned for you
  4. In your user home downloads directory, you'll find:

    • a tanzu-cluster-essentials tarball
    • a tanzu-gitops-ri tarball
  5. Verify you are connected to the corresponding kubernetes cluster. The cluster name should be the $CODE_NAME-$USER (eg. tap-green-user1):

    kubectl config get-contexts
  6. Install cluster essentials into your cluster:

    tar xvf downloads/tanzu-cluster-essentials-linux-amd64-1.5.0.tgz -C $HOME/tanzu-cluster-essentials
    ./install.sh

    Ref docs here.

  7. Continue and install TAP using the instructions from the documentation here. There are some things to note before starting:

    • Sample values files can be found here
    • You must create and use your own github repo to manage your installation.
    • Keep in mind the files that have already been downloaded into downloads folder of your user home directory.
    • All values required for the installation have been provided in the environment variables above.
    • TAP images have already been copied to the Azure registry.
    • TAP packages are located in the Azure registry under $CODE_NAME/tap-packages

    Once you get TAP with the initial basic supply chain installed, provide the instructor the external IP address of your Contour system ingress using

    kubectl get service envoy -n tanzu-system-ingress

    The instructor will create the DNS entry for the TAP GUI. The URL format will be you can access the TAP GUI at the following URL:

    https://tap-gui.$USER.$CODE_NAME.azure.tanzu-studio.com.

    eg. https://tap-gui.user1.tap-yellow.azure.tanzu-studio.com

About


Languages

Language:Shell 95.1%Language:Starlark 4.9%