使用 Ballerina
configurable
时,我们可以使用 config.toml
来维护配置并编译服务,不会出现任何问题。
如果我需要在 Ballerina 中使用
os:getEnv("variable")
,有没有办法在本地环境中挂载这个文件并编译服务?
谢谢你。
您可以使用
bal build --cloud=k8s
命令构建 kubernetes 工件。然后您可以在target/kubernets
目录中找到创建的工件。在那里你可以找到一个 yaml 文件,在 yaml 文件中你可以看到一个带有 Deployment 类型的 yaml 文档。您必须在其中添加需要从已安装的秘密引用的环境变量。
apiVersion: "apps/v1"
kind: "Deployment"
...
spec:
...
spec:
containers:
- image: "os_secret:latest"
...
env:
- name: MY_ENV_VARIABLE
valueFrom:
secretKeyRef:
name: my-secret
key: env-variable
...
您必须在 yaml 文件末尾添加密钥,如下所示。
...
---
apiVersion: v1
kind: Secret
metadata:
name: my-secret
type: Opaque
data:
env-variable: <Base64 encoded value>
通过更新
Deployment
并添加 Secret
,您可以在本地进行测试。