Export Application as a helm chart
An application or a set of applications on Truefoundry can be exported as helm chart along with the supplied values file. This means this helm chart can be used to create the same application in a non-Truefoundry environment as well.
Pre-requisites
Truefoundry depends on some resources already being available on the target cluster for the exported helm chart to work. You can choose to not install them if the corresponding feature is not needed. They are as follows -
ArgoCD
Purpose
This is a mandatory requirement and must be installed in the cluster
Installation
kubectl create namespace argocd
cat > values.yaml << EOF
dex:
enabled: false
redis:
resources:
requests:
cpu: 100m
memory: 256Mi
ephemeral-storage: 256Mi
server:
extraArgs:
- --insecure
- --application-namespaces="*"
resources:
requests:
cpu: 100m
memory: 256Mi
ephemeral-storage: 256Mi
configs:
cm:
resource.customizations.knownTypeFields.serving.kserve.io_InferenceService: |-
- field: spec.predictor.model.resources
type: core/v1/ResourceRequirements
- field: spec.predictor.containers
type: core/v1/Container
controller:
extraArgs:
- --application-namespaces="*"
resources:
requests:
cpu: 100m
memory: 256Mi
ephemeral-storage: 256Mi
repoServer:
resources:
requests:
cpu: 100m
memory: 256Mi
ephemeral-storage: 256Mi
notifications:
enabled: false
applicationSet:
enabled: false
EOF
helm repo add argo https://argoproj.github.io/argo-helm
helm install argocd -n argocd argo/argo-cd --version 5.16.13 -f values.yaml
Argo Rollouts
Purpose
This is a mandatory requirement and must be installed in the cluster.
Installation
kubectl create namespace argo-rollouts
helm repo add argo https://argoproj.github.io/argo-helm
helm install argo-rollout -n argo-rollouts argo/argo-rollouts --version 2.25.0
KEDA
Purpose
This is needed for autoscaling. If there is no autoscaling needed, this dependency can be skipped. It depends on prometheus to perform request throughput based autoscaling being available on the cluster.
Installation
kubectl create namespace keda
cat > values.yaml << EOF
resources:
operator:
requests:
cpu: 100m
memory: 256Mi
ephemeral-storage: 256Mi
metricServer:
requests:
cpu: 100m
memory: 256Mi
ephemeral-storage: 256Mi
prometheus:
operator:
enabled: true
EOF
helm repo add kedacore https://kedacore.github.io/charts
helm install keda -n keda kedacore/keda --version 2.12.0 -f values.yaml
Updated 10 months ago