Skip to content

Commit aa80bdc

Browse files
authored
Merge pull request #158 from sunya-ch/setup-manifest
add missing cases of openshift deployment
2 parents 5b31253 + f26c311 commit aa80bdc

File tree

22 files changed

+191
-85
lines changed

22 files changed

+191
-85
lines changed

Makefile

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,21 +72,31 @@ test: build-test test-pipeline test-estimator test-model-server test-offline-tra
7272

7373
# set image
7474
set-image:
75-
cd ./manifests/base && kustomize edit set image kepler_model_server=$(IMAGE)
76-
cd ./manifests/server && kustomize edit set image kepler_model_server=$(IMAGE)
75+
@cd ./manifests/base && kustomize edit set image kepler_model_server=$(IMAGE)
76+
@cd ./manifests/server && kustomize edit set image kepler_model_server=$(IMAGE)
7777

7878
# deploy
7979
_deploy:
80-
$(MAKE) set-image
81-
kustomize build ./manifests/base|kubectl apply -f -
80+
@$(MAKE) set-image
81+
@kustomize build ./manifests/base|kubectl apply -f -
82+
83+
# print
84+
_print:
85+
@$(MAKE) set-image
86+
@kustomize build ./manifests/base|cat
8287

8388
cleanup:
8489
kustomize build manifests/base|kubectl delete -f -
8590

8691
deploy:
87-
chmod +x ./manifests/set.sh
88-
./manifests/set.sh "${OPTS}"
89-
$(MAKE) _deploy
92+
@chmod +x ./manifests/set.sh
93+
@./manifests/set.sh "${OPTS}"
94+
@$(MAKE) _deploy
95+
96+
manifest:
97+
@chmod +x ./manifests/set.sh
98+
@./manifests/set.sh "${OPTS}"
99+
@$(MAKE) _print
90100

91101
e2e-test:
92102
chmod +x ./tests/e2e_test.sh

cmd/main.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@
1313
UTC_OFFSET_TIMEDELTA = datetime.datetime.utcnow() - datetime.datetime.now()
1414
data_path = os.getenv("CPE_DATAPATH", data_path)
1515

16-
# set model top path to data path
17-
os.environ['MODEL_PATH'] = data_path
18-
1916
cur_path = os.path.join(os.path.dirname(__file__), '.')
2017
sys.path.append(cur_path)
2118
src_path = os.path.join(os.path.dirname(__file__), '..', 'src')
@@ -749,6 +746,9 @@ def export(args):
749746

750747

751748
if __name__ == "__main__":
749+
# set model top path to data path
750+
os.environ['MODEL_PATH'] = data_path
751+
752752
# Create an ArgumentParser object
753753
parser = argparse.ArgumentParser(description="Kepler model server entrypoint")
754754
parser.add_argument("command", type=str, help="The command to execute.")
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace: kepler
2+
3+
patchesStrategicMerge:
4+
- ./patch/patch-estimator-sidecar.yaml
5+
- ./patch/patch-openshift.yaml
6+
7+
resources:
8+
- ../kepler
9+
- ./openshift/scc.yaml
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
namespace: kepler
2+
3+
patchesStrategicMerge:
4+
- ./patch/patch-estimator-sidecar.yaml
5+
- ./patch/patch-model-server.yaml
6+
- ./patch/patch-openshift.yaml
7+
8+
resources:
9+
- ../kepler
10+
- ../server
11+
- ./openshift/scc.yaml

