This challenge includes Deploying an internal container registry using Digitalocean Kubernetes and Harbor.
Once Deployed you can download the k8s Configuration yaml file
After creating a cluster, you need to add an authentication token or certificate to your kubectl configuration file to connect.
Helm Package manager is similar to Pip and Brew, and acts as a package manager to install different packages in Kubernetes. I have added the steps to install helm.
To Install Harbor you need to have Helm package manager.
Use this script
wget https://raw.githubusercontent.com/farhankn/kube_challenge/main/helm.sh to install helm and Harbor with the Default Credential
This allows you to fix the issue were external IP was not getting assigned after we deploy the Harbor instance using Helm. I spend a considerable amount of time trying to troubleshoot how to fix including changing the expose type from ingress to nodeport and loadbalance.
helm repo add traefik https://helm.traefik.io/traefik
helm repo update
helm install traefik traefik/traefik
Before we install harbor using helm , we need to define some of the values in a yaml file . I’ve mentioned the type as ingress and disabled TLS for simplicity of configuration. We need to specify the url and Credentialsthat will be used to access the application in the file.
Once the yaml file has been created we can go ahead installing using helm with below commands.
helm repo add harbor https://helm.goharbor.io
helm repo update
helm install my-release harbor/harbor -f harbor.yaml
Once harbor install is complete , it can be access from URL specified in the harbor.yaml file. The below screenshot shows my deployed instance of harbor