GuidesChangelogDiscussions
Log In

Framework Management

1360

Ketch implements the concept of Framework, which Platform Engineers and DevOps can use to isolate workloads across different namespaces in your cluster. You can add multiple frameworks to the same cluster.

The sections below describe how you can manage the framework lifecycle within Ketch.

Creating Framework

You can add multiple Frameworks to the same cluster, and this can be done through the framework add command as described below:

ketch framework add FRAMEWORK_NAME [flags]

Flags:

FlagTypeDescription
namestringThe framework name.

Unless you tie the framework to an existing namespace in your cluster, Ketch will create a new namespace for that framework with the name ketch-frameworkname

Required: Yes
--app-quota-limitintQuota limit for applications when adding it to this framework

Required: No
Default: Unlimited (-1)
--cluster-issuerstringClusterIssuer to obtain SSL certificates

Required: No
--ingress-class-namestringIf set, it is used as kubernetes.io/ingress.class annotations.

Required: No
Default: Ketch uses "istio" class name for istio ingress controller, if class name is not specified
--ingress-service-endpointstringAn IP address or DNS name of the ingress controller's Service

Required: Yes
--ingress-typestringIngress controller type

Required: Yes
--namespacestringThe name of an existing Kubernetes namespace for this framework

Required: No
Default: If not provided, Ketch will create a namespace for the framework in your cluster. The namespace will be ketch-frameworkname

Below is an example of the command to create a framework:

ketch framework add dev --ingress-service-endpoint 104.198.65.19 --ingress-type istio

👍

Ingress Service Endpoint

You can find your ingress endpoint by running the command below:

kubectl get services -n istio-system

Note that the command above uses istio-system as the namespace. You should replace it with the namespace where your ingress controller (Traefik or Istio) is installed.

The command above will list the available services, including the External-IP for your ingress gateway.

Listing Frameworks

The command below lists all available Ketch frameworks in the cluster:

ketch framework list

Removing Framework

The command below removes a specific Ketch framework from the cluster:

ketch framework remove FRAMEWORK_NAME

Updating Framework

The command below updates a specific Ketch framework in the cluster:

ketch framework update FRAMEWORK_NAME [flags]

Flags:

FlagTypeDescription
--app-quota-limitintQuota limit for applications when adding it to this framework (default -1)
--cluster-issuerstringClusterIssuer to obtain SSL certificates
--ingress-class-namestringIf set, it is used as kubernetes.io/ingress.class annotations. Ketch uses "istio" class name for istio ingress controller, if class name is not specified
--ingress-service-endpointstringAn IP address or DNS name of the ingress controller's Service
--ingress-typestringIngress controller type
--namespacestringKubernetes namespace for this framework