【K8s网络】安装Calico系统要求
【K8s网络】安装Calico系统要求,主要包括【K8s网络】安装Calico系统要求使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。x86-64、arm64、ppc64le 或 s390x 处理器具有 Linux 内核 3.10 或更高版本 所需依赖项的 。 以下发行版具有所需的内核及其依赖项,并且是 已知与 Calico 和 Kubernetes
【K8s网络】安装Calico系统要求,主要包括【K8s网络】安装Calico系统要求使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
节点要求
-
x86-64、arm64、ppc64le 或 s390x 处理器
-
具有 Linux 内核 3.10 或更高版本 所需依赖项的 。 以下发行版具有所需的内核及其依赖项,并且是 已知与 Calico 和 Kubernetes 配合良好。
- RedHat Linux 7
- CentOS 7
- CoreOS Container Linux stable
- Ubuntu 16.04
- Debian 8
-
Calico 必须能够管理主机上的cali接口。 当 IPIP 是 启用(默认),Calico 也需要能够管理 tunl接口。 启用 VXLAN 后,Calico 还需要能够管理 vxlan.calico界面。
注意 :许多 Linux 发行版都包含 NetworkManager。 默认情况下,NetworkManager 不允许 Calico 管理接口。 如果您的节点具有 NetworkManager,在安装 Calico 之前请完成以下步骤 防止 NetworkManager 控制 Calico 接口。
NetworkManager 操作默认网络中接口的路由表 命名空间,其中 Calico veth 对被锚定以连接到容器。 这会干扰 Calico 代理正确路由的能力。
在以下位置创建配置文件 /etc/NetworkManager/conf.d/calico.conf阻止 NetworkManager 干扰接口:
[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:tunl*;interface-name:vxlan.calico
- 如果您的 Linux 发行版附带已安装的 Firewalld 或其他 iptables 管理器,则应将其禁用。 这些可能会干扰 Calico 添加的规则并导致意外行为。
注意 : 如果需要主机防火墙,可以通过 Calico HostEndpoint 和 GlobalNetworkPolicy 进行配置。
键/值存储
Calico v3.20 需要一个所有Calico组件都可以访问的键/值存储。 在 Kubernetes 上,您可以将 Calico 配置为直接访问 etcdv3 集群或 使用 Kubernetes API 数据存储。
网络要求
确保您的主机和防火墙根据您的配置允许必要的流量。
特权
确保 Calico 具有 CAP_SYS_ADMIN 特权。
提供必要特权的最简单方法是以 root 身份或在特权容器中运行 Calico。 当作为 Kubernetes 守护进程集安装时,Calico 通过作为特权容器。 这需要允许 kubelet 以特权方式运行容器。 使用 pod 安全策略可以实现这一点。
Kubernetes 要求
支持的版本
我们针对以下 Kubernetes 版本测试 Calico v3.20。
- v1.19
- v1.20
- v1.21
由于 Kubernetes API 的变化,Calico v3.20 将无法运行 在 Kubernetes v1.15 或更低版本上。 v1.16-v1.18 可能有效,但不再进行测试。 较新的版本也可以使用,但我们建议升级到 Calico 版本 这是针对较新的 Kubernetes 版本进行测试的。
启用 CNI 插件
Calico 作为 CNI 插件安装。 kubelet 必须配置 通过传递 --network-plugin=cni 使用 CNI 网络。 (在 kubeadm,这是默认设置。)
其他网络提供商
Calico 必须是每个集群中唯一的网络提供商。 我们的确是当前不支持将具有其他网络提供商的集群迁移到 使用 Calico 网络。
支持的 kube-proxy 模式
Calico 支持以下 kube-proxy 模式:
- iptables(默认)
- ipvs需要 Kubernetes >=v1.9.3。参考 在 Kubernetes 中启用 IPVS(https://docs.projectcalico.org/networking/enabling-ipvs) 以 了解更多详细信息。
IP池配置
为 pod IP 地址选择的 IP 范围不能与您网络中的 IP 范围任何其他 IP 地址重叠 ,包括:
- Kubernetes 服务集群 IP 范围
- 分配主机 IP 的范围
应用层策略要求
- MutatingAdmissionWebhook 启用
- Istio v1.0 、 v1.1 、 v1.2 、 v1.3 、 v1.6 或 v1.7
请注意,Kubernetes 1.16+ 版需要 Istio 1.2 版或更高版本。 请注意,Istio 1.7 版需要 Kubernetes 1.16+ 版。
内核依赖
提示 :如果您正在使用推荐的发行版之一,您将已经满足这些。
ip_set
ip_tables(对于 IPv4)
ip6_tables(对于 IPv6)
ipt_REJECT
ipt_rpfilter
ipt_set
nf_conntrack_netlink子系统
nf_conntrack_proto_sctp
sctp
xt_addrtype
xt_comment
xt_conntrack
xt_icmp(对于 IPv4)
xt_icmp6(对于 IPv6)
xt_ipvs, ipt_ipvs
xt_mark
xt_multiport
xt_rpfilter
xt_sctp
xt_set
xt_u32
xt_bpf(对于 eBPF)
vfio-pci
ipip(如果在 IPIP 模式下使用 Calico 网络)
wireguard(如果使用 WireGuard 加密)
作者:Varden
出处:Varden - 博客园
本文内容如有雷同,请联系作者!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
更多推荐
所有评论(0)