mirror of https://github.com/kubeflow/examples.git
Parametrize volumes and ports for nmslib containers
This commit is contained in:
parent
133e054033
commit
6e9150bad6
|
@ -1,7 +1,7 @@
|
||||||
local baseParams = std.extVar("__ksonnet/params").components["nmslib"];
|
local baseParams = std.extVar("__ksonnet/params").components["nmslib"];
|
||||||
|
|
||||||
{
|
{
|
||||||
deploymentSpec(params, env, containers):: {
|
deploymentSpec(params, env, containers, volumes=[]):: {
|
||||||
apiVersion: "extensions/v1beta1",
|
apiVersion: "extensions/v1beta1",
|
||||||
kind: "Deployment",
|
kind: "Deployment",
|
||||||
metadata: {
|
metadata: {
|
||||||
|
@ -26,20 +26,13 @@ local baseParams = std.extVar("__ksonnet/params").components["nmslib"];
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
containers: containers,
|
containers: containers,
|
||||||
volumes: [
|
volumes: volumes,
|
||||||
{
|
|
||||||
name: "gcp-credentials",
|
|
||||||
secret: {
|
|
||||||
secretName: "user-gcp-sa",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
jobSpec(params, env, containers):: {
|
jobSpec(params, env, containers, volumes=[]):: {
|
||||||
apiVersion: "batch/v1",
|
apiVersion: "batch/v1",
|
||||||
kind: "Job",
|
kind: "Job",
|
||||||
metadata: {
|
metadata: {
|
||||||
|
@ -60,40 +53,19 @@ local baseParams = std.extVar("__ksonnet/params").components["nmslib"];
|
||||||
spec: {
|
spec: {
|
||||||
"restartPolicy": "OnFailure",
|
"restartPolicy": "OnFailure",
|
||||||
containers: containers,
|
containers: containers,
|
||||||
volumes: [
|
volumes: volumes,
|
||||||
{
|
|
||||||
name: "gcp-credentials",
|
|
||||||
secret: {
|
|
||||||
secretName: "user-gcp-sa",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
containerSpec(params):: {
|
containerSpec(params, env=[], volumeMounts=[], ports=[]):: {
|
||||||
name: params.name,
|
name: params.name,
|
||||||
image: params.image,
|
image: params.image,
|
||||||
args: params.args,
|
args: params.args,
|
||||||
ports: [
|
ports: ports,
|
||||||
{
|
env: env,
|
||||||
containerPort: 8008,
|
volumeMounts: volumeMounts,
|
||||||
}
|
|
||||||
],
|
|
||||||
env: [
|
|
||||||
{
|
|
||||||
name: "GOOGLE_APPLICATION_CREDENTIALS",
|
|
||||||
value: "/secret/gcp-credentials/user-gcp-sa.json",
|
|
||||||
}
|
|
||||||
],
|
|
||||||
volumeMounts: [
|
|
||||||
{
|
|
||||||
mountPath: "/secret/gcp-credentials",
|
|
||||||
name: "gcp-credentials",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
|
|
||||||
service(params, env):: {
|
service(params, env):: {
|
||||||
|
@ -137,6 +109,29 @@ local baseParams = std.extVar("__ksonnet/params").components["nmslib"];
|
||||||
parts(newParams, env):: {
|
parts(newParams, env):: {
|
||||||
local params = baseParams + newParams,
|
local params = baseParams + newParams,
|
||||||
|
|
||||||
|
local volumes = [
|
||||||
|
{
|
||||||
|
name: "gcp-credentials",
|
||||||
|
secret: {
|
||||||
|
secretName: "user-gcp-sa",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
local containerEnv = [
|
||||||
|
{
|
||||||
|
name: "GOOGLE_APPLICATION_CREDENTIALS",
|
||||||
|
value: "/secret/gcp-credentials/user-gcp-sa.json",
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
local containerVolumeMounts = [
|
||||||
|
{
|
||||||
|
mountPath: "/secret/gcp-credentials",
|
||||||
|
name: "gcp-credentials",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
creator:: {
|
creator:: {
|
||||||
local creatorParams = params + {
|
local creatorParams = params + {
|
||||||
args: [
|
args: [
|
||||||
|
@ -149,7 +144,12 @@ local baseParams = std.extVar("__ksonnet/params").components["nmslib"];
|
||||||
},
|
},
|
||||||
|
|
||||||
all: [
|
all: [
|
||||||
$.jobSpec(creatorParams, env, [ $.containerSpec(creatorParams) ]),
|
$.jobSpec(creatorParams, env,
|
||||||
|
[
|
||||||
|
$.containerSpec(creatorParams, env=containerEnv,
|
||||||
|
volumeMounts=containerVolumeMounts)
|
||||||
|
],
|
||||||
|
volumes=volumes),
|
||||||
],
|
],
|
||||||
}.all,
|
}.all,
|
||||||
|
|
||||||
|
@ -166,9 +166,21 @@ local baseParams = std.extVar("__ksonnet/params").components["nmslib"];
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
local containerPorts = [
|
||||||
|
{
|
||||||
|
containerPort: 8008,
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
all: [
|
all: [
|
||||||
$.service(serverParams, env),
|
$.service(serverParams, env),
|
||||||
$.deploymentSpec(serverParams, env, [ $.containerSpec(serverParams) ]),
|
$.deploymentSpec(serverParams, env,
|
||||||
|
[
|
||||||
|
$.containerSpec(serverParams, env=containerEnv,
|
||||||
|
volumeMounts=containerVolumeMounts,
|
||||||
|
ports=containerPorts)
|
||||||
|
],
|
||||||
|
volumes=volumes),
|
||||||
],
|
],
|
||||||
}.all,
|
}.all,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue