使用 Kubernetes 将单个应用程序部署到多个服务器

时间:2021-07-29 09:36:19

标签: kubernetes kubernetes-helm k3s k3sup

我想一次性将单个应用部署到多台服务器。

我使用 KubernetesK3S 来轻松部署容器。 基本上,我有一个运行的主服务器和多个本地化在我的客户设施中的服务器。

使用以下命令初始化主服务器:

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 并使其独立。 有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

这里有两个不同的事情需要我们考虑。

如果要求只是运行更多数量的 replicas application 更改 deployment 图表中的 helm 模板或通过 values您可以传递在集群中工作所需的最低 replicas 数量。

deployments 的参考 documentation

接下来,如果要求只是在集群中现有的所有节点上运行应用程序,Daemonsets 是提供在所有现有节点上运行的能力的工作负载。

daemonsets 的参考 documentation

同样,如果您使用 helm 进行部署,则需要根据 daemonsets 图表的现有内容为 deploymentshelm 添加或修改适当的模板.

还有不同的workloads k8s基于所需的支持,可以适当地选择它们。

相关问题