Tanzu Community Edition

Documentation

Getting Started with Docker Desktop

Docker Desktop offers a Tanzu Community Edition extension. This extension spins up a local cluster that you can interact with via kubectl and the tanzu CLI. Under the hood, the Docker Desktop extension utilizes unmanaged clusters, which can also be created exclusively using the Tanzu CLI. This guide walks you through standing up a local cluster using Docker Desktop.

Before You Begin

Ensure you have Docker Desktop 4.8.0 or above installed.

You can download the Docker Desktop installer from the following locations:

  • Mac
  • Windows
  • Linux
    • The extension is not currently being validated against the Linux version of Docker Desktop. At this time we cannot guarentee support.

Install Tanzu CLI

The Tanzu CLI is used for deploying and managing Tanzu Community Edition. Choose your operating system below for guidance on installation.

Linux System Requirements

ArchitectureCPURAMRequired software
x86_64 / amd6412 GBDocker engine, (Optional) minikube

Tanzu Community Edition supports two cluster providers for unmanaged clusters: Kind and minikube

  • Kind is the default cluster provider and is included as default with the unmangaged cluster binary, you just need to install Docker.
  • minikube is an alternative cluster provider, if you plan to use minikube as your cluster provider, you must first install minikube and a minikube supported container or virtual machine manager such as Docker.

Package Manager

Homebrew

  1. Install using Homebrew.

    brew install vmware-tanzu/tanzu/tanzu-community-edition
    
  2. Run the configure command displayed after Homebrew completes installation.

    {HOMEBREW-INSTALL-LOCATION}/configure-tce.sh
    

    This puts all the Tanzu plugins in the correct location. The first time you run the tanzu command the installed plugins and plugin repositories are initialized. This action might take a minute.

Direct Download

If you prefer to not use a package manager, you can download releases on GitHub. Download and unpack the release for your operating system. Then, run the script install.sh (Linux/Mac) or install.bat (Windows).

Mac System Requirements

ArchitectureCPURAMRequired software
x86_64 / AMD64 / ARM6412 GBDocker Desktop, (Optional) minikube

Tanzu Community Edition supports two cluster providers for unmanaged clusters: Kind and minikube

  • Kind is the default cluster provider and is included as default with the unmangaged cluster binary, you just need to install Docker.
  • minikube is an alternative cluster provider, if you plan to use minikube as your cluster provider, you must first install minikube and a minikube supported container or virtual machine manager such as Docker.

Note: ARM64 support is experimental. Some packages might not install due to their ARM64 image not being available.

Package Manager

Homebrew

  1. Install using Homebrew.

    brew install vmware-tanzu/tanzu/tanzu-community-edition
    
  2. Run the configure command displayed after Homebrew completes installation.

    {HOMEBREW-INSTALL-LOCATION}/configure-tce.sh
    

    This puts all the Tanzu plugins in the correct location. The first time you run the tanzu command the installed plugins and plugin repositories are initialized. This action might take a minute.

Direct Download

If you prefer to not use a package manager, you can download releases on GitHub. Download and unpack the release for your operating system. Then, run the script install.sh (Linux/Mac) or install.bat (Windows).

Windows System Requirements

ArchitectureCPURAMRequired software
x86_64 / amd6412 GBDocker Desktop, (Optional) minikube

Tanzu Community Edition supports two cluster providers for unmanaged clusters: Kind and minikube

  • Kind is the default cluster provider and is included as default with the unmangaged cluster binary, you just need to install Docker.
  • minikube is an alternative cluster provider, if you plan to use minikube as your cluster provider, you must first install minikube and a minikube supported container or virtual machine manager such as Docker.

Note: ARM64 support is experimental. Some packages might not install due to their ARM64 image not being available.

Package Manager

Chocolatey

  1. Install using chocolatey, in Powershell, as an administrator.

    choco install tanzu-community-edition
    

Direct Download

If you prefer to not use a package manager, you can download releases on GitHub. Download and unpack the release for your operating system. Then, run the script install.sh (Linux/Mac) or install.bat (Windows).

