Kedge - Concise Application Definitions for Kubernetes

Simplify your Kubernetes deployment by using Kedge. Reduce your technical debt by investing in a simple and concise definition!

Kedge is a deployment tool for Kubernetes artifacts by using a simplified version of the Kubernetes spec (a Kedge formatted YAML file).

In two steps, we will go from a super-simple YAML file to a full-fledged Kubernetes deployment:

1. Using an example httpd.yaml file

name: httpd

- containers:
  - image: centos/httpd

- name: httpd
  type: LoadBalancer
    - 8080:80

2. Now run the apply command to deploy to Kubernetes!

$ kedge apply -f httpd.yaml
deployment "httpd" created
service "httpd" created

2.1. Alternatively, you can generate the raw Kubernetes artifact files and deploy it with kubectl.

$ kedge generate -f httpd.yaml > output.yaml
$ kubectl apply -f output.yaml

View the deployed service

Now that your service has been deployed, let’s access it.

If you’re already using minikube for your development process:

$ minikube service httpd
Opening kubernetes service default/httpd in default browser...

Otherwise, let’s look up what IP your service is using!

$ kubectl describe svc httpd
Name:                   httpd
Namespace:              default
Labels:                 app=httpd
Selector:               app=httpd
Type:                   NodePort
Port:                   <unset> 8080/TCP
NodePort:               <unset> 31511/TCP
Session Affinity:       None
No events.

Next steps

That’s it! There’s more examples in our repository. Check out the further documentation such as the user guide or our file reference.