我希望通过 gcr.io/******/serve_model:lat5
图像访问该变量,该图像是 gcr.io/***** 的参数*/deployservice:lat2
最初我尝试将变量作为参数传递,但它不起作用,所以我尝试将它作为环境变量传递。
我的环境变量将是 GCP
存储桶的 URL,我的 serve_model
将从这里访问 .sav
模型文件。
name='web-ui',
image='gcr.io/******/deployservice:lat2',
arguments=[
'--image', 'gcr.io/******/serve_model:lat5',
'--name', 'web-ui',
'--container-port', '8080',
'--service-port', '80',
'--service-type', "LoadBalancer"
]
).add_env_variable(V1EnvVar(name='modelurl', value=Model_Path))
最佳答案
add_env_variable()
是作为 ContainerOp
属性公开的 Container
对象的函数。
所以像下面这样的东西是可行的。引用kfp dsl代码here
model_path = 'gcp://dummy-url'
container_op = ContainerOp(name='web-ui',
image='gcr.io/******/deployservice:lat2',
arguments=[
'--image', 'gcr.io/******/serve_model:lat5',
'--name', 'web-ui',
'--container-port', '8080',
'--service-port', '80',
'--service-type', "LoadBalancer"]
)
container_op.container.add_env_variable(V1EnvVar(name='model_url', value=model_path))
您可以通过检查 zip 中 -container
下 env
部分的 YAML 来验证这一点
- container:
args:
- --image
- gcr.io/******/serve_model:lat5
- --name
- web-ui
- --container-port
- '8080'
- --service-port
- '80'
- --service-type
- LoadBalancer
env:
- name: modelurl
value: gcp://dummy-url <--the static env value
image: gcr.io/******/deployservice:lat2
关于python - 如何在 kubeflow 管道中传递环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59150465/