consul配置參數大全、詳解、總結


命令行選項

以下選項全部在命令行中指定。

  • -advertise - 通告地址用於更改我們通告給集群中其他節點的地址。默認情況下,-bind地址是通告的。但是,在某些情況下,可能存在無法綁定的可路由地址。這個標志使閑聊不同的地址來支持這一點。如果此地址不可路由,則節點將處於持續振盪狀態,因為其他節點會將非可路由性視為故障。在Consul 1.0和更高版本中,這可以設置為 go-sockaddr 模板。

  • -advertise-wan - 廣告WAN地址用於更改我們向通過WAN加入的服務器節點發布的地址。這也可以在與translate_wan_addrs配置選項結合使用時在客戶端代理上設置默認情況下,-advertise地址是通告的。但是,在某些情況下,所有數據中心的所有成員都不能位於同一個物理或虛擬網絡上,尤其是混合雲和專用數據中心的混合設置。該標志使服務器節點能夠通過WAN的公共網絡閑聊,同時使用專用VLAN來相互閑聊以及彼此的客戶端代理,並且如果遠程數據中心是遠程數據中心,則允許客戶端代理在從遠程數據中心訪問時訪問此地址配置translate_wan_addrs在Consul 1.0和更高版本中,這可以設置為 go-sockaddr 模板

  • -bootstrap - 該標志用於控制服務器是否處於“引導”模式。每個數據中心最多只能運行一個服務器,這一點很重要從技術上講,一個處於引導模式的服務器可以自我選擇為Raft領導者。只有一個節點處於這種模式非常重要; 否則,一致性不能保證,因為多個節點能夠自我選擇。不建議在引導群集后使用此標志。

  • -bootstrap-expect - 此標志提供數據中心中預期服務器的數量。不應該提供此值,或者該值必須與群集中的其他服務器一致。提供時,Consul會等待指定數量的服務器可用,然后引導群集。這允許初始領導者自動選舉。這不能與遺留-bootstrap標志結合使用該標志需要-server模式。

  • -bind - 應為內部集群通信綁定的地址。這是集群中所有其他節點都應該可以訪問的IP地址。默認情況下,這是“0.0.0.0”,這意味着Consul將綁定到本地計算機上的所有地址,並將 第一個可用的私有IPv4地址通告給群集的其余部分。如果有多個私有IPv4地址可用,Consul將在啟動時退出並出現錯誤。如果你指定“[::]”,領事將 做廣告第一個可用的公共IPv6地址。如果有多個公共IPv6地址可用,則Consul將在啟動時退出並出現錯誤。Consul同時使用TCP和UDP以及相同的端口。如果您有任何防火牆,請確保同時允許這兩種協議。在Consul 1.0和更高版本中,可以將其設置為要綁定到的空間分隔的地址列表,或者可能會解析為多個地址的 go-sockaddr模板。

  • -serf-wan-bind - 應該被綁定到Serf WAN八卦通信的地址。默認情況下,該值遵循與-bind命令行標志相同的規則,如果未指定該值,-bind則使用選項。這在Consul 0.7.1及更高版本中可用。在Consul 1.0和更高版本中,這可以設置為 go-sockaddr 模板

  • -serf-lan-bind - Serf LAN八卦通信應該綁定的地址。這是群集中所有其他LAN節點應可訪問的IP地址。默認情況下,該值遵循與-bind命令行標志相同的規則,如果未指定該值,-bind則使用選項。這在Consul 0.7.1及更高版本中可用。在Consul 1.0和更高版本中,這可以設置為 go-sockaddr模板

  • -client - Consul將綁定客戶端接口的地址,包括HTTP和DNS服務器。默認情況下,這是“127.0.0.1”,只允許回送連接。在Consul 1.0和更高版本中,可以將其設置為要綁定到的空間分隔的地址列表,或者 可能會解析為多個地址的 go-sockaddr模板。

  • -config-file - 要加載的配置文件。有關此文件格式的更多信息,請閱讀配置文件部分。該選項可以多次指定以加載多個配置文件。如果指定了多次,稍后加載的配置文件將與先前加載的配置文件合並。在配置合並期間,單值鍵(string,int,bool)將簡單地將它們的值替換,而列表類型將被附加在一起。

  • -config-dir - 要加載的配置文件的目錄。Consul將加載后綴為“.json”的所有文件。加載順序是按字母順序排列的,並使用與上述config-file選項相同的合並例程 可以多次指定此選項以加載多個目錄。不加載config目錄的子目錄。有關配置文件格式的更多信息,請參閱 配置文件部分。

  • -config-format - 要加載的配置文件的格式。通常,Consul會從“.json”或“.hcl”擴展名檢測配置文件的格式。將此選項設置為“json”或“hcl”強制Consul解釋任何帶或不帶擴展名的文件,以該格式解釋。

  • -data-dir - 此標志為代理存儲狀態提供了一個數據目錄。這對所有代理都是必需的。該目錄在重新啟動時應該是持久的。這對於在服務器模式下運行的代理尤其重要,因為它們必須能夠保持群集狀態。此外,該目錄必須支持使用文件系統鎖定,這意味着某些類型的已裝入文件夾(例如VirtualBox共享文件夾)可能不合適。注意:服務器和非服務器代理都可以在此目錄中的狀態下存儲ACL令牌,因此讀取訪問權限可以授予對服務器上的任何令牌的訪問權限,並允許訪問非服務器上的服務注冊期間使用的任何令牌。在基於Unix的平台上,這些文件使用0600權限編寫,因此您應確保只有受信任的進程可以與Consul一樣的用戶身份執行。在Windows上,您應確保該目錄具有適當的權限配置,因為這些權限將被繼承。

  • -datacenter - 此標志控制運行代理程序的數據中心。如果未提供,則默認為“dc1”。Consul對多個數據中心擁有一流的支持,但它依賴於正確的配置。同一個數據中心內的節點應該位於單個局域網中。

  • -dev - 啟用開發服務器模式。這對於在關閉所有持久性選項的情況下快速啟動Consul代理非常有用,從而啟用可用於快​​速原型開發或針對API進行開發的內存服務器。此模式適合生產使用,因為它不會將任何數據寫入磁盤。

  • -disable-host-node-id - 將此設置為true將阻止Consul使用來自主機的信息生成確定性節點標識,並將生成隨機節點標識,該標識將保留在數據目錄中。在同一台主機上運行多個Consul代理進行測試時,這非常有用。Consul在版本0.8.5和0.8.5之前缺省為false,因此您必須選擇加入基於主機的ID。基於主機的ID是使用https://github.com/shirou/gopsutil/tree/master/host生成的,與HashiCorp的Nomad共享 ,因此如果您選擇加入基於主機的ID,則Consul和Nomad將使用信息在主機上在兩個系統中自動分配相同的ID。

  • -disable-keyring-file - 如果設置,密鑰環不會被保存到文件中。任何已安裝的密鑰在關機時將丟失,只有在給定的 -encrypt密鑰在啟動時可用。這默認為false。

  • -dns-port - 偵聽的DNS端口。這將覆蓋默認端口8600.這在Consul 0.7和更高版本中可用。

  • -domain - 默認情況下,Consul響應“consul”中的DNS查詢。域。該標志可用於更改該域。該域中的所有查詢都假定由Consul處理,不會遞歸解決。

  • -enable-script-checks這將控制是否在此代理上啟用執行腳本的運行狀況檢查,並且默認為false運營商必須選擇允許這些腳本如果啟用,建議啟用ACL以控制允許哪些用戶注冊新的檢查以執行腳本。這是在Consul 0.9.0中添加的。

  • -encrypt - 指定用於加密Consul網絡流量的密鑰。該密鑰必須是Base64編碼的16字節。創建加密密鑰的最簡單方法是使用 consul keygen群集中的所有節點必須共享相同的加密密鑰才能進行通信。提供的密鑰會自動保留到數據目錄並在代理程序重新啟動時自動加載。這意味着為了加密Consul的閑話協議,這個選項只需要在每個代理的初始啟動序列中提供一次。如果Consul在使用加密密鑰初始化后提供,則忽略提供的密鑰並顯示警告。

  • -hcl - HCL配置片段。此HCL配置片段將附加到配置中,並允許在命令行上指定配置文件的全部選項。該選項可以多次指定。這是在Consul 1.0中添加的。

  • -http-port - 要監聽的HTTP API端口。這覆蓋了默認端口8500.當將Consul部署到通過環境傳遞HTTP端口的環境時,此選項非常有用,例如像CloudFoundry這樣的PaaS,允許您通過Procfile直接設置端口。

  • -join - 啟動時加入的另一位代理的地址。這可以指定多次以指定多個代理加入。如果Consul無法加入任何指定的地址,代理啟動將失敗。默認情況下,代理在啟動時不會加入任何節點。請注意,retry_join在自動執行Consul集群部署時,使用 可能更適合幫助緩解節點啟動競爭條件。

    在Consul 1.1.0和更高版本中,這可以設置為 go-sockaddr 模板

  • -retry-join- 類似於-join第一次嘗試失敗時允許重試連接。這對於知道地址最終可用的情況很有用。該列表可以包含IPv4,IPv6或DNS地址。在Consul 1.1.0和更高版本中,這可以設置為 go-sockaddr 模板。如果Consul正在非默認的Serf LAN端口上運行,則必須指定。IPv6必須使用“括號”語法。如果給出多個值,則按照列出的順序嘗試並重試它們,直到第一個成功為止。這里有些例子:

    # Using a DNS entry $ consul agent -retry-join "consul.domain.internal" 
    # Using IPv4 $ consul agent -retry-join "10.0.4.67" 
    # Using IPv6 $ consul agent -retry-join "[::1]:8301" 

    »雲端自動加入

    從Consul 0.9.1開始,retry-join使用go-discover庫接受使用雲元數據進行自動集群加入的統一接口 有關更多信息,請參閱雲端自動加入頁面

    # Using Cloud Auto-Joining $ consul agent -retry-join "provider=aws tag_key=..." 
  • -retry-interval - 加入嘗試之間的等待時間。默認為30秒。

  • -retry-max-join在退出代碼1之前嘗試執行的最大嘗試次數。默認情況下,它設置為0,將其解釋為無限次重試。

  • -join-wan - 啟動時加入的另一個WAN代理的地址。可以指定多次以指定要加入的多個WAN代理。如果Consul無法加入任何指定的地址,代理啟動將失敗。默認情況下,代理-join-wan啟動時不會有任何節點。

    在Consul 1.1.0和更高版本中,這可以設置為 go-sockaddr 模板。

  • -retry-join-wan- 與retry-join第一次嘗試失敗時允許重試wan連接類似這對於我們知道地址最終可用的情況很有用。截至領事0.9.3 支持自動加入

    在Consul 1.1.0和更高版本中,這可以設置為 go-sockaddr 模板

  • -retry-interval-wan- 兩次-join-wan嘗試之間的等待時間默認為30秒。

  • -retry-max-wan-join-wan在退出代碼1之前嘗試執行的最大嘗試次數。默認情況下,它設置為0,將其解釋為無限次重試。

  • -log-level - Consul代理啟動后顯示的日志級別。這默認為“信息”。可用的日志級別是“跟蹤”,“調試”,“信息”,“警告”和“錯誤”。您始終可以通過consul monitor並使用任何日志級別連接到代理另外,日志級別可以在配置重載期間更改。

  • -node - 集群中此節點的名稱。這在集群內必須是唯一的。默認情況下,這是機器的主機名。

  • -node-id - 在Consul 0.7.3及更高版本中可用,即使節點或地址的名稱發生更改,該節點仍然是該節點的唯一標識符。這必須采用十六進制字符串的形式,長度為36個字符,例如 adf4238a-882b-9ddc-4a9d-5b6758e4159e如果未提供(最常見的情況),那么代理將在啟動時生成一個標識符,並將其保存在數據目錄中, 以便在代理重新啟動時保持相同。如果可能,主機的信息將用於生成確定性節點ID,除非-disable-host-node-id設置為true。

  • -node-meta- 在Consul 0.7.3及更高版本中可用,這指定了一個任意的元數據鍵/值對,與表單的節點相關聯key:value這可以指定多次。節點元數據對具有以下限制:

    • 每個節點最多可注冊64個鍵/值對。
    • 元數據密鑰的長度必須介於1到128個字符(含)之間
    • 元數據鍵只能包含字母數字-,和_字符。
    • 元數據密鑰不能以consul-前綴開頭這是保留供內部使用的領事。
    • 元數據值的長度必須介於0到512(含)之間。
    • 開頭的密鑰的元數據值rfc1035-在DNS TXT請求中逐字編碼,否則元數據kv對將根據RFC1464進行編碼
  • -pid-file - 此標志為代理存儲其PID提供文件路徑。這對發送信號很有用(例如,SIGINT 關閉代理或SIGHUP更新檢查確定

  • -protocol - 要使用的Consul協議版本。這默認為最新版本。這應該只在升級時設置您可以通過運行查看Consul支持的協議版本consul -v

  • -raft-protocol - 它控制用於服務器通信的內部版本的Raft一致性協議。必須將其設置為3才能訪問自動駕駛儀功能,但不包括cleanup_dead_serversConsul 1.0.0及更高版本默認為3(以前默認為2)。有關 詳細信息,請參閱 Raft協議版本兼容性

  • -raft-snapshot-threshold - 這將控制保存到磁盤的快照之間的最小數量的木筏提交條目。這是一個很少需要更改的低級參數。遇到磁盤IO過多的非常繁忙的群集可能會增加此值以減少磁盤IO,並最大限度地減少所有服務器同時進行快照的機會。由於日志會變得更大並且raft.db文件中的空間直到下一個快照才能被回收,所以增加這一點會使磁盤空間與磁盤IO之間的交易關閉。如果由於需要重播更多日志而導致服務器崩潰或故障切換時間延長,服務器可能需要更長時間才能恢復。在Consul 1.1.0和更高版本中,這個默認值為16384,在之前的版本中它被設置為8192。

  • -raft-snapshot-interval - 控制服務器檢查是否需要將快照保存到磁盤的頻率。他是一個很少需要改變的低級參數。遇到磁盤IO過多的非常繁忙的群集可能會增加此值以減少磁盤IO,並最大限度地減少所有服務器同時進行快照的機會。由於日志會變得更大並且raft.db文件中的空間直到下一個快照才能被回收,所以增加這一點會使磁盤空間與磁盤IO之間的交易關閉。如果由於需要重播更多日志而導致服務器崩潰或故障切換時間延長,服務器可能需要更長時間才能恢復。在Consul 1.1.0及更高版本中,這個默認設置為30s,並且在之前的版本中設置為5s

  • -recursor - 指定上游DNS服務器的地址。該選項可以提供多次,功能上與recursors配置選項等效

  • -rejoin - 提供時,領事將忽略先前的休假,並在開始時嘗試重新加入集群。默認情況下,Consul將休假視為永久意圖,並且在啟動時不會再嘗試加入集群。該標志允許先前的狀態用於重新加入群集。

  • -segment - (僅限企業)此標志用於設置代理所屬網段的名稱。代理只能加入其網段內的其他代理並與其通信。有關更多詳細信息,請參閱網絡細分指南默認情況下,這是一個空字符串,它是默認的網段。

  • -server - 此標志用於控制代理是否處於服務器或客戶端模式。提供時,代理將充當領事服務器。每個Consul集群必須至少有一個服務器,理想情況下每個數據中心不超過5個。所有服務器都參與Raft一致性算法,以確保事務以一致的,可線性化的方式進行。事務修改所有服務器節點上維護的集群狀態,以確保節點發生故障時的可用性。服務器節點還參與其他數據中心中服務器節點的WAN八卦池。服務器充當其他數據中心的網關,並根據需要轉發流量。

  • -non-voting-server - (僅限企業)此標志用於使服務器不參與Raft仲裁,並使其僅接收數據復制流。在需要大量讀取服務器的情況下,這可用於將讀取可伸縮性添加到群集。

  • -syslog - 該標志啟用記錄到系統日志。這僅在Linux和OSX上受支持。如果在Windows上提供,將會導致錯誤。

  • -ui - 啟用內置的Web UI服務器和所需的HTTP路由。這消除了將Consul Web UI文件與二進制文件分開維護的需要。

  • -ui-dir - 此標志提供包含Consul的Web UI資源的目錄。這將自動啟用Web UI。目錄必須對代理可讀。從Consul版本0.7.0及更高版本開始,Web UI資產包含在二進制文件中,因此不再需要此標志; 僅指定-ui標志就足以啟用Web UI。指定'-ui'和'-ui-dir'標志將導致錯誤。

»配置文件

除了命令行選項之外,配置還可以放入文件中。在某些情況下,這可能更容易,例如使用配置管理系統配置Consul時。

配置文件是JSON格式的,使得它們易於被人類和計算機讀取和編輯。該配置被格式化為一個單獨的JSON對象,並在其中進行配置。

配置文件不僅用於設置代理,還用於提供檢查和服務定義。這些用於向其他群集宣布系統服務器的可用性。它們分別在檢查配置和 服務配置下分別記錄。服務和檢查定義支持在重新加載期間進行更新。

»示例配置文件

{ "datacenter": "east-aws", "data_dir": "/opt/consul", "log_level": "INFO", "node_name": "foobar", "server": true, "watches": [ { "type": "checks", "handler": "/usr/bin/health-check-handler.sh" } ], "telemetry": { "statsite_address": "127.0.0.1:2180" } } 

»示例配置文件,帶有TLS

{ "datacenter": "east-aws", "data_dir": "/opt/consul", "log_level": "INFO", "node_name": "foobar", "server": true, "addresses": { "https": "0.0.0.0" }, "ports": { "https": 8080 }, "key_file": "/etc/pki/tls/private/my.key", "cert_file": "/etc/pki/tls/certs/my.crt", "ca_file": "/etc/pki/tls/certs/ca-bundle.crt" } 

尤其請參閱ports設置的使用

"ports": { "https": 8080 } 

除非https已為端口分配了端口號,否則Consul將不會為HTTP API啟用TLS > 0

»配置密鑰參考

  • acl_datacenter - 這指定了對ACL信息具有權威性的數據中心。必須提供它才能啟用ACL。所有服務器和數據中心必須就ACL數據中心達成一致。將它設置在服務器上是集群級別強制執行所需的全部功能,但是為了使API正確地從客戶端轉發,它必須在其上進行設置。在Consul 0.8和更高版本中,這也可以實現ACL的代理級執行。有關更多詳細信息,請參閱ACL指南

  • acl_default_policy - “允許”或“否認”; 默認為“允許”。默認策略在沒有匹配規則時控制令牌的行為。在“允許”模式下,ACL是一個黑名單:允許任何未被明確禁止的操作。在“拒絕”模式下,ACL是白名單:任何未明確允許的操作都會被阻止。注意:在您設置acl_datacenter 為啟用ACL支持之前,這不會生效

  • acl_down_policy - “允許”,“拒絕”或“擴展緩存”; “擴展緩存”是默認值。如果無法從令牌acl_datacenter或領導者節點讀取令牌策略,則應用停機策略。在“允許”模式下,允許所有操作,“拒絕”限制所有操作,“擴展緩存”允許使用任何緩存ACL,忽略其TTL值。如果使用非緩存ACL,“extend-cache”就像“拒絕”一樣。

  • acl_agent_master_token- 用於訪問需要代理讀取或寫入權限的代理端點或節點讀取權限,即使Consul服務器不存在以驗證任何令牌。這應該只在運行中斷時使用,應用程序通常會使用常規ACL令牌。這是在Consul 0.7.2中添加的,只有在acl_enforce_version_8設置為true 時才會使用 有關更多詳細信息,請參閱 ACL Agent Master Token

  • acl_agent_token - 用於客戶端和服務器執行內部操作。如果沒有指定,那么 acl_token將被使用。這是在領事0.7.2中添加的。

    該令牌至少必須具有對其將注冊的節點名稱的寫入訪問權限,以便設置目錄中的任何節點級別信息,例如元數據或節點的標記地址。還有其他地方使用了這個令牌,請參閱ACL代理令牌 了解更多詳情。

  • acl_enforce_version_8 - 用於客戶端和服務器,以確定在Consul 0.8之前預覽新ACL策略是否應該執行。在Consul 0.7.2中添加,Consul版本在0.8之前默認為false,在Consul 0.8和更高版本中默認為true。這有助於在執行開始前允許策略就位,從而輕松過渡到新的ACL功能。有關更多詳細信息,請參閱ACL指南

  • acl_master_token- 僅用於服務器acl_datacenter如果該令牌不存在,將使用管理級權限創建該令牌。它允許運營商使用眾所周知的令牌ID引導ACL系統。

    acl_master_token當服務器獲取集群領導只安裝。如果您想要安裝或更改acl_master_token,請acl_master_token 在所有服務器的配置中設置新值一旦完成,重新啟動當前領導者以強制領導人選舉。如果acl_master_token未提供,則服務器不會創建主令牌。當你提供一個值時,它可以是任何字符串值。使用UUID將確保它看起來與其他標記相同,但並非絕對必要。

  • acl_replication_token- 僅用於acl_datacenter運行Consul 0.7或更高版本以外的服務器如果提供,這將啟用使用此令牌的ACL復制來檢索ACL並將其復制到非權威本地數據中心。在Consul 0.9.1及更高版本中,您可以啟用ACL復制enable_acl_replication ,然后使用每台服務器上代理令牌API設置令牌如果acl_replication_token在配置中設置,它將自動設置enable_acl_replication為true以實現向后兼容。

    如果存在影響授權數據中心的分區或其他中斷,並且 acl_down_policy設置為“extend-cache”,則可以使用復制的ACL集在中斷期間解析不在緩存中的令牌。有關更多詳細信息,請參閱 ACL指南復制部分。

  • acl_token - 提供時,代理向Consul服務器發出請求時將使用此令牌。通過提供“?token”查詢參數,客戶端可以基於每個請求重寫此令牌。如果未提供,則會使用映射到“匿名”ACL策略的空令牌。

  • acl_ttl - 用於控制ACL的生存時間緩存。默認情況下,這是30秒。此設置會對性能產生重大影響:減少刷新次數會增加刷新次數,同時減少刷新次數。但是,由於緩存不會主動失效,所以ACL策略可能會過時到TTL值。

  • addresses - 這是一個允許設置綁定地址的嵌套對象。在Consul 1.0和更高版本中,這些可以設置為要綁定的空間分隔的地址列表 ,也可以將可以解析為多個地址go-sockaddr模板設置為空格分隔列表

    http支持綁定到Unix域套接字。套接字可以在表單中指定unix:///path/to/socket一個新的域套接字將在給定的路徑上創建。如果指定的文件路徑已經存在,Consul將嘗試清除該文件並在其位置創建域套接字。套接字文件的權限可以通過unix_socketsconfig結構調整

    在Unix套接字接口上運行Consul agent命令時,使用 -http-addr參數指定套接字的路徑。您也可以將所需的值放在CONSUL_HTTP_ADDR環境變量中。

    對於TCP地址,變量值應該是端口的IP地址。例如:10.0.0.1:8500而不是10.0.0.1但是,ports在配置文件中定義端口時,端口將在結構中單獨設置 

    以下鍵有效:

    • dns - DNS服務器。默認為client_addr
    • http - HTTP API。默認為client_addr
    • https - HTTPS API。默認為client_addr
  • advertise_addr等同於-advertise命令行標志

  • serf_wan等同於-serf-wan-bind命令行標志

  • serf_lan等同於-serf-lan-bind命令行標志

  • advertise_addr_wan等同於-advertise-wan命令行標志

  • autopilot在Consul 0.8中增加的這個對象允許設置多個子鍵,這些子鍵可以為Consul服務器配置操作友好的設置。有關自動駕駛儀的更多信息,請參閱自動駕駛儀指南

    以下子鍵可用:

    • cleanup_dead_servers - 這可以控制定期和每當將新服務器添加到群集時自動刪除已死的服務器節點。默認為true
    • last_contact_threshold - 在被認為不健康之前,控制服務器在沒有與領導聯系的情況下可以走的最長時間。必須是持續時間值,例如10s默認為200ms
    • max_trailing_logs - 控制服務器在被認為不健康之前可以跟蹤領導者的最大日志條目數。默認為250。
    • server_stabilization_time - 在添加到集群之前,控制服務器在“健康”狀態下必須穩定的最短時間。只有當所有服務器運行Raft協議版本3或更高時才會生效。必須是持續時間值,例如30s默認為10s
    • redundancy_zone_tag- (僅限企業)-node-meta當Autopilot將服務器分為多個區域進行冗余時,這將控制使用密鑰。每個區域中只有一台服務器可以同時成為投票成員。如果留空(默認),則此功能將被禁用。
    • disable_upgrade_migration- (僅限企業)如果設置為true,此設置將禁用Consul Enterprise中的Autopilot升級遷移策略,等待足夠的新版本服務器添加到群集,然后再將其中的任何一個升級為選民。默認為false
  • bootstrap等同於 -bootstrap命令行標志

  • bootstrap_expect等同於-bootstrap-expect命令行標志

  • bind_addr等同於 -bind命令行標志

  • ca_file這為PEM編碼的證書頒發機構提供了一個文件路徑。證書頒發機構用於使用適當的verify_incoming或 verify_outgoing標志檢查客戶端和服務器連接的真實性

  • ca_path這提供了PEM編碼證書頒發機構文件目錄的路徑。這些證書頒發機構用於檢查具有適當verify_incoming或 verify_outgoing標志的客戶端和服務器連接的真實性

  • cert_file這提供了一個PEM編碼證書的文件路徑。證書提供給客戶或服務器來驗證代理的真實性。它必須隨同提供key_file

  • check_update_interval 此間隔控制檢查穩定狀態檢查的輸出與服務器同步的頻率。默認情況下,它被設置為5分鍾(“5米”)。許多處於穩定狀態的檢查會導致每次運行的輸出略有不同(時間戳等),從而導致不斷的寫入。該配置允許推遲檢查輸出的同步,以減少給定時間間隔的寫入壓力。如果支票更改狀態,則新狀態和相關輸出立即同步。要禁用此行為,請將該值設置為“0s”。

  • client_addr等同於 -client命令行標志

  • datacenter等同於 -datacenter命令行標志

  • data_dir等同於 -data-dir命令行標志

  • disable_anonymous_signature禁止使用更新檢查提供匿名簽名以進行重復數據刪除。disable_update_check

  • disable_host_node_id 等同於-disable-host-node-id命令行標志

  • disable_remote_exec 禁用對遠程執行的支持。設置為true時,代理將忽略任何傳入的遠程exec請求。在0.8版之前的Consul版本中,這個默認為false。在Consul 0.8中,默認值更改為true,以使遠程exec選擇加入而不是選擇退出。

  • disable_update_check 禁用自動檢查安全公告和新版本發布。這在Consul Enterprise中被禁用。

  • discard_check_output 在存儲之前丟棄健康檢查的輸出。這減少了健康檢查具有易失性輸出(如時間戳,進程ID,...)的環境中Consul raft日志的寫入次數。

    • discovery_max_stale - 為所有服務發現HTTP端點啟用陳舊請求。這相當於max_staleDNS請求的 配置。如果此值為零(默認值),則將所有服務發現HTTP端點轉發給領導者。如果此值大於零,則任何Consul服務器都可以處理服務發現請求。如果領隊服務器超過領導者discovery_max_stale,則將對領導者重新評估該查詢以獲得更多最新結果。Consul代理還會添加一個新的 X-Consul-Effective-Consistency響應標頭,用於指示代理是否執行了陳舊的讀取。discover-max-stale 在Consul 1.0.7中引入,作為Consul操作員在代理級別強制來自客戶端的陳舊請求的方式,默認值為0,與先前Consul版本中的默認一致性行為相匹配。
  • dns_config此對象允許設置多個可以調節DNS查詢服務的子密鑰。有關更多詳細信息,請參閱DNS緩存指南 

    以下子鍵可用:

    • allow_stale - 啟用DNS信息的陳舊查詢。這允許任何Consul服務器而不僅僅是領導者來服務請求。這樣做的好處是您可以通過Consul服務器獲得線性讀取可擴展性。在0.7之前的Consul版本中,默認為false,意味着所有請求都由領導者提供服務,從而提供更強的一致性,但吞吐量更低,延遲更高。在Consul 0.7及更高版本中,為了更好地利用可用服務器,默認為true。
    • max_stale- 什么時候allow_stale 被指定,這是用來限制陳舊結果被允許的。如果領隊服務器超過領導者max_stale,則將對領導者重新評估該查詢以獲得更多最新結果。在領事0.7.1之前,這默認為5秒; 在Consul 0.7.1和更高版本中,默認為10年(“87600h”),這有效地允許任何服務器回答DNS查詢,不管它多么陳舊。實際上,服務器通常只比領導者短幾毫秒,所以這可以讓Consul在沒有領導者可以選舉的長時間停工場景中繼續提供請求。
    • node_ttl - 默認情況下,這是“0”,因此所有節點查找均以0 TTL值提供服務。通過設置此值可以啟用節點查找的DNS緩存。這應該用“s”后綴表示第二個或“m”表示分鍾。
    • service_ttl - 這是一個允許使用每項服務策略設置TTL服務查找的子對象。當沒有特定的服務可用於服務時,可以使用“*”通配符服務。默認情況下,所有服務均以0 TTL值提供服務。通過設置此值可啟用服務查找的DNS緩存。
    • enable_truncate - 如果設置為true,則將返回超過3條記錄或超過適合有效UDP響應的UDP DNS查詢將設置截斷標志,指示客戶端應使用TCP重新查詢以獲得滿載記錄集。
    • only_passing - 如果設置為true,任何健康檢查警告或嚴重的節點將被排除在DNS結果之外。如果為false,則默認情況下,只有健康檢查失敗的節點將被排除。對於服務查找,會考慮節點自身的運行狀況檢查以及特定於服務的檢查。例如,如果某個節點的健康狀況檢查非常重要,則該節點上的所有服務都將被排除,因為它們也被視為關鍵。
    • recursor_timeout - Consul在遞歸查詢上游DNS服務器時使用的超時。查看recursors 更多細節。缺省值是2s。這在Consul 0.7和更高版本中可用。
    • disable_compression - 如果設置為true,則不會壓縮DNS響應。Consul 0.7中默認添加並啟用了壓縮。
    • udp_answer_limit - 限制包含在基於UDP的DNS響應的答案部分中的資源記錄數。此參數僅適用於小於512字節的UDP DNS查詢。此設置已棄用,並由Consul 1.0.7替換a_record_limit
    • a_record_limit - 限制A,AAAA或ANY DNS響應(包括TCP和UDP)答案部分中包含的資源記錄數。在回答問題時,Consul將使用匹配主機的完整列表,隨機隨機洗牌,然后限制答案的數量a_record_limit(默認:無限制)。此限制不適用於SRV記錄。

    實施和實施RFC 3484第6節規則9的環境中(即DNS答案總是被排序並因此決不是隨機的),客戶端可能需要設置該值1以保留預期的隨機分配行為(注意: RFC 3484已被過時 RFC 6724,因此它應該越來越不常見,需要用現代的解析器來改變這個值)。

  • domain等同於 -domain命令行標志

  • enable_acl_replication在Consul服務器上設置時,啟用ACL復制而不必通過設置復制令牌acl_replication_token相反,啟用ACL復制,然后在每台服務器上使用代理令牌API引入令牌查看acl_replication_token更多細節。

  • enable_agent_tls_for_checks 當設置時,使用代理人的TLS配置的一個子集(key_filecert_fileca_fileca_path,和 server_name),以建立HTTP客戶端的HTTP健康檢查。這允許使用代理的憑證檢查需要雙向TLS的服務。這是在Consul 1.0.1中添加的,默認為false。

  • enable_debug設置后,啟用一些額外的調試功能。目前,這僅用於設置運行時概要分析HTTP端點。

  • enable_script_checks等同於 -enable-script-checks命令行標志

  • enable_syslog等同於-syslog命令行標志

  • encrypt等同於 -encrypt命令行標志

  • encrypt_verify_incoming - 這是一個可選參數,可用於禁用對輸入八卦執行加密,以便在正在運行的群集上從未加密的文件升級到加密的八卦。有關更多信息,請參閱此部分默認為true。

  • encrypt_verify_outgoing - 這是一個可選參數,可用於禁用強制執行傳出八卦的加密,以便在正在運行的群集上從未加密的文件轉換為加密的八卦文件。有關更多信息,請參閱此部分默認為true。

  • disable_keyring_file- 相當於 -disable-keyring-file命令行標志

  • key_file這提供了一個PEM編碼私鑰的文件路徑。密鑰與證書一起用於驗證代理的真實性。這必須隨同提供cert_file

  • http_config 該對象允許為HTTP API設置選項。

    以下子鍵可用:

    • block_endpoints 此對象是要在代理程序上阻止的HTTP API端點前綴的列表,默認為空列表,表示所有端點都已啟用。與此列表中的一個條目具有共同前綴的任何端點將被阻止,並且在訪問時將返回403響應代碼。例如,為了阻斷所有V1 ACL端點,此設定為 ["/v1/acl"],這將阻止/v1/acl/create/v1/acl/update以及與開始其它ACL端點/v1/acl這只適用於API端點,而不是,/ui或者 /debug必須禁用它們各自的配置選項。任何使用禁用端點的CLI命令都將不再起作用。對於更通用的訪問控制,Consul的ACL系統應該被使用,但是這個選項對於完全去除對HTTP API端點的訪問是有用的,或者對特定的代理來說是非常有用的。這在Consul 0.9.0及更高版本中可用。
    • response_headers 該對象允許向HTTP API響應添加標題。例如,可以使用以下配置在HTTP API端點上啟用 CORS

          { "http_config": { "response_headers": { "Access-Control-Allow-Origin": "*" } } } 
  • leave_on_terminate如果啟用,當代理收到TERM信號時,它將向Leave群集的其余部分發送消息並正常離開。此功能的默認行為根據代理是否作為客戶端或服務器運行而不同(在Consul 0.7之前默認值被無條件設置為false)。在客戶端模式下的代理程序中,默認為true 服務器模式的代理程序,對於服務器模式中的代理程序,缺省為false

  • limits在Consul 0.9.3及更高版本中可用,這是一個嵌套對象,用於配置代理執行的限制。目前,這只適用於客戶端模式的代理,而不是Consul服務器。以下參數可用:

    • rpc_rate - 通過將此代理允許為Consul服務器發出的RPC請求的最大請求速率設置為每秒請求數,配置RPC速率限制器。默認為無限,這會禁用速率限制。
    • rpc_max_burst - 用於對RPC速率限制器進行再充電的令牌桶的大小。默認為1000個令牌,並且每個令牌都適用於對Consul服務器的單個RPC調用。有關 令牌桶速率限制器如何操作的更多詳細信息,請參閱https://en.wikipedia.org/wiki/Token_bucket
  • log_level等同於 -log-level命令行標志

  • node_id等同於 -node-id命令行標志

  • node_name等同於 -node命令行標志

  • node_meta可用於Consul 0.7.3及更高版本,此對象允許將任意元數據鍵/值對與本地節點相關聯,然后可用於過濾某些目錄端點的結果。有關更多信息,請參閱 -node-meta命令行標志

      { "node_meta": { "instance_type": "t2.medium" } } 
  • performance在Consul 0.7和更高版本中可用,這是一個嵌套對象,允許調整Consul中不同子系統的性能。請參閱服務器性能指南獲取更多詳細信息 以下參數可用:

    • leave_drain_time - 服務器在優雅休假期間居住的時間,以便允許對其他Consul服務器重試請求。在正常情況下,這可以防止客戶在執行Consul服務器滾動更新時遇到“無領導者”錯誤。這是在Consul 1.0中添加的。必須是持續時間值,例如10秒。默認為5秒。
    • raft_multiplier - Consul服務器用於縮放關鍵Raft時間參數的整數乘法器。忽略該值或將其設置為0將使用下面描述的默認時間。較低的值用於收緊時間並提高靈敏度,而較高的值用於放松時間並降低靈敏度。調整這會影響Consul檢測領導者失敗並執行領導者選舉所花的時間,但需要更多的網絡和CPU資源才能獲得更好的性能。

      默認情況下,Consul將使用適用於最小Consul服務器的較低性能時序,當前相當於將此值設置為5(此默認值可能會在未來版本的Consul中進行更改,具體取決於目標最小服務器配置文件是否更改)。將此值設置為1會將Raft配置為其最高性能模式,相當於Consul在0.7之前的默認時間,並且建議用於生產Consul服務器有關調整此參數的更多詳細信息,請參閱上次接觸時間的說明。最大允許值是10。

    • rpc_hold_timeout - 客戶或服務器在領導者選舉期間將重試內部RPC請求的持續時間。在正常情況下,這可以防止客戶遇到“無領導者”的錯誤。這是在Consul 1.0中添加的。必須是持續時間值,例如10秒。默認為7秒。

  • ports 這是一個嵌套對象,允許為以下鍵設置綁定端口:

    • dns - DNS服務器,-1禁用。默認8600。
    • http - HTTP API,-1禁用。默認8500。
    • https - HTTPS API,-1禁用。默認-1(禁用)。
    • serf_lan - Serf LAN端口。默認8301。
    • serf_wan - Serf WAN端口。默認8302.設置為-1以禁用。注意:這將禁用不推薦的WAN聯合。各種目錄和廣域網相關端點將返回錯誤或空的結果。
    • server - 服務器RPC地址。默認8300。
  • protocol等同於 -protocol命令行標志

  • raft_protocol等同於 -raft-protocol命令行標志

  • raft_snapshot_threshold等同於 -raft-snapshot-threshold命令行標志

  • raft_snapshot_interval等同於 -raft-snapshot-interval命令行標志

  • reap這將控制Consul的子進程自動收集,如果Consul在Docker容器中以PID 1的形式運行,這將非常有用。如果沒有指定,則Consul會自動收集子進程,如果它檢測到它正在以PID 1運行。如果設置為true或false,則無論Consul的PID如何,它都會控制收割(強制分別開啟或關閉) 。Consul 0.7.1中刪除了該選項。對於Consul的更高版本,您將需要使用包裝器收獲流程,請參閱 Consul Docker圖像入口點腳本 以獲取示例。如果您使用的是Docker 1.13.0或更高版本,則可以使用該命令的新--init選項,docker run並且docker將啟用PID 1的初始化進程,以便為容器收集子進程。有關Docker文檔的更多信息

  • reconnect_timeout這將控制從集群中徹底刪除發生故障的節點需要多長時間。默認值為72小時,建議將其設置為至少為節點或網絡分區的預期可恢復的最大停機時間的兩倍。警告:將此時間設置得太低可能會導致Consul服務器在擴展節點故障或分區過程中從法定數中刪除,這可能會使群集恢復復雜化。該值是一個帶單位后綴的時間,可以是秒,分鍾或小時的“s”,“m”,“h”。該值必須> = 8小時。

  • reconnect_timeout_wan這是reconnect_timeout參數的WAN等效項,用於控制從WAN池中完全刪除發生故障的服務器所需的時間。這也默認為72小時,並且必須> 8小時。

  • recursors此標志提供用於遞歸解析查詢(如果它們不在Consul的服務域內)的上游DNS服務器的地址。例如,節點可以直接使用Consul作為DNS服務器,並且如果該記錄不在“領事”范圍內。域,查詢將在上游解決。從Consul 1.0.1開始,遞歸可以作為IP地址或go-sockaddr模板提供。IP地址按順序解析,重復項被忽略。

  • rejoin_after_leave等同於-rejoin命令行標志

  • retry_join- 相當於-retry-join命令行標志。

  • retry_interval等同於 -retry-interval命令行標志

  • retry_join_wan等同於 -retry-join-wan命令行標志每次嘗試加入廣域網地址列表,retry_interval_wan直到至少有一個加入工作。

  • retry_interval_wan等同於 -retry-interval-wan命令行標志

  • segment(僅限企業)等同於 -segment命令行標志

  • segments(僅限企業)這是一個嵌套對象列表,它允許設置網段的綁定/通告信息。這只能在服務器上設置。有關更多詳細信息,請參閱 網絡細分指南

    • name - 細分受眾群的名稱。必須是長度介於1到64個字符之間的字符串。
    • bind - 用於分組的八卦圖層的綁定地址。-bind如果未提供,則缺省為該值。
    • port - 用於細分的八卦圖層的端口(必需)。
    • advertise - 用於分組的八卦圖層的廣告地址。-advertise如果未提供,則缺省為該值。
    • rpc_listener- 如果為true,則會-bind在rpc端口上的該段地址上啟動單獨的RPC偵聽器只有段的綁定地址與地址不同時才有效 -bind默認為false。
  • server等同於 -server命令行標志

  • non_voting_server- 相當於 -non-voting-server命令行標志

  • server_name提供時,將覆蓋node_nameTLS證書。它可以用來確保證書名稱與我們聲明的主機名相匹配。

  • session_ttl_min 允許的最小會話TTL。這確保會話不會在TTL小於指定的限制時創建。建議將此限制保持在默認值以上,以鼓勵客戶發送頻繁的心跳。默認為10秒。

  • skip_leave_on_interrupt這類似於leave_on_terminate但僅影響中斷處理。當Consul收到一個中斷信號(比如在終端上打Control-C)時,Consul會優雅地離開集群。將其設置為true禁用該行為。此功能的默認行為根據代理是否作為客戶端或服務器運行而不同(在Consul 0.7之前默認值被無條件設置為false)。在客戶端模式下的代理上,默認為false服務器模式下的代理,並且默認為true (即服務器上的Ctrl-C將服務器保留在群集中,因此是仲裁,並且客戶端上的Ctrl-C將優雅地離開)。

  • start_join-join啟動時指定節點地址的字符串數組請注意,retry_join在自動執行Consul集群部署時,使用 可能更適合幫助緩解節點啟動競爭條件。

  • start_join_wan-join-wan啟動時指定WAN節點地址的字符串數組

  • telemetry 這是一個嵌套對象,用於配置Consul發送其運行時遙測的位置,並包含以下鍵:

    • circonus_api_token 用於創建/管理支票的有效API令牌。如果提供,則啟用度量標准管理。
    • circonus_api_app 與API令牌關聯的有效應用名稱。默認情況下,它被設置為“consul”。
    • circonus_api_url 用於聯系Circonus API的基本URL。默認情況下,它被設置為“ https://api.circonus.com/v2 ”。
    • circonus_submission_interval 指標提交給Circonus的時間間隔。默認情況下,它被設置為“10s”(十秒)。
    • circonus_submission_urlcheck.config.submission_url來自先前創建的HTTPTRAP檢查的Check API對象 的字段。
    • circonus_check_id從先前創建的HTTPTRAP檢查中 檢查ID(不檢查包)。check._cidCheck API對象中字段的數字部分
    • circonus_check_force_metric_activation 強制激活已存在且當前未激活的度量標准。如果啟用了支票管理,則默認行為是在遇到新的指標時添加新指標。如果該指標已經存在於支票中,則不會被激活。此設置將覆蓋該行為。默認情況下,它被設置為false。
    • circonus_check_instance_id 唯一標識來自此實例的度量標准當它們在基礎架構內移動時,它可用於維護度量連續性,即瞬態或短暫實例。默認情況下,它被設置為主機名:應用程序名稱(例如“host123:consul”)。
    • circonus_check_search_tag 一個特殊的標簽,當與實例ID結合使用時,有助於在未提供提交URL或檢查ID時縮小搜索結果的范圍。默認情況下,它被設置為service:application name(例如“service:consul”)。
    • circonus_check_display_name 指定一個名稱以在創建時進行檢查。該名稱顯示在Circonus UI Checks列表中。可用於Consul 0.7.2及更高版本。
    • circonus_check_tags 用逗號分隔的附加標簽列表在創建時添加到支票中。可用於Consul 0.7.2及更高版本。
    • circonus_broker_id 創建新支票時使用的特定Circonus Broker的ID。broker._cidBroker API對象字段的數字部分如果啟用指標管理並且未提供提交URL和檢查ID,則將嘗試使用實例ID和搜索標記搜索現有檢查。如果找不到,則會創建一個新的HTTPTRAP檢查。默認情況下,不會使用此選項,並選擇隨機企業代理或默認的Circonus Public Broker。
    • circonus_broker_select_tag 當未提供經紀人代碼時,將使用特殊標簽選擇Circonus經紀人。這個最好的用途是作為代理應該基於針對所使用的提示,其中該特定的實例正在運行(例如一個特定的地理位置或數據中心,DC:SFO)。默認情況下,這是留空,不使用。
    • disable_hostname 這將控制是否在計算機主機名的前面加上運行時間遙測,默認為false。
    • dogstatsd_addr這提供了格式中DogStatsD實例的地址host:portDogStatsD是statsd協議兼容的風格,增加了用標簽和事件信息修飾指標的功能。如果提供,領事將發送各種遙測信息到該實例進行聚合。這可以用來捕獲運行時信息。
    • dogstatsd_tags這提供了將被添加到發送到DogStatsD的所有遙測包的全局標簽列表。它是一個字符串列表,其中每個字符串看起來像“my_tag_name:my_tag_value”。
    • filter_default 這將控制是否允許過濾器未指定的度量標准。默認為true,這將允許在沒有提供過濾器時的所有指標。如果設置為false不使用過濾器,則不會發送指標。
    • metrics_prefix 寫入所有遙測數據時使用的前綴。默認情況下,它被設置為“consul”。這是在Consul 1.0中添加的。對於之前版本的Consul,使用statsite_prefix相同結構中的配置選項由於此前綴適用於所有遙測提供商,因此它已重新命名為Consul 1.0,而不僅僅是statsite。
    • prefix_filter 這是一個過濾規則列表,適用於通過前綴允許/屏蔽指標,格式如下:

      [ "+consul.raft.apply", "-consul.http", "+consul.http.GET" ] 

      前導的“ + ”將使用給定前綴的任何度量標准,並且前導“ - ”將阻止它們。如果兩個規則之間有重疊,則更具體的規則優先。如果多次列出相同的前綴,則阻塞將優先。

    • prometheus_retention_time 如果該值大於0s(缺省值),則可以使Prometheus導出度量標准。持續時間可以使用持續時間語義來表示,並將在指定的時間內匯總所有計數器(這可能會影響Consul的內存使用情況)。此參數的價值至少是普羅米修斯刮擦間隔的2倍,但您也可能需要很長的保留時間,例如幾天(例如744h才能保留至31天)。使用prometheus獲取指標然后可以使用/v1/agent/metrics?format=prometheusURL 執行,或者通過發送值為Accept的Accept頭來text/plain; version=0.0.4; charset=utf-8 執行/v1/agent/metrics(如普羅米修斯所做的那樣)。格式與普羅米修斯本身兼容。在此模式下運行時,建議啟用此選項disable_hostname以避免使用主機名的前綴度量標准。

    • statsd_address這以格式提供statsd實例的地址host:port如果提供,領事將發送各種遙測信息到該實例進行聚合。這可以用來捕獲運行時信息。這僅發送UDP數據包,可以與statsd或statsite一起使用。

    • statsite_address這提供了格式中的一個statsite實例的地址host:port如果提供,領事將匯集各種遙測信息到該實例。這可以用來捕獲運行時信息。這通過TCP流,只能用於statsite。

  • syslog_facility何時 enable_syslog提供,這將控制向哪個設施發送消息。默認情況下,LOCAL0將被使用。

  • tls_min_version在Consul 0.7.4中添加,它指定了TLS的最低支持版本。接受的值是“tls10”,“tls11”或“tls12”。這默認為“tls10”。警告:TLS 1.1及更低版本通常被認為不太安全; 避免使用這些如果可能。這將在Consul 0.8.0中更改為默認值“tls12”。

  • tls_cipher_suites在Consul 0.8.2中添加,它將支持的密碼組列表指定為逗號分隔列表。源代碼中提供了所有支持的密碼套件列表

  • tls_prefer_server_cipher_suites 在Consul 0.8.2中添加,這將導致Consul更喜歡服務器的密碼套件而不是客戶端密碼套件。

  • translate_wan_addrs如果設置為true,Consul 在為遠程數據中心中的節點提供DNS和HTTP請求時,會優先使用配置的WAN地址這允許使用其本地地址在其自己的數據中心內訪問該節點,並使用其WAN地址從其他數據中心到達該節點,這在混合網絡的混合設置中很有用。這是默認禁用的。

    從Consul 0.7和更高版本開始,響應HTTP請求的節點地址在查詢遠程數據中心中的節點時也將優選節點配置的WAN地址一個X-Consul-Translate-Addresses當翻譯被啟用,以幫助客戶知道地址可以被翻譯標題將出現在所有響應。TaggedAddresses響應中域也有一個lan地址,需要該地址的知識,無論翻譯的客戶。

    以下端點轉換地址:

  • ui- 相當於-ui 命令行標志。

  • ui_dir- 相當於 -ui-dir命令行標志。從Consul版本0.7.0及更高版本開始,此配置密鑰不是必需的。指定此配置鍵將啟用Web UI。沒有必要指定ui-dir和ui。指定兩者都會導致錯誤。

  • unix_sockets - 這可以調整Consul創建的Unix域套接字文件的所有權和權限。只有在HTTP地址配置了unix://前綴時才使用域套接字

    需要注意的是,這個選項可能對不同的操作系統有不同的影響。Linux通常會觀察套接字文件權限,而許多BSD變體會忽略套接字文件本身的權限。在特定的發行版上測試此功能非常重要。此功能目前在Windows主機上無法使用。

    以下選項在此構造內有效,並全面應用於Consul創建的所有套接字:

    • user - 將擁有套接字文件的用戶的名稱或ID。
    • group - 套接字文件的組ID標識。該選項目前僅支持數字ID。
    • mode - 在文件上設置的權限位。
  • verify_incoming- 如果設置為true,Consul要求所有傳入連接都使用TLS,並且客戶端提供證書頒發機構從ca_fileor中簽名的證書ca_path這適用於服務器RPC和HTTPS API。默認情況下,這是錯誤的,Consul不會強制使用TLS或驗證客戶的真實性。

  • verify_incoming_rpc- 如果設置為true,Consul要求所有傳入的RPC連接都使用TLS,並且客戶端提供由證書頒發機構從ca_fileor中簽名的證書ca_path默認情況下,這是錯誤的,Consul不會強制使用TLS或驗證客戶的真實性。

  • verify_incoming_https- 如果設置為true,則Consul要求所有傳入的HTTPS連接都使用TLS,並且客戶端提供由證書頒發機構從ca_fileor中簽名的證書ca_path默認情況下,這是錯誤的,Consul不會強制使用TLS或驗證客戶的真實性。要啟用HTTPS API,您必須通過ports配置定義HTTPS端口默認情況下,HTTPS被禁用。

  • verify_outgoing- 如果設置為true,則Consul要求所有傳出連接都使用TLS,並且服務器提供由證書頒發機構從ca_fileor中簽名的證書ca_path默認情況下,這是錯誤的,Consul不會使用TLS進行傳出連接。這適用於客戶端和服務器,因為兩者都會建立傳出連接。

  • verify_server_hostname - 如果設置為true,則Consul會驗證所有傳出連接,即服務器提供的TLS證書與“server。<datacenter>。<domain>”主機名匹配。這意味着verify_outgoing默認情況下,這是錯誤的,並且Consul不驗證證書的主機名,只驗證它是由受信任的CA簽署的。此設置對於防止受損客戶端作為服務器重新啟動很重要,從而能夠執行MITM攻擊或添加為Raft對等設備。這在0.5.1中是新的。

  • watches - Watches是手表規范的列表,允許在更新特定數據視圖時自動調用外部進程。有關更多詳情,請參閱 手表文檔手表可以在配置重新加載時修改。

»使用的端口

Consul最多需要6個不同的端口才能正常工作,有些使用TCP,UDP或兩種協議。下面我們記錄每個端口的要求。

  • 服務器RPC(默認8300)。這由服務器用來處理來自其他代理的傳入請求。僅限TCP。

  • Serf LAN(默認8301)。這是用來處理局域網中的八卦。所有代理都需要。TCP和UDP。

  • Serf WAN(默認8302)。這被服務器用來在WAN上閑聊到其他服務器。TCP和UDP。從Consul 0.8開始,建議通過端口8302在LAN接口上為TCP和UDP啟用服務器之間的連接,以及WAN加入泛濫功能。另見: Consul 0.8.0 CHANGELOGGH-3058

  • HTTP API(默認8500)。這被客戶用來與HTTP API交談。僅限TCP。

  • DNS接口(默認8600)。用於解析DNS查詢。TCP和UDP。

»可重新加載配置

重新加載配置不會重新加載所有配置項目。重新加載的項目包括:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM