Overview
In this multi-part exercise, you will use System Sync to test two-way synchronization between the system and a Git repository for GKE clusters. You will create a GKE cluster from the controller UI and see the corresponding manifest file syncornized to your Git repository. You will then update the cluster manifest from Git to see the changes applied on the cluster and synchronized in the controller.
System Sync enables two-way or bidirectional synchronization to maintain the configuration in the system (system database) and Git repository. Any configuration changes performed in the Git repository get reflected in the system, and vice-versa is supported. To achieve this bidirectional sync, external and internal triggers are required. External triggers (Pipeline Triggers) notify whenever resources are modified in a Git repository, and internal triggers notify whenever resources are modified in an internal artifact store.
flowchart LR
subgraph GCP[GCP]
direction TB
ClickOps[New Cluster]
end
ClickOps[New Cluster]-->|ClickOps|Rafay
Rafay<--GitOps-->GitHub
What Will You Do¶
Part | What will you do? |
---|---|
1 | In this part, you will Configure and Setup an Environment in order to test System Sync with GKE clusters |
2 | In this part, you will Create a New GKE Cluster and test bidirectional syncronization with a Git repository |
3 | In this part, you will Deprovision the cluster |
Assumptions¶
This exercise assumes that you have access to the following:
- An Org with Org Admin privileges
- A provisioned or imported cluster to run the GitOps Agent
- A GCP Cloud Credential
- An account on GitHub for GitOps operations