我想管理堆棧中的環境變量,然後服務可以使用它。例如: 我定義了一個evn tracker_ip = 192.168.0.101,然後我想在服務創建中使用它。如何管理Rancher中的環境變量
我應該怎麼辦
我想管理堆棧中的環境變量,然後服務可以使用它。例如: 我定義了一個evn tracker_ip = 192.168.0.101,然後我想在服務創建中使用它。如何管理Rancher中的環境變量
我應該怎麼辦
有可能取決於你正在嘗試做的,你是如何部署的籌碼幾個答案。
使用CLI /牧場主撰寫
如果您正在使用命令行,你可以用變量代換。如何做到這一點的說明,可在官方文檔中找到:
https://docs.rancher.com/rancher/v1.5/en/cli/variable-interpolation/
使用牧場主UI /目錄
如果你想通過養牛UI做,你可以做到這一點通過在目錄中創建模板並輸入問題來輸入環境變量。如何做到這一點這裏的更多細節:
https://docs.rancher.com/rancher/v1.5/en/catalog/private-catalog/
您可以定義這樣的牧場主,compose.yml文件的問題:
version: '2'
catalog:
name: My Application
version: v0.0.1
questions:
- variable: TRACKER_IP
label: Tracker IP address
required: true
default: 192.168.0.101
type: string
然後,您可以推答案,環境部爲您的圖像中使用的碼頭工人,compose.yml模板:
version: '2'
services:
web:
image: myimage
ports:
- 8000
environment:
TRACKER_IP: ${TRACKER_IP}
有沒有辦法做的正是你的要求,因爲這WOU ld允許編輯運行容器和容器的變量是不可變的。環境變量可以在服務上定義,但在堆棧上沒有定義,並且可用於所有服務。
祕密有點像這樣,可以跨服務共享,但不能編輯。
根據tracker_ip的關聯位置,您也可以創建一個外部服務作爲堆棧的一部分。外部服務本質上只是在Rancher中創建一個DNS條目。因此,您可以直接將您的服務鏈接到external_tracker服務,並參考tracker
。
version: '2'
services:
myservice:
...
link:
- tracker_service:tracker
...