4.2.3.3. 将 Secret 指定为资源
如果您有包含配置信息的 OpenShift Secret,且您需要将它作为一个或多个集成可用的资源进行整理,请使用 --resource <secret> 语法。
先决条件
- 设置 Camel K 开发环境
您有一个或多个存储在 OpenShift 集群上的 Secret 文件。例如,您可以使用以下命令创建 Secret:
oc create secret generic my-sec --from-literal=my-secret-key="very top secret"
流程
创建一个 Camel K 集成,该集成引用存储在 OpenShift 集群中的 Secret。
例如,以下集成(名为
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 operator 会挂载一个带有 Secret 的内容的卷(如
my-sec)。
注: 如果您指定了集群中还没有可用的 Secret,则集成会在 Secret 可用时等待并启动。