Getting started with Ketch only takes a few minutes. The sections below will guide you step-by-step from installing Ketch to deploying your first application.
More in-depth tutorials can also be found as part of this documentation.
Installing Ketch
The latest Ketch release can be found here. Use the following commands to install Ketch, changing the version in the commands to match the version of Ketch you want to install.
Ketch CLI
You can use the following command to download and install the Ketch CLI on your local machine:
curl -s https://raw.githubusercontent.com/shipa-corp/ketch/main/install.sh | bash
The command above will download and install the Ketch CLI based on your local operating system
Ingress Controller, Cluster Issuer and Cert Manager
Existing cluster resources
The ingress controller, cluster issuer, or cert-manager should only be installed if one is not currently installed in the cluster where Ketch will be installed.
In case there is already an ingress controller (Traefik or Istio), cluster issuer or cert-manager installed in the cluster, the steps below specific to each are not necessary.
* Installing Cert-Manager
If not already present in your cluster, you can install cert-manager by using the following commands:
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.0.3/cert-manager.yaml
* Installing Traefik
If not already present in your cluster, you can install Traefik by using the following commands:
helm repo add traefik https://helm.traefik.io/traefik
helm repo update
helm install traefik traefik/traefik
* Installing Istio
If not already present in your cluster, you can install Istio by using the following commands:
curl -L https://istio.io/downloadIstio | sh -
export PATH=$PWD/istio-1.8.1/bin:$PATH
istioctl install --set profile=demo
* Cluster Issuer
If not already present in your cluster, you can install a cluster issuer by creating the cluster-issuer-istio.yaml file with the following content:
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: le
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: my-account-key
solvers:
- http01:
ingress:
class: istio
Once the file is created, you can install it using the following command:
kubectl apply -f cluster-issuer-istio.yaml
Ketch Controller
Run the command below to install the Ketch controller:
kubectl apply -f https://github.com/shipa-corp/ketch/releases/download/v0.1.1/ketch-controller.yaml
Deploying an Application
Creating a Pool
Deploying applications is easy once you've installed Ketch, where the first step is to create a pool.
When creating a pool, you should assign which ingress controller you want to associate with the pool.
- When using Traefik:
ketch pool add dev --ingress-service-endpoint 104.155.134.17 --ingress-type traefik
- When using Istio:
ketch pool add dev --ingress-service-endpoint 104.155.134.17 --ingress-type istio
Kubernetes Namespace
The commands above will create a dedicated namespace for the Ketch pool during the pool creation.
You can also have Ketch use an existing namespace for the pool instead. This can be achieved by adding the --namespace flag in the command
Creating an Application
By using the command below, you will create an application named bulletinboard and assign it to the pool dev created in the previous step:
ketch app create bulletinboard --pool dev
Deploying the Application
The command below will deploy an existing Docker image as your application image to bulletinboard:
ketch app deploy bulletinboard -i docker.io/shipasoftware/bulletinboard:1.0
Once deployed, you can check the application status by using the app list command:
ketch app list
After you deploy your application, you can access it at the address associated with it using the ketch app list, in this example, http://bulletinboard.104.155.134.17.shipa.cloud.


Updated 18 days ago