Install the Extension

  1. Launch Docker Desktop.

  2. Click Add Extensions in the left navigation.

    Docker Desktop Add Extensions

  3. Locate the VMware Tanzu Community Edition extension.

    Docker Desktop TCE Extension

  4. Click Install.

Create a Cluster

  1. In Docker Desktop, click Tanzu Community Edition from the left navigation.

  2. Click Create cluster.

    Docker Desktop Create Cluster

  3. Wait for the cluster creation to complete.

    Docker Desktop Cluster Created

Upon successful creation, tanzu-community-edition is added to your kubeconfig and set as the default context. All commands run with kubectl and tanzu will be against this cluster unless you switch contexts.

Ports 80 and 443 are forwarded by default. Consider this when installing ingress controllers and other services to ensure you can route traffic into the virtual machine.

Today this is not configurable, but should be in the future.

Install a Package

  1. List the available package repositories.

    tanzu package repository list --all-namespaces
    
  2. Verify the STATUS is Reconcile succeeded in the output of the above command.

    NAME                 REPOSITORY                                           TAG                     STATUS               DETAILS  NAMESPACE
    tkg-core-repository  projects.registry.vmware.com/tce/main                0.9.1                   Reconcile succeeded           tanzu-package-repo-global
    tkg-core-repository  projects.registry.vmware.com/tkg/packages/core/repo  v1.21.2_vmware.1-tkg.1  Reconcile succeeded           tkg-system
    
  3. List the available packages.

    tanzu package available list
    
    NAME                                           DISPLAY-NAME        SHORT-DESCRIPTION
    cert-manager.community.tanzu.vmware.com        cert-manager        Certificate management
    contour.community.tanzu.vmware.com             Contour             An ingress controller
    external-dns.community.tanzu.vmware.com        external-dns        This package provides DNS synchronization functionality.
    fluent-bit.community.tanzu.vmware.com          fluent-bit          Fluent Bit is a fast Log Processor and Forwarder
    gatekeeper.community.tanzu.vmware.com          gatekeeper          policy management
    grafana.community.tanzu.vmware.com             grafana             Visualization and analytics software
    harbor.community.tanzu.vmware.com              Harbor              OCI Registry
    knative-serving.community.tanzu.vmware.com     knative-serving     Knative Serving builds on Kubernetes to support deploying and serving of applications and functions as serverless containers
    local-path-storage.community.tanzu.vmware.com  local-path-storage  This package provides local path node storage and primarily supports RWO AccessMode.
    multus-cni.community.tanzu.vmware.com          multus-cni          This package provides the ability for enabling attaching multiple network interfaces to pods in Kubernetes
    prometheus.community.tanzu.vmware.com          prometheus          A time series database for your metrics
    velero.community.tanzu.vmware.com              velero              Disaster recovery capabilities
    
  4. List the available versions of cert-manager.

    tanzu package available list cert-manager.community.tanzu.vmware.com
    
    NAME                                     VERSION  RELEASED-AT
    cert-manager.community.tanzu.vmware.com  1.3.3    2021-08-06 05:31:21 -0700 MST
    cert-manager.community.tanzu.vmware.com  1.4.4    2021-08-23 09:47:51 -0700 MST
    cert-manager.community.tanzu.vmware.com  1.5.3    2021-08-23 10:22:51 -0700 MST
    
  5. Install the 1.5.3 version of cert-manager.

    tanzu package install cert-manager --package-name cert-manager.community.tanzu.vmware.com --version 1.5.3
    

    If you have kubectl installed, you can now view and interact with cert-manager.

  6. Verify the package is now installed.

    tanzu package installed list
    
    NAME          PACKAGE-NAME                             PACKAGE-VERSION  STATUS
    cert-manager  cert-manager.community.tanzu.vmware.com  1.5.3            Reconcile succeeded
    
  7. If desired, you can also delete the package using:

    tanzu package installed delete cert-manager
    

Delete a Cluster

To delete a cluster, click Delete in Docker Desktop.

Docker Desktop Delete Cluster

This is the equivalent of running a docker kill and docker rm against the container. The image will remain on your system for quicker cluster startup in the future.

Next Steps

Join us!

Our open community welcomes all users and contributors

Community