我目前正在使用 golang 开发一个小型 API,它将连接到 sql 数据库。下面是我静态传递数据库连接字符串详细信息的片段(在代码中硬编码)。
const (
DB_USER = "username"
DB_PASSWORD = "password"
DB_NAME = "db_name"
DB_HOST = "db_server_name"
DB_PORT = db_port )
现在我想使用 ENV 变量使这个静态硬编码值变成动态的,所以任何人都可以使用 ENV vars 设置这些细节。有人可以帮助我如何实现这一目标。如何从代码中以这种方式设置它们,以便它可以在 k8 的部署中作为 ENV vars 动态传递?
我当前的 deployment.yaml 文件如下
apiVersion: apps/v1
kind: Deployment
metadata:
name: go-demo-app
spec:
replicas: 1
selector:
matchLabels:
app: go-demo-app
template:
metadata:
labels:
app: go-demo-app
spec:
containers:
- name: go-demo-app
image: dockerhub/go-api:latest
resources: {}
ports:
- containerPort: 8001
以上工作正常,因为数据库服务器名称在代码中是硬编码的,现在我可以通过代码使用 ENV vars 动态传递它,我可以在 k8 的部署中引用它
噜噜哒
相关分类