## 運行時配置
[運行時配置](../Introduction/Architectureoverview/Runtimeconfiguration.md)是指包含本地文件的可重載配置。如果運行時未配置,則默認使用“null”,該程序會使用代碼中內置的缺省值。
- [v1 API 參考](../v1APIreference/Runtime.md)
- [v2 API 參考](../v2APIreference/Bootstrap.md)
### 文件系統層
在配置參考的各個部分描述了可用的運行時配置。例如,以下是上游群集的運行時配置。
假定文件夾`/srv/runtime/v1`指向的是存放全局運行時配置的文件路徑。以下是運行時的典型配置設置:
- symlink_root(根目錄的符號鏈接): `/srv/runtime/current`
- subdirectory(子目錄): `envoy`
- override_subdirectory(覆蓋子目錄): `envoy_override`
其中`/srv/runtime/current`是鏈接到`/srv/runtime/v1`目錄的符號鏈接。
運行時配置中的每個“.”表示新的目錄層級,以`symlink_root + subdirectory`為目錄根。例如,`health_check.min_interval`鍵展開之后具有以下完整文件路徑(使用符號鏈接):
```
/srv/runtime/current/envoy/health_check/min_interval
```
路徑的末端部分是文件。文件內容為運行時配置值。在從文件中讀取數值時,空格和換行將被忽略。
目錄`override_subdirectory`與`--service-cluster`命令行選項配合一起使用。假設`--service-cluster`已被設置為`my-cluster`。Envoy將優先在以下完整路徑中查找`health_check.min_interval`配置項:
```
/srv/runtime/current/envoy_override/my-cluster/health_check/min_interval
```
如果找到,該值將覆蓋在主路徑中查找到的任何值。這允許用戶在全局默認值之外,自定義單個群集的運行時配置值。
### 注釋
以#開頭的行被視為注釋。合理的注釋可以幫助理解所提供值的背景/原因。另外在一個空文件增加注釋也是有用的,預留文件的部署,以便在需要的時候可以使用。
### 通過符號鏈接交換更新運行值
有兩個步驟來更新任何運行時值。首先,創建整個全新運行時配置或者拷貝/更新所需的運行時配置。其次,使用以下命令或者等效命令,將舊的符號鏈接根自動交換到新的配置目錄下:
```
/srv/runtime:~$ ln -s /srv/runtime/v2 new && mv -Tf new current
```
關于如何部署文件系統數據,以及相關垃圾回收等問題,超出了本文檔的范圍。
### 統計
文件系統在運行時會收集一些統計信息,以`runtime.`命名空間。
| 名稱 | 類型 | 描述 |
| ----------------------- | ----------------------- | ----------------------- |
| load_error | Counter | 因錯誤而導致加載嘗試總數 |
| override_dir_not_exists | Counter | 未使用覆蓋目錄的加載總數 |
| override_dir_exists | Counter | 使用覆蓋目錄的加載總數 |
| load_success | Counter | 成功加載的嘗試總數 |
| num_keys | Gauge | 當前加載的鍵值數量 |
## 返回
- [上一級](../Configurationreference.md)
- [首頁目錄](../README.md)
- 首頁
- 簡介
- Envoy是什么
- 架構介紹
- 術語
- 線程模型
- 監聽器
- L3/L4網絡過濾器
- HTTP連接管理
- HTTP過濾器
- HTTP路由
- gRPC
- WebSocket支持
- 集群管理
- 服務發現
- 健康檢查
- 連接池
- 負載均衡
- 異常檢測
- 熔斷
- 全局限速
- TLS
- 統計
- 運行時配置
- 跟蹤
- TCP代理
- 訪問日志
- MongoDB
- DynamoDB
- Redis
- 熱重啟
- 動態配置
- 初始化
- 逐出
- 腳本
- 部署
- 業界對比
- 獲得幫助
- 歷史版本
- 編譯安裝
- 編譯
- 參考配置
- 演示沙箱
- 前端代理
- Zipkin跟蹤
- Jaeger跟蹤
- gRPC橋接
- 構建Envoy Docker鏡像
- 工具
- 配置參考
- V1 API 概述
- V2 API 概述
- 監聽器
- 網絡過濾器
- TLS客戶端身份認證
- Echo
- Mongo代理
- 速率限制
- Redis代理
- TCP代理
- HTTP連接管理器
- 路由匹配
- 流量轉移/分流
- HTTP頭部操作
- HTTP頭部清理
- 統計
- 運行時設置
- 路由發現服務
- HTTP過濾器
- 緩存
- CORS過濾器
- 故障注入
- DynamoDB
- gRPC HTTP/1.1 橋接
- gRPC-JSON 轉碼過濾器
- gRPC-Web 過濾器
- 健康檢查
- 速率限制
- 路由
- Lua
- 集群管理
- 統計
- 運行時設置
- 集群發現服務
- 健康檢查
- 熔斷
- 訪問日志
- 限速服務
- 運行時配置
- 路由表檢查工具
- 運維管理
- 命令行選項
- 熱重啟
- 管理接口
- 統計概述
- 運行時配置
- 文件系統
- 自定義擴展示例
- V1 API參考
- 監聽器
- 網絡過濾器
- TLS客戶端身份認證
- Echo
- HTTP連接管理
- Mongo代理
- 速率限制
- Redis代理
- TCP代理
- HTTP路由配置
- 虛擬主機
- 路由
- 虛擬集群
- 速率限制配置
- 路由發現服務
- HTTP過濾器
- 緩存
- CORS過濾器
- DynamoDB
- 故障注入
- gRPC HTTP/1.1 橋接
- gRPC-JSON 轉碼過濾器
- gRPC-Web 過濾器
- 健康檢查
- Lua
- 速率限制
- 路由
- 集群管理
- 集群
- 健康檢查
- 熔斷
- TLS上下文
- 異常值檢測
- HASH環負載均衡配置
- 異常檢測
- 集群發現服務
- 服務發現服務
- 訪問日志
- 管理接口
- 限速服務
- 運行時配置
- 跟蹤
- V2 API參考
- 啟動引導
- 監聽&監聽發現
- 集群&集群發現
- 服務發現
- 健康檢查
- HTTP路由管理&發現
- TLS配置
- 通用的類型
- 網絡地址
- 協議選項
- 發現API
- 限速組件
- 過濾器
- 網絡過濾器
- TLS客戶端身份認證
- HTTP連接管理
- Mongo代理
- 速率限制
- Redis代理
- TCP代理
- HTTP過濾器
- 緩存
- 故障注入
- 健康檢查
- Lua
- 速率限制
- 路由
- gRPC-JSON轉碼器
- 常見訪問日志類型
- 常見故障注入類型
- FAQ
- Envoy有多快?
- 我在哪里獲得二進制文件?
- 我如何設置SNI?
- 如何設置區域感知路由?
- 我如何設置Zipkin跟蹤?