[英]How to properly handle worker_threads termination, when there are some node instances? (Like docker-swarm or Kubernetes cluster)
[英]Access to service list on docker swarm worker node
我正在使用docker-API模塊來訪問服務列表和副本信息。 它在群體模式和管理器節點上效果更好。 但是,如果應用程序在工作程序節點上運行,則會出現以下錯誤“意外-該節點不是群集管理器。請使用“ docker swarm init”或“ docker swarm join”將該節點連接到群集並重試”。 以下是我的代碼,
const Docker = require('node-docker-api').Docker
const docker = new Docker({ socketPath: '/var/run/docker.sock' })
const services = await docker.service.list()
通過為工作節點提供任何選項或權限,是否有可能在兩個節點上獲得服務列表? 還可以通過使用docker-compose或kubernetes運行應用程序來獲得嗎?
正如docker docs所述 :
輔助節點不參與Raft分布式狀態,不進行調度決策或不提供群模式HTTP API 。
可能的解決方案:
您可能考慮在群體拓撲中僅運行管理器節點。
或者,您可以對基於node.js的--constraint node.role==manager
服務使用放置約束 --constraint node.role==manager
這樣,您的服務容器將僅在服務於集群模式HTTP API的管理器節點上運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.