Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languageyaml
title/etc/rancher/rke2/config.yaml
cni:
 - multus
 - calico


1

...

Install metallb (LoadBalancer)

This pass will be possible to expose some address to the external of the cluster.

...

Change the password! the inital password wont work for long



6 Install EPIK8S backend services (optional)

The backend services install:

  • kafka
  • mongodb
  • elasticsearch

At the moment serve all the beamlines of the cluster. These services can be also installed in other ways and/or pre-esistent.

A manifest like the following must be prepared, paying attentio to specify domain, loadBalancerIPs.

Prepare a manifest 


Code Block
languageyaml
titleepik8s-backend.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: epik8s-backend
  namespace: argocd
spec:
  project: default
  source:
    repoURL: 'https://baltig.infn.it/epics-containers/epik8-backend.git'
    path: .
    targetRevision: HEAD
    helm:
      values: |
          namespace: backend
          domain: "da"
          ingressClassName: "ngnix"

          kafka:
            externalAccess:
              enabled: true
      
              service:
                type: LoadBalancer
                loadBalancerIPs:
                    - 10.10.6.247
                ports:
                  external: 9092
  destination:
    server: 'https://kubernetes.default.svc'
    namespace: backend
  syncPolicy:
    automated:
      prune: true  # Optional: Automatically remove resources not specified in Helm chart
      selfHeal: true
    syncOptions:
      - CreateNamespace=true 
      - Prune=true

Apply:

Code Block
languageshell
titleShell Command
kubectl apply -f epik8s-backend.yaml

7 Install EPIK8S beamline

A beamline GIT EPIK8s repo must exists.

Prepare a epiks8-beamline.yaml manifest replacing repoURL with the url of the EPIK8s beamline


Code Block
languageyaml
titleepik8s-beamline.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: rke2-test-deploy-deploy
  namespace: argocd
  labels:
      deploy: eli
spec:
  project: default
  source:
    repoURL: 'https://github.com/infn-epics/epik8s-rke2-test.git'
    path: deploy
    targetRevision: main
    helm:
      values: |
          namespace: da-test
          domain: "da"
          ingressClassName: "nginx"
  destination:
    server: 'https://kubernetes.default.svc'
    namespace: eli
  syncPolicy:
    automated:
      prune: true  # Optional: Automatically remove resources not specified in Helm chart
      selfHeal: true
    syncOptions:
      - CreateNamespace=true 
      - Prune=true

...