Skip to content

A simple kubernetes custom controller to expose deployments

Notifications You must be signed in to change notification settings

Devaansh-Kumar/ekspose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ekspose

Ekspose is a custom controller that creates a service and ingress resource corresponding to every deployment that is created in Kubernetes.

Steps to run the project

Clone the repository

git clone https://github.com/Devaansh-Kumar/ekspose

Build the docker image

docker build -t devaanshk840/ekspose .

Start kind cluster using the given config and load the docker image

kind create cluster --config=kind-config.yaml
kind load docker-image devaanshk840/ekspose -n ekspose-cluster

Install ingress-nginx for ingress controller implementation in kind

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml

Deploy the controller

kubectl create namespace ekspose
kubectl create -f manifests/deployment.yaml
kubectl create -f manifests/service-account.yaml
kubectl create -f manifests/cluster-role.yaml
kubectl create -f manifests/cluster-role-binding.yaml

Now on creation of any deployment, a service and ingress should be created and deleted on deletion of deployment.

About

A simple kubernetes custom controller to expose deployments

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published