Think applications not yamls :)
What is Ketch
Ketch is an application delivery framework that facilitates the deployment and management of applications on Kubernetes using a simple command line interface. No YAML required!
Contents
Architecture Diagram
Getting Started
Download and Install Ketch
The latest Ketch release can be found here. Use the following commands to install Ketch,
Install latest at /usr/local/bin default location
curl -s https://raw.githubusercontent.com/shipa-corp/ketch/main/install.sh | bash
Alternatively, you can install specific tag at a target location, for example command below installs ketch version v0.2.0 in current directory:
curl -s https://raw.githubusercontent.com/shipa-corp/ketch/main/install.sh | INSTALL_DIR=. TAG=v0.2.0 bash
Install Ingress Controller
At present, Ketch supports Istio and Traefik ingress controllers.
Here is how you can install Traefik:
Use Helm to install Traefik.
helm repo add traefik https://helm.traefik.io/traefik
helm repo update
helm install traefik traefik/traefik
Or you can install Istio:
curl -Ls https://istio.io/downloadIstio | ISTIO_VERSION=1.9.0 sh -
export PATH=$PWD/istio-1.9.0/bin:$PATH
istioctl install --set profile=demo
Install Cert Manager.
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.0.3/cert-manager.yaml
Install Ketch controller.
kubectl apply -f https://github.com/shipa-corp/ketch/releases/download/v0.2.0/ketch-controller.yaml
Thats it!
Using Ketch
Learn more about Ketch at Ketch documentation
Quick Start
Deploying apps is easy once you've installed Ketch. First, create a pool. Then create app(s) adding them to the pool and finally deploy the app(s). The following example illustrates these steps.
# Add a pool with ingress Traefik (default), replace ingress IP address by your ingress IP address
ketch pool add mypool --ingress-service-endpoint 35.247.8.23 --ingress-type traefik
# Create app
ketch app create bulletinboard --pool mypool
# Deploy app
ketch app deploy bulletinboard -i docker.io/shipasoftware/bulletinboard:1.0
# Check app status
ketch app list
NAME POOL STATE ADDRESSES PLATFORM DESCRIPTION
bulletinboard mypool 1 running http://bulletinboard.35.247.8.23.shipa.cloud
After you deploy your application, you can access it at the address associated with it using the ketch app list
, in
this example bulletinboard.35.247.8.23.shipa.cloud
.
Usage
For details see https://theketch.io.
Usage:
ketch [flags]
ketch [command]
Available Commands:
app Manage applications
cname Manage cnames of an application
env Manage an app's environment variables
help Help about any command
platform Manage platforms
pool Manage pools
unit Manage an app's units
Flags:
-h, --help help for ketch
-v, --version version for ketch
Use "ketch [command] --help" for more information about a command.
Get Involved
- Discuss Ketch on slack or our dev mailing list
- Join office hours
Office Hours
Ketch office hours aim is to listen from the community, share ideas, experiences and ask questions. In this meeting Ketch maintainers are going to look for new ideas, feature requests, answer any questions related to uses of Ketch, contributing to Ketch or any other questions/suggestions.
Ketch office hours takes place every other Wednesday at 4:30pm UTC/8:30am PST. Check our Event calendar and check your local time.
- Join Ketch mailing group to stay connected with office hour and other ketch community events
- Office hour agenda and running notes
- Event calendar