Prior to running the commands to deploy RPK, it is required that you have a pre-existing TKG workload cluster deployed. Please follow the appropriate documentation on the VMware website at https://docs.vmware.com/en/VMware-Tanzu-Kubernetes-Grid/1.2/vmware-tanzu-kubernetes-grid-12/GUID-tanzu-k8s-clusters-create.html in order to deploy your first TKG workload cluster.
See also Cluster Sizing Requirements and Supported Installations for sizing and installation requirements.
NOTE: Deploying RPK to a management cluster is not supported at this time.
NOTE: In this current iteration, TKG MUST be deployed to an internet-connected environment. Air-gapped deployments may be looked at to extend functionality of RPK in future releases.
RPK brings an a la carte style of platform, meaning you can specify which components that you would like installed via profiles (see ./COMPONENTS.md). Because of this reason, it is hard to determine the size of cluster that you will need. Each component that you select to be part of your platform has its individual requirements documented at the component README.md file.
That being said, the platform role, which encompasses most all platform components requires the following sizing at the time of this writing:
- 6 Worker Nodes
- 4 vCPU per Worker Node
- 16GB Memory per Worker Node
- Any Control Plane size is acceptable
RPK should technically work against most flavors of Kubernetes, however it has largely been validated against VMware's TKG platform. The following table outlines the common supported installations of RPK that have been tested. Other variations may work:
Component | Supported Versions |
---|---|
Kubernetes | 1.16 thru 1.20 |
CNI Plugin | Antrea or Calico |
TKG Versions | 1.1 thru 1.3 |
NOTE: if using the identity module with TKG1.3+, you will need to ensure that the native Dex/Gangway/Pinniped/LDAP/OIDC integration is not setup during deployment time. There is a conflict that is not supported at this time.
Once your TKG workload cluster is deployed, you will need to ensure that your kubeconfig file, (located at
~/.kube/config
by default) provides administrative access to your TKG cluster. If you setup your
first TKG workload cluster in the previous step, you will need to ensure that you have run the
tkg get credentials <my_cluster_name>
command to ensure that the context exists for your TKG
workload cluster in your kubeconfig file.
Currently, there is no support for SELinux within RPK. You must have your system in either Permissive
mode
or set to not enforcing. To set SELinux to non-enforcing mode for use with RPK, you can run the command:
setenforce 0
Start here by clicking your cloud provider type once you have a TKG workload cluster online.