4.2.3.3. 将 Secret 指定为资源
如果您有一个包含配置信息的 OpenShift Secret,且您需要将其作为可提供给一个或多个集成的资源进行材料,请使用 --resource <secret> 语法。
前提条件
- 设置 Camel K 开发环境
您有一个或多个存储在 OpenShift 集群上的机密文件。例如,您可以使用以下命令创建 Secret:
oc create secret generic my-sec --from-literal=my-secret-key="very top secret"
流程
创建引用 OpenShift 集群中存储的 Secret 的 Camel K 集成。
例如,以下集成(名为
ResourceSecretRoute.java)引用my-secSecret:import org.apache.camel.builder.RouteBuilder; public class ResourceSecretRoute extends RouteBuilder { @Override public void configure() throws Exception { from("file:/etc/camel/resources/my-sec/?fileName=my-secret-key&noop=true&idempotent=false") .log("resource file content is: ${body}"); } }运行集成并使用
--resource选项将 Secret 整理到默认的/etc/camel/resources/目录中,以便供正在运行的集成使用。例如:
kamel run --resource secret:my-sec ResourceSecretRoute.java --dev当集成启动时,Camel K 运算符使用 Secret 的内容挂载卷(如
my-sec)。
注: 如果您指定集群中还没有可用的 Secret,则集成会等待并在 Secret 可用时启动。