Kubernetes (k8s) 集群中常用的一些中间件有:
etcd:k8s 使用 etcd 作为分布式键值存储,用于存储集群配置和状态信息。etcd 是一个高性能、可靠的分布式系统,基于 Raft 协议实现了一致性和容错机制。
kube-proxy:kube-proxy 是 k8s 的网络代理组件,它维护了一个本地规则表,将服务 IP 和端口映射到 Pod IP 和端口。kube-proxy 可以在不同的模式下运行,包括 userspace 模式、iptables 模式和 ipvs 模式。
CoreDNS:CoreDNS 是 k8s 中的 DNS 服务器,用于将域名解析为服务 IP 地址。与传统的 DNS 不同,CoreDNS 支持使用 k8s 中定义的 Service 对象来管理 DNS 记录,并支持插件化架构。
Container Runtime:k8s 需要一个容器运行时来创建和管理容器。Docker 是最流行的容器运行时之一,但也可以使用其他选项,如 CRI-O、containerd 等。
Ingress Controller:Ingress Controller 是 k8s 的扩展程序,用于将外部请求路由到集群内部的服务。它通过监听 Ingress 对象来动态更新负载均衡规则,并支持多种负载均衡算法和 TLS 终止。
以上是 k8s 集群中常用的一些中间件,它们共同构成了一个完整的容器化应用平台。