Skip to content

Instantly share code, notes, and snippets.

@chocopowwwa
Last active August 20, 2018 08:56
Show Gist options
  • Select an option

  • Save chocopowwwa/3bab772510ae23a11be7d4a030bf4a2e to your computer and use it in GitHub Desktop.

Select an option

Save chocopowwwa/3bab772510ae23a11be7d4a030bf4a2e to your computer and use it in GitHub Desktop.
vamp-l7-load-balancer
---
apiVersion: v1
kind: Service
metadata:
name: etcd-client
spec:
ports:
- name: etcd-client-port
port: 2379
protocol: TCP
targetPort: 2379
selector:
app: etcd
---
apiVersion: v1
kind: Pod
metadata:
labels:
app: etcd
etcd_node: etcd0
name: etcd0
spec:
containers:
- command:
- /etcd
- --name
- etcd0
- --initial-advertise-peer-urls
- http://etcd0:2380
- --listen-peer-urls
- http://0.0.0.0:2380
- --listen-client-urls
- http://0.0.0.0:2379
- --advertise-client-urls
- http://etcd0:2379
- --initial-cluster
- etcd0=http://etcd0:2380,etcd1=http://etcd1:2380,etcd2=http://etcd2:2380
- --initial-cluster-state
- new
image: quay.io/coreos/etcd:v2.3.7
name: etcd0
ports:
- containerPort: 2379
name: client
protocol: TCP
- containerPort: 2380
name: server
protocol: TCP
restartPolicy: Never
---
apiVersion: v1
kind: Service
metadata:
labels:
etcd_node: etcd0
name: etcd0
spec:
ports:
- name: client
port: 2379
protocol: TCP
targetPort: 2379
- name: server
port: 2380
protocol: TCP
targetPort: 2380
selector:
etcd_node: etcd0
---
apiVersion: v1
kind: Pod
metadata:
labels:
app: etcd
etcd_node: etcd1
name: etcd1
spec:
containers:
- command:
- /etcd
- --name
- etcd1
- --initial-advertise-peer-urls
- http://etcd1:2380
- --listen-peer-urls
- http://0.0.0.0:2380
- --listen-client-urls
- http://0.0.0.0:2379
- --advertise-client-urls
- http://etcd1:2379
- --initial-cluster
- etcd0=http://etcd0:2380,etcd1=http://etcd1:2380,etcd2=http://etcd2:2380
- --initial-cluster-state
- new
image: quay.io/coreos/etcd:v2.3.7
name: etcd1
ports:
- containerPort: 2379
name: client
protocol: TCP
- containerPort: 2380
name: server
protocol: TCP
restartPolicy: Never
---
apiVersion: v1
kind: Service
metadata:
labels:
etcd_node: etcd1
name: etcd1
spec:
ports:
- name: client
port: 2379
protocol: TCP
targetPort: 2379
- name: server
port: 2380
protocol: TCP
targetPort: 2380
selector:
etcd_node: etcd1
---
apiVersion: v1
kind: Pod
metadata:
labels:
app: etcd
etcd_node: etcd2
name: etcd2
spec:
containers:
- command:
- /etcd
- --name
- etcd2
- --initial-advertise-peer-urls
- http://etcd2:2380
- --listen-peer-urls
- http://0.0.0.0:2380
- --listen-client-urls
- http://0.0.0.0:2379
- --advertise-client-urls
- http://etcd2:2379
- --initial-cluster
- etcd0=http://etcd0:2380,etcd1=http://etcd1:2380,etcd2=http://etcd2:2380
- --initial-cluster-state
- new
image: quay.io/coreos/etcd:v2.3.7
name: etcd2
ports:
- containerPort: 2379
name: client
protocol: TCP
- containerPort: 2380
name: server
protocol: TCP
restartPolicy: Never
---
apiVersion: v1
kind: Service
metadata:
labels:
etcd_node: etcd2
name: etcd2
spec:
ports:
- name: client
port: 2379
protocol: TCP
targetPort: 2379
- name: server
port: 2380
protocol: TCP
targetPort: 2380
selector:
etcd_node: etcd2
---
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: vamp-gateway-agent
spec:
template:
metadata:
labels:
io.vamp: vamp-gateway-agent
spec:
containers:
- name: vamp-gateway-agent
image: magneticio/vamp-gateway-agent:0.9.5
ports:
- name: p80
containerPort: 80
env:
- name: VAMP_KEY_VALUE_STORE_TYPE
value: etcd
- name: VAMP_KEY_VALUE_STORE_CONNECTION
value: http://etcd-client:2379
- name: VAMP_KEY_VALUE_STORE_PATH
value: /vamp/default/gateways/haproxy/1.7/configuration/value
- name: VAMP_ELASTICSEARCH_URL
value: http://elasticsearch:9200
resources:
requests:
cpu: 0.2
memory: 256
securityContext:
privileged: true
---
apiVersion: v1
kind: Service
metadata:
name: vamp-gateway-agent
labels:
io.vamp: daemon
spec:
selector:
io.vamp: vamp-gateway-agent
ports:
- name: p80
port: 80
protocol: TCP
targetPort: 80
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment