[英]Issue with database connection string using Helm and kubernetes secrets
我正在嘗試將格式化的 Postgres 連接字符串放入 Kubernetes 機密中。 我正在使用 Helm 將應用程序部署到 AKS 群集,部署后,查看 Azure 門戶中的機密值,我發現了一些奇怪的東西。
secrets.yaml
中的連接字符串聲明方式如下:
DatabaseConnectionString: "{{ (printf "Server=%s;Port=%s;Database=%s;User Id=%s;Password=%s" .Values.database.host .Values.database.port .Values.database.name .Values.database.user .Values.database.password) | b64enc }}"
查看 Azure 門戶中的值,我得到以下結果:
Server=****;Port=%!s(int64=5432);Database=postgres;User Id=***;Password=***
Port
的值有一個奇怪的值,而其他值是正確的。
我做錯了什么?
在格式字符串中,使用%d
作為(整數)端口號。
{{ with .Values.database }}
DatabaseConnectionString: "{{ printf "Server=%s;Port=%d;..." .host .port | b64enc }}"
{{ end }}
這來自Go fmt
包。 !%s(int64=...)
是它報告錯誤的方式: %s
特別需要一個字符串,但它得到了一個整數值。
您還可以在字符串中的任何位置使用%v
來獲取字符串和數字的默認格式。 (請注意,該格式不能用作列表和地圖的 YAML。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.