blob: a750a9755a7f3353cf4591e1065ba471dc3bdfc2 [file] [log] [blame]
Richard Jankowski54f7a862017-12-20 13:31:10 -05001apiVersion: v1
2kind: Service
3metadata:
4 name: consul
5 labels:
6 name: consul
7spec:
Richard Jankowskic3c291c2018-02-02 13:57:33 -05008 type: ClusterIP
Richard Jankowski54f7a862017-12-20 13:31:10 -05009 clusterIP: None
10 ports:
11 - name: http
12 port: 8500
13 targetPort: 8500
14 - name: https
15 port: 8443
16 targetPort: 8443
17 - name: rpc
18 port: 8400
19 targetPort: 8400
20 - name: serflan-tcp
21 protocol: "TCP"
22 port: 8301
23 targetPort: 8301
24 - name: serflan-udp
25 protocol: "UDP"
26 port: 8301
27 targetPort: 8301
28 - name: serfwan-tcp
29 protocol: "TCP"
30 port: 8302
31 targetPort: 8302
32 - name: serfwan-udp
33 protocol: "UDP"
34 port: 8302
35 targetPort: 8302
36 - name: server
37 port: 8300
38 targetPort: 8300
39 - name: consuldns
40 port: 8600
41 targetPort: 8600
42 selector:
43 app: consul
44---
45apiVersion: apps/v1beta1
46kind: StatefulSet
47metadata:
48 name: consul
49spec:
50 serviceName: consul
51 replicas: 3
52 template:
53 metadata:
54 labels:
55 app: consul
56 spec:
57 affinity:
58 podAntiAffinity:
59 requiredDuringSchedulingIgnoredDuringExecution:
60 - labelSelector:
61 matchExpressions:
62 - key: app
63 operator: In
64 values:
65 - consul
66 topologyKey: kubernetes.io/hostname
67 terminationGracePeriodSeconds: 10
68 containers:
69 - name: consul
70 image: "consul:0.9.2"
71 env:
72 - name: POD_IP
73 valueFrom:
74 fieldRef:
75 fieldPath: status.podIP
76 - name: NAMESPACE
77 valueFrom:
78 fieldRef:
79 fieldPath: metadata.namespace
80 args:
81 - "agent"
82 - "-bind=0.0.0.0"
83 - "-bootstrap-expect=3"
84 - "-retry-join=consul-0.consul.$(NAMESPACE).svc.cluster.local"
85 - "-retry-join=consul-1.consul.$(NAMESPACE).svc.cluster.local"
86 - "-retry-join=consul-2.consul.$(NAMESPACE).svc.cluster.local"
87 - "-client=0.0.0.0"
88 - "-config-dir=/consul/config"
Richard Jankowski54f7a862017-12-20 13:31:10 -050089 - "-data-dir=/consul/data"
Richard Jankowski54f7a862017-12-20 13:31:10 -050090 - "-server"
91 - "-ui"
Richard Jankowski54f7a862017-12-20 13:31:10 -050092 lifecycle:
93 preStop:
94 exec:
95 command:
96 - /bin/sh
97 - -c
98 - consul leave
99 ports:
100 - containerPort: 8500
101 name: ui-port
102 - containerPort: 8400
103 name: alt-port
104 - containerPort: 53
105 name: udp-port
106 - containerPort: 8443
107 name: https-port
108 - containerPort: 8080
109 name: http-port
110 - containerPort: 8301
111 name: serflan
112 - containerPort: 8302
113 name: serfwan
114 - containerPort: 8600
115 name: consuldns
116 - containerPort: 8300
117 name: server