Reconcile with Existing Tanzu Cluster¶
This section explains the procedure to configure and run the Edge Conductor tool to reconcile with an existing Tanzu cluster.
Tanzu Cluster - Preparation¶
Follow the Hardware and Software Requirements for Edge Conductor Day-0 Host to prepare the Day-0 host hardware and software.
Follow the instructions in Build and Install Edge Conductor Tool to build and install the Edge Conductor tool. Go to the _workspace
folder to run the Edge Conductor tool.
Prepare the Tanzu cluster and create the default privileged PSP according to instructions in Tanzu Doc. Describe the cluster in a config file (in this example, config/cluster/tanzu_cluster.yml
), with the following content:
SupervisorCluster:
controller:
ip: <supervisor-controller-plane-ip>
user: <vcenter-sso-user>
ssh_passwd: <vcenter-sso-user-password>
Namespace: <tanzu-cluster-namespace>
TKC:
name: <tanzu-cluster-name>
Nodes:
- ip: <node ip>
critype: <dockerd or containerd>
user: root
Registrystorage: <tanzu controller storage registry storage path>
Images:
- <image copy from tanzu controller to target node>
- <image copy from tanzu controller to target node>
Tanzu Cluster - Top Config¶
Create tanzu-top-config.yml
for Tanzu cluster as shown in the following example:
Cluster:
type: "tanzu"
config: "config/cluster/tanzu_cluster.yml"
Services:
client: eci-tanzu
The config/cluster/tanzu_cluster.yml
is generated during Tanzu Cluster - Preparation.
The client eci-tanzu
is specified in the Services
section to deploy a list of tested services on Tanzu.
For other config sections and detailed description, refer to Top Config.
Tanzu Cluster - Custom Config¶
Prepare a custom config file customcfg.yml
based on Custom Config. Note that the custom config file is a mandatory parameter for conductor init
.
Tanzu Cluster - Reconcile with Existing Cluster¶
Run the following command to reconcile with the existing Tanzu cluster:
./conductor cluster reconcile
By default, kubeconfig
will be exported to ~/.kube/config
. If --export-kubeconfig
is specified, kubeconfig
will be exported to the target location.
Check Tanzu Cluster¶
Install the kubectl tool (v1.20.0) to interact with the target cluster using the kubeconfig
exported by the Edge Conductor tool.
kubectl get nodes
Use --kubeconfig
to specify the kubeconfig
, which is not at ~/.kube/config
.
Add New Node to Target Cluster¶
To add a well-prepared new node to the target cluster, update the config/cluster/tanzu_cluster.yml
and add the node information in the Nodes
section.
Then, run the following command:
./conductor cluster join
Use --kubeconfig
to specify the kubeconfig
, which is not at ~/.kube/config
.
After the join
command completes, recheck the cluster:
kubectl get nodes
Use --kubeconfig
to specify the kubeconfig
, which is not at ~/.kube/config
.
Once a node joins the cluster, refer to Docker Docs to configure the node CRI services (docker
or containerd
) proxy setup.
Tanzu Cluster - Deploy Services¶
Run the following command to deploy services on the target cluster:
./conductor service build
./conductor service deploy
Use --kubeconfig
to specify the kubeconfig
, which is not at ~/.kube/config
.