Skip to content
This repository was archived by the owner on Mar 3, 2023. It is now read-only.

Commit e51f265

Browse files
nicknezisjoshfischer1108
authored andcommitted
Updated to support Kubernetes 1.16 (#3426)
* Updating to fix deprecated Kubernetes APIs * Removing the old controller logic * Formatting cleanup * Trying to use latest k8s java client * Updated to use the latest K8s client * Updated tools k8s limits * Fix for missing statefulset selector in Helm chart * Updated to K8s client 7.0.0 * Code cleanup * Updated gson and added gson-fire dependencies * Updates to better handle k8s resource delete
1 parent 2f0c1db commit e51f265

File tree

22 files changed

+229
-136
lines changed

22 files changed

+229
-136
lines changed

WORKSPACE

+9-9
Original file line numberDiff line numberDiff line change
@@ -537,8 +537,8 @@ maven_jar(
537537
# end Pulsar Client
538538

539539
# Kubernetes java client
540-
kubernetes_client_version = "1.0.0-beta1"
541-
squareup_okhttp_version = "2.7.5"
540+
kubernetes_client_version = "7.0.0"
541+
squareup_okhttp_version = "3.14.5"
542542

543543
maven_jar(
544544
name = "kubernetes_java_client",
@@ -557,25 +557,25 @@ maven_jar(
557557

558558
maven_jar(
559559
name = "squareup_okhttp",
560-
artifact = "com.squareup.okhttp:okhttp:" + squareup_okhttp_version
560+
artifact = "com.squareup.okhttp3:okhttp:" + squareup_okhttp_version
561561
)
562562
maven_jar(
563563
name = "squareup_okio",
564-
artifact = "com.squareup.okio:okio:1.6.0"
564+
artifact = "com.squareup.okio:okio:1.17.2"
565565
)
566566
maven_jar(
567567
name = "squareup_okhttp_logging_interceptor",
568-
artifact = "com.squareup.okhttp:logging-interceptor:" + squareup_okhttp_version
568+
artifact = "com.squareup.okhttp3:logging-interceptor:" + squareup_okhttp_version
569569
)
570570

571571
maven_jar(
572-
name = "squareup_okhttp_ws",
573-
artifact = "com.squareup.okhttp:okhttp-ws:" + squareup_okhttp_version
572+
name = "google_gson",
573+
artifact = "com.google.code.gson:gson:2.8.0"
574574
)
575575

576576
maven_jar(
577-
name = "google_gson",
578-
artifact = "com.google.code.gson:gson:2.6.2"
577+
name = "io_gsonfire",
578+
artifact = "io.gsonfire:gson-fire:1.8.3"
579579
)
580580

581581
maven_jar(

deploy/kubernetes/general/apiserver.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ subjects:
4545

4646
---
4747

48-
apiVersion: extensions/v1beta1
48+
apiVersion: apps/v1
4949
kind: Deployment
5050
metadata:
5151
name: heron-apiserver

deploy/kubernetes/general/bookkeeper.statefulset.yaml

+10-2
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,18 @@ data:
3636
BK_useHostNameAsBookieID: "true"
3737
---
3838

39-
apiVersion: apps/v1beta1
39+
apiVersion: apps/v1
4040
kind: StatefulSet
4141
metadata:
4242
name: bookie
4343
labels:
4444
app: bookkeeper
4545
component: bookie
4646
spec:
47+
selector:
48+
matchLabels:
49+
app: bookkeeper
50+
component: bookie
4751
serviceName: "bookkeeper"
4852
replicas: 3
4953
template:
@@ -145,11 +149,15 @@ spec:
145149
## Auto-Recovery makes sure to restore the replication factor when any bookie
146150
## crashes and it's not recovering on its own.
147151
##
148-
apiVersion: apps/v1beta1
152+
apiVersion: apps/v1
149153
kind: Deployment
150154
metadata:
151155
name: bookie-autorecovery
152156
spec:
157+
selector:
158+
matchLabels:
159+
app: bookkeeper
160+
component: bookkeeper-replication
153161
replicas: 2
154162
template:
155163
metadata:

deploy/kubernetes/general/bookkeeper.statefulset_empty.yaml

+10-2
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,18 @@ data:
3636
BK_useHostNameAsBookieID: "true"
3737
---
3838

39-
apiVersion: apps/v1beta1
39+
apiVersion: apps/v1
4040
kind: StatefulSet
4141
metadata:
4242
name: bookie
4343
labels:
4444
app: bookkeeper
4545
component: bookie
4646
spec:
47+
selector:
48+
matchLabels:
49+
app: bookkeeper
50+
component: bookie
4751
serviceName: "bookkeeper"
4852
replicas: 3
4953
template:
@@ -129,11 +133,15 @@ spec:
129133
## Auto-Recovery makes sure to restore the replication factor when any bookie
130134
## crashes and it's not recovering on its own.
131135
##
132-
apiVersion: apps/v1beta1
136+
apiVersion: apps/v1
133137
kind: Deployment
134138
metadata:
135139
name: bookie-autorecovery
136140
spec:
141+
selector:
142+
matchLabels:
143+
app: bookkeeper
144+
component: bookkeeper-replication
137145
replicas: 2
138146
template:
139147
metadata:

deploy/kubernetes/general/bookkeeper.yaml

+11-2
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,19 @@ data:
3838
## cannot be moved across different nodes.
3939
## For this reason, we run BK as a daemon set, one for each node in the
4040
## cluster, unless restricted by label selectors
41-
apiVersion: extensions/v1beta1
41+
apiVersion: apps/v1
4242
kind: DaemonSet
4343
metadata:
4444
name: bookie
4545
labels:
4646
app: bookkeeper
4747
component: bookie
4848
spec:
49+
selector:
50+
matchLabels:
51+
app: bookkeeper
52+
component: bookie
53+
cluster: bookkeeper
4954
template:
5055
metadata:
5156
labels:
@@ -130,11 +135,15 @@ spec:
130135
## Auto-Recovery makes sure to restore the replication factor when any bookie
131136
## crashes and it's not recovering on its own.
132137
##
133-
apiVersion: apps/v1beta1
138+
apiVersion: apps/v1
134139
kind: Deployment
135140
metadata:
136141
name: bookie-autorecovery
137142
spec:
143+
selector:
144+
matchLabels:
145+
app: bookkeeper
146+
component: bookkeeper-replication
138147
replicas: 2
139148
template:
140149
metadata:

deploy/kubernetes/general/tools.yaml

+18-1
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,15 @@
1818
##
1919
## Deployment Pod for tracker and ui
2020
##
21-
apiVersion: extensions/v1beta1
21+
apiVersion: apps/v1
2222
kind: Deployment
2323
metadata:
2424
name: heron-tracker
2525
namespace: default
2626
spec:
27+
selector:
28+
matchLabels:
29+
app: heron-tracker
2730
template:
2831
metadata:
2932
labels:
@@ -57,6 +60,13 @@ spec:
5760
--name=localzk
5861
--hostport=zookeeper:2181
5962
--rootpath="/heron"
63+
resources:
64+
requests:
65+
cpu: "100m"
66+
memory: "200M"
67+
limits:
68+
cpu: "400m"
69+
memory: "512M"
6070
- name: heron-ui
6171
image: heron/heron:latest
6272
ports:
@@ -68,6 +78,13 @@ spec:
6878
heron-ui
6979
--port=8889
7080
--base_url=/api/v1/namespaces/default/services/heron-ui:8889/proxy
81+
resources:
82+
requests:
83+
cpu: "100m"
84+
memory: "200M"
85+
limits:
86+
cpu: "400m"
87+
memory: "512M"
7188
---
7289

7390
##

deploy/kubernetes/general/zookeeper.yaml

+6-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ spec:
3333
---
3434

3535
## Define a StatefulSet for ZK servers
36-
apiVersion: apps/v1beta1
36+
apiVersion: apps/v1
3737
kind: StatefulSet
3838
metadata:
3939
name: zk
@@ -43,6 +43,10 @@ metadata:
4343
spec:
4444
serviceName: zookeeper
4545
replicas: 1
46+
selector:
47+
matchLabels:
48+
app: heron
49+
component: zookeeper
4650
template:
4751
metadata:
4852
labels:
@@ -66,7 +70,7 @@ spec:
6670
topologyKey: "kubernetes.io/hostname"
6771
containers:
6872
- name: zookeeper
69-
image: heron/heron:0.16.2
73+
image: heron/heron:latest
7074
command: ["sh", "-c"]
7175
args:
7276
- >

deploy/kubernetes/gke/gcs-apiserver.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ subjects:
4545

4646
---
4747

48-
apiVersion: extensions/v1beta1
48+
apiVersion: apps/v1
4949
kind: Deployment
5050
metadata:
5151
name: heron-apiserver

deploy/kubernetes/helm/templates/bookie.yaml

+7-2
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,10 @@ data:
5757
## For this reason, we run BK as a daemon set, one for each node in the
5858
## cluster, unless restricted by label selectors
5959
{{- if or (eq .Values.platform "gke") (eq .Values.platform "minikube") }}
60-
apiVersion: apps/v1beta1
60+
apiVersion: apps/v1
6161
kind: StatefulSet
6262
{{- else }}
63-
apiVersion: extensions/v1beta1
63+
apiVersion: apps/v1
6464
kind: DaemonSet
6565
{{- end }}
6666

@@ -70,6 +70,11 @@ metadata:
7070
app: {{ .Release.Name }}-bookkeeper
7171
component: {{ .Release.Name }}-bookie
7272
spec:
73+
selector:
74+
matchLabels:
75+
app: {{ .Release.Name }}-bookkeeper
76+
component: {{ .Release.Name }}-bookie
77+
cluster: {{ .Release.Name }}-bookkeeper
7378
{{- if or (eq .Values.platform "gke") (eq .Values.platform "minikube") }}
7479
serviceName: {{ .Release.Name }}-bookie
7580
replicas: {{ $bookieReplicas }}

deploy/kubernetes/helm/templates/tools.yaml

+9-5
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ data:
2828
HERON_APISERVER_MEM_MAX: {{ $apiServerMemory | quote }}
2929
---
3030

31-
apiVersion: extensions/v1beta1
31+
apiVersion: apps/v1
3232
kind: Deployment
3333
metadata:
3434
name: {{ .Release.Name }}-tools
@@ -38,6 +38,10 @@ metadata:
3838
release: {{ .Release.Name }}
3939
heritage: {{ .Release.Service }}
4040
spec:
41+
selector:
42+
matchLabels:
43+
app: {{ .Release.Name }}-tools
44+
release: {{ .Release.Name }}
4145
template:
4246
metadata:
4347
labels:
@@ -80,8 +84,8 @@ spec:
8084
cpu: "100m"
8185
memory: "200M"
8286
limits:
83-
cpu: "200m"
84-
memory: "300M"
87+
cpu: "400m"
88+
memory: "512M"
8589
ports:
8690
- containerPort: 8888
8791
name: api-port
@@ -101,8 +105,8 @@ spec:
101105
cpu: "100m"
102106
memory: "200M"
103107
limits:
104-
cpu: "200m"
105-
memory: "300M"
108+
cpu: "400m"
109+
memory: "512M"
106110
ports:
107111
- containerPort: 8889
108112
name: app-port

deploy/kubernetes/helm/templates/zookeeper.yaml

+5-3
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,18 @@ spec:
3939
{{- end }}
4040

4141
---
42-
apiVersion: apps/v1beta1
42+
apiVersion: apps/v1
4343
kind: StatefulSet
4444
metadata:
4545
name: {{ .Release.Name }}-zookeeper
4646
labels:
4747
app: {{ .Release.Name }}-zookeeper
48-
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
4948
release: {{ .Release.Name | quote }}
50-
heritage: {{ .Release.Service | quote }}
5149
spec:
50+
selector:
51+
matchLabels:
52+
app: {{ .Release.Name }}-zookeeper
53+
release: {{ .Release.Name | quote }}
5254
serviceName: {{ .Release.Name }}-zookeeper-headless
5355
replicas: {{ $zkReplicas }}
5456
template:

deploy/kubernetes/minikube/apiserver.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ subjects:
4646

4747
---
4848

49-
apiVersion: extensions/v1beta1
49+
apiVersion: apps/v1
5050
kind: Deployment
5151
metadata:
5252
name: heron-apiserver

deploy/kubernetes/minikube/bookkeeper.yaml

+6-1
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,19 @@ data:
3636
## cannot be moved across different nodes.
3737
## For this reason, we run BK as a daemon set, one for each node in the
3838
## cluster, unless restricted by label selectors
39-
apiVersion: extensions/v1beta1
39+
apiVersion: apps/v1
4040
kind: DaemonSet
4141
metadata:
4242
name: bookie
4343
labels:
4444
app: bookkeeper
4545
component: bookie
4646
spec:
47+
selector:
48+
matchLabels:
49+
app: bookkeeper
50+
component: bookie
51+
cluster: bookkeeper
4752
template:
4853
metadata:
4954
labels:

0 commit comments

Comments
 (0)