Skip to content

fiaisis/k8s

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kubernetes deployment for IR

Requirements

  • Access to the STFC cloud via an openstack account

Optional (Recommended for debugging and evaluating the cluster)

helm plugin install https://github.com/databus23/helm-diff

Setup ArgoCD

This section assumes that you have the context setup appropriately in the Kubeconfigs and you are currently managing the management cluster

Install ArgoCD:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

Setup ArgoCD CLI: https://argo-cd.readthedocs.io/en/stable/getting_started/#2-download-argo-cd-cli

Create the Service type load balancer:

kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'

Get the initial password:

argocd admin initial-password -n argocd

Login to the UI using the IP of the worker node running the ArgoCD server, and the port defined in the service for ArgoCD as a URL in your web browser. The username is admin, and the password you already have.

Change the password using the user settings to the one in Keeper so everyone who needs the password has it availiable.

Go follow the GitOps repo README now.

Developing using a local cluster

It is recommended HEAVILY that you do not develop using the production cluster. Please use a local cluster using minikube, so install minikube using this guide: https://minikube.sigs.k8s.io/docs/start/

You will need the archive mounted locally follow these instructions (you may need to get on the work VPN or log in for this): https://stfc365.sharepoint.com/sites/isiscomputingdivision-staffsite/Shared%20Documents/Mantid/MountISISArchiveLinux.txt

or run the following playbook to setup the archive and ceph locally on debian/ubuntu based linux operating systems, you need to replace the all caps words with the actual inputs:

ansible-playbook setup-local-machine.yml -K --extra-vars '{ "isis_archive": { "username": "FEDID", "password": "FEDID_PASSWORD", "domain": "ARCHIVE_DOMAIN"}, "isis_ceph" {"key": "CEPH_KEY"}}'

Start minkube by running this command (ensure kubernetes is the correct version):

minikube start --kubernetes-version='1.25.6'
minikube mount /archive:/archive &
minikube mount /ceph:/ceph &

To deploy services to your cluster:

ansible-playbook deploy-dev-k8s-services.yml

That's it! you have Interactive reduction running on a local Kubernetes cluster!

About

The tools to setup, repair, and deploy the cluster

Topics

Resources

License

Stars

Watchers

Forks