From 66cf5eaafb648ea3eaba93ab17e5454cba7a0d5d Mon Sep 17 00:00:00 2001 From: Solly Ross Date: Sat, 24 Jun 2017 01:35:14 -0400 Subject: [PATCH] Provide basic deployment instructions This commit introduces a Dockerfile with some basic deployment instructions, as well as a makefile for convinience. --- Makefile | 13 +++++++++++ deploy/Dockerfile | 8 +++++++ deploy/README.md | 17 ++++++++++++++ deploy/example-deployment.yaml | 41 ++++++++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+) create mode 100644 Makefile create mode 100644 deploy/Dockerfile create mode 100644 deploy/README.md create mode 100644 deploy/example-deployment.yaml diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..4af6147d --- /dev/null +++ b/Makefile @@ -0,0 +1,13 @@ +all: build + +build: + go build cmd/adapter.go +.PHONY: build + +docker-build: adapter + docker build -t cm-adapter -f deploy/Dockerfile . +.PHONY: docker-build + +clean: + rm adapter +.PHONY: clean diff --git a/deploy/Dockerfile b/deploy/Dockerfile new file mode 100644 index 00000000..595c6e22 --- /dev/null +++ b/deploy/Dockerfile @@ -0,0 +1,8 @@ +FROM scratch + +COPY adapter / + +USER 1001:1001 + +ENTRYPOINT ["/adapter"] + diff --git a/deploy/README.md b/deploy/README.md new file mode 100644 index 00000000..d36e9328 --- /dev/null +++ b/deploy/README.md @@ -0,0 +1,17 @@ +Example Deployment +================== + +1. Make sure you've built the included Dockerfile with `make + docker-build`. The image should be tagged as `cm-adapter:latest`. + +2. Create a secret called `cm-adapter-serving-certs` with two values: + `serving.crt` and `serving.key`. For more information on how to + generate these certificates, see the [auth concepts + documentation](https://github.com/kubernetes-incubator/apiserver-builder/blob/master/docs/concepts/auth.md) + in the apiserver-builder repository. + +3. `kubectl create -f example-deployment.yaml`, modifying as necessary to + point to your prometheus server. + + + diff --git a/deploy/example-deployment.yaml b/deploy/example-deployment.yaml new file mode 100644 index 00000000..a21f62a4 --- /dev/null +++ b/deploy/example-deployment.yaml @@ -0,0 +1,41 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + labels: + app: cm-adapter + name: cm-adapter +spec: + replicas: 1 + selector: + matchLabels: + app: cm-adapter + template: + metadata: + labels: + app: cm-adapter + name: cm-adapter + spec: + containers: + - name: cm-adapter + image: cm-adapter + imagePullPolicy: Never + args: + - "/cm-adapter" + - "--secure-port=6443" + - "--tls-cert-file=/var/run/serving-cert/serving.crt" + - "--tls-private-key-file=/var/run/serving-cert/serving.key" + - "--logtostderr=true" + - "--prometheus-url=http://prometheus.prom.svc:9090/" + - "--metrics-relist-interval=30s" + - "--rate-interval=30s" + - "--v=10" + ports: + - containerPort: 6443 + volumeMounts: + - mountPath: /var/run/serving-cert + name: volume-serving-cert + readOnly: true + volumes: + - name: volume-serving-cert + secret: + secretName: cm-adapter-serving-certs