总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:企业级K8s集群运维实战
一、架构图
如下图所示:
二、环境信息
基于x86_64+aarch64架构使用containerd部署K8S 1.33.3集群资源合集(一主多从)
2、部署规划
主机名 | K8S版本 | 系统版本 | CPU架构 | 内核版本 | I IP地址 | 备注 |
---|---|---|---|---|---|---|
k8s-master-58 | 1.33.3 | Kylin Linux Advanced Server V10 (HWY) | aarch64 | 4.19.90-52.48.v2207.ky10.aarch64 | 192.168.1.58 | control-plane节点 |
k8s-worker-59 | 1.33.3 | Kylin Linux Advanced Server V10 (HWY) | aarch64 | 4.19.90-52.48.v2207.ky10.aarch64 | 192.168.1.59 | worker节点 |
3、集群网段
宿主机 | 集群Pod网段 | 集群Service网段 |
---|---|---|
192.168.0.0/24 | 10.48.0.0/16 | 10.96.0.0/16 |
4、基础软件版本
软件 | 版本 | 安装方式 |
---|---|---|
kubeadm | 1.33.3 | 二进制 |
kubectl | 1.33.3 | 二进制 |
kubelet | 1.33.3 | 二进制 |
cri-containerd-cni | 1.7.28 | 二进制 |
ipvsadm | ipvsadm-1.31-2.ky10.aarch64 | yum |
ipset | ipset-7.6-0.p01.ky10.aarch64 | yum |
conntrack | conntrack-tools-1.4.6-2.ky10.aarch64 | yum |
socat | socat-1.7.3.2-9.ky10.aarch64 | yum |
ebtables | ebtables-2.0.11-2.p01.ky10.aarch64 | yum |
ethtool | ethtool-2:5.4-2.ky10.aarch64 | yum |
sysstat | sysstat-12.2.1-6.p03.ky10.aarch64 | yum |
说明
1、cri-containerd-cni包包含containerd、runc、cni插件。安装containerd,需要同时安装runc及cni网络插件。 containerd不能直接操作容器,需要通过runc来运行容器。默认Containerd管理的容器仅有lo网络(无法访问容器之外的网络), 如果需要访问容器之外的网络则需要安装CNI网络插件。CNI(Container Network Interface) 是一套容器网络接口规范,用于为容器分配ip地址,通过CNI插件Containerd管理的容器可以访问容器之外的网络。
2、ipvsadm:这是一个用于管理Linux内核中的IP虚拟服务器(IPVS)的工具。它允许您配置和管理负载均衡、网络地址转换(NAT)和透明代理等功能。
3、ipset:这是一个用于管理Linux内核中的IP集合的工具。它允许您创建和管理IP地址、IP地址范围和端口号的集合,以便在防火墙规则中使用。
4、conntrack:这是一个用于连接跟踪的内核模块和工具。它允许您跟踪网络连接的状态和信息,如源IP地址、目标IP地址、端口号等。
5、socat(网络工具):这是一个用于在Linux系统中建立各种类型网络连接的工具。在Kubernetes网络中,socat可以 用于创建端口转发、代理和转发等网络连接。
6、ebtables(以太网桥规则管理工具):这是一个用于在Linux系统中管理以太网桥规则的工具。在Kubernetes中,ebtables 用于在网络分区中实现容器之间的隔离和通信。
7、ethtool:这是一个用于查询和控制网络驱动程序及硬件设置的工具,比如速度、双工模式等。虽然不是所有 Kubernetes 部署都需要直接依赖于 ethtool,但在某些情况下,比如调试网络性能问题或调整网络接口参数时可能会用到。
8、sysstat:这是一个用于系统性能监控和报告的工具集。它包括一些实用程序,如sar、iostat和mpstat,用于收集和显示系统资源使用情况的统计信息。