manifests/base/openshift/scc.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# scc for the Kepler
2+
kind: SecurityContextConstraints
3+
apiVersion: security.openshift.io/v1
4+
metadata:
5+
name: kepler-scc
6+
# To allow running privilegedContainers
7+
allowPrivilegedContainer: true
8+
allowHostDirVolumePlugin: true
9+
allowHostNetwork: false
10+
allowHostPorts: false
11+
allowHostIPC: false
12+
allowHostPID: true
13+
readOnlyRootFilesystem: true
14+
defaultAddCapabilities:
15+
- SYS_ADMIN
16+
runAsUser:
17+
type: RunAsAny
18+
seLinuxContext:
19+
type: RunAsAny
20+
fsGroup:
21+
type: RunAsAny
22+
volumes:
23+
- configMap
24+
- projected
25+
- emptyDir
26+
- hostPath
27+
- secret
28+
users:
29+
- kepler
30+
- system:serviceaccount:kepler:kepler-sa
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
namespace: kepler
2+
3+
patchesStrategicMerge:
4+
- ./patch/patch-model-server.yaml
5+
- ./patch/patch-openshift.yaml
6+
7+
resources:
8+
- ../kepler
9+
- ../server
10+
- ./openshift/scc.yaml

manifests/base/patch/patch-estimator-sidecar.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ spec:
3737
readOnly: true
3838
- mountPath: /tmp
3939
name: tmp
40+
- mountPath: /mnt
41+
name: mnt
4042
volumes:
4143
- emptyDir: {}
42-
name: tmp
44+
name: tmp
45+
- emptyDir: {}
46+
name: mnt
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
apiVersion: v1
2+
kind: Namespace
3+
metadata:
4+
annotations:
5+
openshift.io/description: "Kepler exporter"
6+
openshift.io/display-name: ""
7+
name: kepler
8+
---
9+
apiVersion: apps/v1
10+
kind: DaemonSet
11+
metadata:
12+
name: kepler-exporter
13+
namespace: kepler
14+
spec:
15+
template:
16+
spec:
17+
containers:
18+
- name: kepler-exporter
19+
volumeMounts:
20+
- name: kernel-src
21+
mountPath: /usr/src/kernels
22+
securityContext:
23+
privileged: true
24+
volumes:
25+
- name: kernel-src
26+
hostPath:
27+
path: /usr/src/kernels
28+
type: Directory

manifests/offline-trainer/offline-trainer.yaml

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,3 @@
1-
apiVersion: v1
2-
kind: ConfigMap
3-
metadata:
4-
name: kepler-model-server-cfm
5-
namespace: system
6-
data:
7-
MODEL_PATH: /data/models
8-
---
91
apiVersion: apps/v1
102
kind: Deployment
113
metadata:
@@ -31,7 +23,7 @@ spec:
3123
configMap:
3224
name: kepler-model-server-cfm
3325
- emptyDir: {}
34-
name: model-data
26+
name: mnt
3527
containers:
3628
- name: offline-trainer
3729
image: kepler_model_server
@@ -43,8 +35,8 @@ spec:
4335
- name: cfm
4436
mountPath: /etc/kepler/kepler.config
4537
readOnly: true
46-
- name: model-data
47-
mountPath: /data
38+
- name: mnt
39+
mountPath: /mnt
4840
readOnly: false
4941
command: [ "python3.8" ]
5042
args: ["-u", "src/train/offline_trainer.py" ]

manifests/server/online-train/patch-trainer.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v1
22
kind: ConfigMap
33
metadata:
44
name: kepler-model-server-cfm
5-
namespace: system
5+
namespace: kepler
66
data:
77
PROM_SERVER: 'http://prometheus-k8s.monitoring.svc.cluster.local:9090'
88
PROM_QUERY_INTERVAL: '20'
@@ -14,7 +14,7 @@ apiVersion: apps/v1
1414
kind: Deployment
1515
metadata:
1616
name: kepler-model-server
17-
namespace: system
17+
namespace: kepler
1818
spec:
1919
template:
2020
spec:
@@ -27,8 +27,8 @@ spec:
2727
- name: cfm
2828
mountPath: /etc/kepler/kepler.config
2929
readOnly: true
30-
- name: model-data
31-
mountPath: /data
30+
- name: mnt
31+
mountPath: /mnt
3232
readOnly: false
3333
command: [ "python3.8" ]
3434
args: ["-u", "src/train/online_trainer.py" ]

0 commit comments

Comments
 (0)