# README

This service is originally designed for k8s resource reservation by using admission-control-webhook and kube-scheduler plugin.

Afterwards, the webhook part is extended as a webhook framework and used to provide other features(e.g. podNodeSelector mutating webhook provides podnodeselector-admission-controller liked feature in EKS).

## Deploy

### AWS

```sh
kubectl apply -f deploy/aws/webhook
```

### IDC

#### Webhook

```sh
kubectl apply -f deploy/idc/webhook
```

#### Scheduler

```sh
kubectl apply -f deploy/idc/scheduler/00.rbac.yaml
```

then, on master node, manually

-   replace `/etc/kubernetes/scheduler-config.yaml` with `deploy/idc/scheduler/scheduler-config.yaml`
-   replace `/etc/kubernetes/manifests/kube-scheduler.yaml` with `deploy/idc/scheduler/kube-scheduler.yaml`

Some code/idea copied from [simple-kubernetes-webhook](https://github.com/slackhq/simple-kubernetes-webhook/)
