我有 3 个基于 Ubuntu 18.04 服务器的 VPS,并且想构建一个 kubernetes 集群。
我打算使用 Kubespray 安装 Kubernetes 集群,我的问题是:
- 如何准备服务器,他们可以互相交谈
- 如何设置防火墙,使 VPS 之间的通信不阻塞
- 是否可以配置防火墙,为特定 IP 地址打开特定端口。例如,仅允许具有 1.11.111.110 的 VPS 访问 VPS 1.11.111.111 上的 10255 端口。
- 我还需要考虑什么?
我有 3 个基于 Ubuntu 18.04 服务器的 VPS,并且想构建一个 kubernetes 集群。
我打算使用 Kubespray 安装 Kubernetes 集群,我的问题是:
- 如何准备服务器,他们可以互相交谈
要准备 Ubuntu 实例以安装 Kubernetes,您可以查看本指南。使用 kubespray文档来创建您的集群。
- 如何设置防火墙,使 VPS 之间的通信不阻塞
- 是否可以配置防火墙,为特定 IP 地址打开特定端口。例如,仅允许具有 1.11.111.110 的 VPS 访问 VPS 1.11.111.111 上的 10255 端口。
您可以使用 iptables 从您的节点制定特定规则,但我认为手动为您的服务管理这些规则将是一个挑战......您可以尝试,但它真的很难管理和维护。
我还需要考虑什么?
我推荐这种设置以了解 Kubernetes 如何工作并用于测试目的,但它不是生产就绪的,由于您在互联网上暴露了 Kubernetes 端口,因此您的节点的安全性可能会受到损害。
也可以考虑使用kubernetes作为单节点,看看是这个链接。
如果您使用的是 Kubespray,我强烈建议您遵循他们的指南和文档。它们非常全面和详细。
在其当前版本中,Kubespray 是 kubeadm 的综合包装器,添加了 kubeadm 本身缺少的许多功能。
简而言之,准备主机就是允许从控制机器(通常是您自己的桌面)进行远程 SSH,准备清单并仔细检查其所有*.yaml
文件。配置清单并在 VPS 主机上安装一些 python 依赖项后,只需从终端启动 Kubespray 并等待。
请记住,它不是一个完美的工具,并且在集群生命周期中存在缺陷。但它至少会给你一个引导一个完整的生产就绪集群的先机。
这是我填写的内容,您可以做什么-
我建议您阅读以下指南,该指南涵盖了我使用 kubespray 设置 kubernetes 集群的所有步骤 -
https://jhooq.com/kubespray-12-steps-for-installing-a-production-ready-kubernetes-cluster/
还要考虑 Ubuntu 做的你可能不想要的事情,例如检查交换(即使你没有交换)和禁用无人值守的升级,这可能会破坏原本有能力的系统:
sudo swapoff -a && \
apt remove unattended-upgrades -y && \
killall -9 unattended-upgr 2>/dev/null