【Kubernetes】常见面试题汇总(十七)
目录
51.简述 Kubernetes 网络策略?
52.简述 Kubernetes 网络策略原理?
53.简述 Kubernetes 中 flannel 的作用?
54.简述 Kubernetes Calico 网络组件实现原理?
51.简述 Kubernetes 网络策略?
- 为实现细粒度的容器间网络访问隔离策略,Kubernetes 引入 Network Policy。
- Network Policy 的主要功能是对 Pod 间的网络通信进行限制和准入控制,设置允许访问或禁止访问的客户端 Pod 列表。
- Network Policy 定义网络策略,配合策略控制器(Policy Controller)进行策略的实现。
52.简述 Kubernetes 网络策略原理?
Network Policy 的工作原理主要为:
policy controller 需要实现一个 API Listener,监听用户设置的 Network Policy 定义,并将网络访问规则通过各 Node 的 Agent 进行实际设置(Agent 则需要通过 CNI 网络插件实现)。
53.简述 Kubernetes 中 flannel 的作用?
Flannel 可以用于 Kubernetes 底层网络的实现,主要作用有:
① 它能协助 Kubernetes,给每一个 Node 上的 Docker 容器都分配互相不冲突的 IP 地址。
② 它能在这些 IP 地址之间建立一个覆盖网络(Overlay Network),通过这个覆盖网络,将数据包原封不动地传递到目标容器内。
54.简述 Kubernetes Calico 网络组件实现原理?
- Calico 是一个基于 BGP 的纯三层的网络方案,与 OpenStack、Kubernetes、AWS、GCE 等云平台都能够良好地集成。
- Calico 在每个计算节点都利用 Linux Kernel 实现了一个高效的 vRouter 来负责数据转发。每个 vRouter 都通过 BGP 协议把在本节点上运行的容器的路由信息向整个 Calico 网络广播,并自动设置到达其他节点的路由转发规则。
- Calico 保证所有容器之间的数据流量都是通过 IP 路由的方式完成互联互通的。
- Calico 节点组网时可以直接利用数据中心的网络结构(L2 或者 L3),不需要额外的 NAT、隧道或者 Overlay Network,没有额外的封包解包,能够节约 CPU 运算,提高网络效率。