Cluster
Nomad 節點從 Consul 中移除其他服務
我有兩個節點 Nomad 集群和一個 Consul 實例,以便作業可以註冊要連接的服務。
但是,這些服務會不斷同步和取消註冊。這是我從領事日誌中得到的:
2021-01-26T14:49:59.174Z [INFO] agent: Synced check: check=_nomad-check-dc23801467b8a65a4fd82311c2606724a180065c 2021-01-26T14:50:00.072Z [INFO] agent: Synced check: check=_nomad-check-1783c554d9ee0a25d52532f4178c392e931e4bb1 2021-01-26T14:50:04.511Z [INFO] agent: Synced service: service=_nomad-task-e8d2b77b-3bf5-96c1-8323-63b6151e2cf3-lb0-lb0-admin-admin 2021-01-26T14:50:09.962Z [INFO] agent: Deregistered service: service=_nomad-task-e8d2b77b-3bf5-96c1-8323-63b6151e2cf3-lb0-lb0-admin-admin 2021-01-26T14:50:34.554Z [INFO] agent: Synced service: service=_nomad-task-e8d2b77b-3bf5-96c1-8323-63b6151e2cf3-lb0-lb0-admin-admin 2021-01-26T14:50:39.984Z [INFO] agent: Deregistered service: service=_nomad-task-e8d2b77b-3bf5-96c1-8323-63b6151e2cf3-lb0-lb0-admin-admin 2021-01-26T14:51:04.589Z [INFO] agent: Synced service: service=_nomad-task-e8d2b77b-3bf5-96c1-8323-63b6151e2cf3-lb0-lb0-admin-admin 2021-01-26T14:51:10.009Z [INFO] agent: Deregistered service: service=_nomad-task-e8d2b77b-3bf5-96c1-8323-63b6151e2cf3-lb0-lb0-admin-admin
兩個節點都以相同的配置啟動。但是,當我查看TRACE級別的日誌時,我有以下內容:
節點A:
2021-01-28T15:58:55.519+0100 [DEBUG] consul.sync: sync complete: registered_services=3 deregistered_services=1 registered_checks=0 deregistered_checks=0
節點B:
2021-01-28T15:58:59.037+0100 [DEBUG] consul.sync: sync complete: registered_services=1 deregistered_services=3 registered_checks=0 deregistered_checks=0
事實上,NodeA執行了 3 個作業,而NodeB執行了 1 個作業。似乎兩個節點都在恢復另一個節點所做的更改。
Name Address Port Status Leader Protocol Build Datacenter Region NodeA 198.51.100.1 4648 alive false 2 1.0.2 us1 us NodeB 198.51.100.2 4648 alive true 2 1.0.2 us1 us
我是否錯過了配置中的某些內容?如何防止這種情況?
這種行為實際上顯示在文件中。我只是忽略了它:
一個重要的要求是每個 Nomad 代理都與唯一的 Consul 代理交談。Nomad 代理應該配置為與 Consul 代理而不是 Consul 伺服器通信。如果您正在觀察浮動服務,則可能有多個 Nomad 代理與同一個 Consul 代理交談。因此避免將 Nomad 配置為通過 DNS 與 Consul 對話,例如 consul.service.consul