亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 kubernetes 中部署時如何在 golang 中使用 ENV var

在 kubernetes 中部署時如何在 golang 中使用 ENV var

Go
陪伴而非守候 2022-10-24 16:28:24
我目前正在使用 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/v1kind: Deploymentmetadata:  name: go-demo-appspec:  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 的部署中引用它
查看完整描述

1 回答

?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

將 .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:

            - name: DB_USER

              value: username

            - name: DB_PASSWORD 

              value: password

            - name: DB_NAME     

              value: db_name

            - name: DB_HOST     

              value: db_server_name

            - name: DB_PORT     

              value: "3306"

kubectl apply -f /path/to/file


在您的代碼上,將初始化更改為


var (

    DB_USER     = os.Getenv("DB_USER")

    DB_PASSWORD = os.Getenv("DB_PASSWORD")

    DB_NAME     = os.Getenv("DB_NAME")

    DB_HOST     = os.Getenv("DB_HOST")

    DB_PORT     = os.Getenv("DB_PORT")

)

我將 const 更改為 var 因為它是不允許的


查看完整回答
反對 回復 2022-10-24
  • 1 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號