Deploying an EKS cluster to be used as a Kubernetes Management Cluster. We are going to use KinD, ArgoCD and ClusterAPI
After running the install.sh script ArgoCD URL and credentials will be displayed.
All the Applications except the EKS cluster are configured to Auto-Sync and should be in Synced status.
By Sync-ing the cluster
ArgoCD Application we will deploy an EKS cluster using ClusterAPI.
- kubectl installed
- AWS credentials
- SSH key for GitHub
- secrets configured
The following secrets are required in the secrets/kind folder:
- CAPI AWS credentials:
Here we can use
clusterawsadm
---
apiVersion: v1
kind: Secret
metadata:
name: aws-variables
namespace: default
type: Opaque
data:
AWS_B64ENCODED_CREDENTIALS: WW91J3ZlIGJlZW4gUmljayBSb2xsZWQK==
- GitHub repository credentials
---
apiVersion: v1
kind: Secret
metadata:
name: argocd-gitops
namespace: argocd
labels:
argocd.argoproj.io/secret-type: repository
stringData:
type: git
url: git@github.com:CloudNative-Solutions/argocd-gitops.git
sshPrivateKey: |
-----BEGIN OPENSSH PRIVATE KEY-----
WW91J3ZlIGJlZW4gUmljayBSb2xsZWQK==
-----END OPENSSH PRIVATE KEY-----
---
apiVersion: v1
kind: Secret
metadata:
name: argocd-capi-controller
namespace: argocd
labels:
argocd.argoproj.io/secret-type: repository
stringData:
type: git
url: git@github.com:CloudNative-Solutions/argocd-capi-controller.git
sshPrivateKey: |
-----BEGIN OPENSSH PRIVATE KEY-----
WW91J3ZlIGJlZW4gUmljayBSb2xsZWQK==
-----END OPENSSH PRIVATE KEY-----
The following components will be installed in KinD
- ArgoCD
- cert-manager
- cluster-api-operator
- capi-controller
- capa-controller
- argocd-capi-controller
The install script will deploy an EKS cluster using kind, ArgoCD and ClusterAPI
./install.sh