There are currently two folders with complete instructions on how to deploy for two different platform providers: AWS and vSphere. I might add more examples in the future.
I'm also working on creating a Helm chart to make implementation easier. But that's not ready right now.
The procedure is very simple:
- There is an ArgoCD application with the name of the cluster that needs to be deployed to your GitOps platform (you must first install the GitOps operator in ACM and configure it to be able to connect to your Git repository, adding the necessary credentials). Here is an example of such an application: Application-CLUSTER_NAME.yaml
- There is a folder that has the name of the cluster that contains all the objects needed to create the OCP cluster. For example: CLUSTER_NAME. Basically you will need the following:
- Hive cluster deployment
- RBAC cluster role
- RBAC cluster role binding
- ACM klusterlet addon config
- Hive machine config pool (for the worker nodes)
- (optional) Hive machine config pool (for the infra nodes)
- ACM managed cluster
- ACM managed cluster info
- RBAC role
- RBAC role binding
- Secret for the vSphere certificates
- Secret for the vSphere credentials
- Secret for the install config
- Secret for the pull secret
- Secret for the SSH private key
- You will need to customize the above folder with your own values. The most important part is the RBAC cluster role - it is essential for the whole process to be successful. The secrets will be exposed in the Git repository, so it's a good idea to use Sealed Secrets instead. Another option is to use managed policies to import the values of a previously created secret in the ACM hub cluster using template functions.
- Once you create the ArgoCD application, GitOps will create the cluster. You will need to sync several times until the cluster is ready. If you automate synchronization, it is important that you disable it after the creation is successful.
- The procedure to remove the cluster is as follows:
- First, remove the cluster from the ACM cluster dashboard.
- Once the cluster removal is successful, you can remove the ArgoCD application.