【发布时间】:2021-07-29 09:36:19
【问题描述】:
我想一次将一个应用部署到多台服务器。
我正在使用Kubernetes 和K3S 轻松部署容器。
基本上,我有一个我运行的主服务器和多个位于我的客户设施中的服务器。
使用以下命令初始化主服务器:
k3sup install \
--ip $MASTER_IP \
--user ubuntu \
--cluster --k3s-channel latest \
--k3s-extra-args "--node-label ols.role=master"
客户的服务器是通过以下方式启动的:
k3sup join \
--ip $WORKER01_IP \
--user ubuntu \
--server-ip $MASTER_IP \
--server-user ubuntu \
--k3s-channel latest \
--k3s-extra-args "--node-label ols.role=worker"
当我想在每个客户的服务器上部署新的 Web 服务时,我尝试了以下代码:
helm install node-red k8s-at-home/node-red --set nodeSelector."ols\.role"=worker
问题:只部署了一个 pod。
我想要的是在每台服务器上部署一个 pod 并使其独立。 有没有办法做到这一点?
【问题讨论】:
-
如果所有服务器都在同一个集群中,它们应该都可以通过集群网络相互通信;您通常不需要在每台服务器上都有应用程序的本地副本。如果您想为每个用户配备专用硬件,您可能会考虑使用通用自动化软件,如 Chef、Ansible 或 Salt Stack,而不是 Kubernetes 等集群系统。
标签: kubernetes kubernetes-helm k3s k3sup