如何解决带有构建时间的变量值env vars
我有一个Helm图表,在部署中,我想为我的Pod提供一些环境变量。在构建CI / CD的过程中,我将值设为env vars,现在像这样传递它们:
helm upgrade CHART_NAME helm --install --set-string webserver.env.DATABASE_URL=$DATABASE_URL
我有20个以上的环境变量,我可以在我的values.yml中以某种方式访问它们吗?
webserver:
env:
DATABASE_URL=${DATABASE_URL}
可悲的是,这不起作用。
解决方法
更好的方法是创建一个values-override.yaml文件,并将需要从Jenkins设置的所有值存储在values-override文件中。
使用sed
命令将value-override.yaml更新为jenkins env-variable。使用Helm升级命令中的override values.yaml。
Helm不会解析from google.cloud import bigquery
import os
import pandas
#need to set credential path
credential_path = (r"C:\Users\crlas\learningPython\google_application_credentials.json")
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = credential_path
#create a "Client" object
client = bigquery.Client()
#construct a reference to the "hacker_news" dataset
dataset_ref = client.dataset("hacker_news",project="bigquery-public-data")
#API request - fetch the dataset
dataset = client.get_dataset(dataset_ref)
#list all tables in the dataset
tables = list(client.list_tables(dataset))
#print all table names
for table in tables:
print(table.table_id)
print()
#construct a reference to the "full" table
table_ref = dataset_ref.table("full")
#API request - fetch the dataset
table = client.get_table(table_ref)
#print info on all the columns in the "full" table
print(table.schema)
# print("table schema should have printed above")
print()
#preview first 5 lines of the table
client.list_rows(table,max_results=5).to_dataframe()
文件中的占位符(环境变量),但是您可以在将文件传递给values
命令之前,自己在CI / CD脚本中完成此操作:
values-env.yaml:
helm upgrade
CI / CD脚本:
webserver:
env:
DATABASE_URL=${DATABASE_URL}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。