service类型及功能简介+pod类型
功能定义及简介:
定义:K8s 中的Service是一种抽象,用于定义一组Pod的逻辑集合,并为它们提供统一的网络入口。Service充当了Pod的负载平衡器和服务发现器,为应用程序提供了稳定的网络地址,使得应用程序可以访问与之关联的Pod而无需了解其具体的IP地址或端口。
功能:Service 是 Kubernetes 中一种非常重要的资源,它提供了一种抽象和统一的方式来公开应用程序,并实现负载均衡和服务发现,从而简化了微服务架构中的网络管理和通信。 Service的四种类型
无头service: 无头service是K8S中一种特殊类型的服务,与普通的服务类型(如ClusterIP、NodePort、LoadBalancer)不同,它并不分配 ClusterIP,也不会代理流量到任何后端 Pod。相反,它的主要目的是为了服务发现,通过 DNS 记录提供了服务的所有 Pod 的 IP 地址列表。这样,应用程序可以直接通过 Pod 的 IP 地址来访问服务,而不需要经过 Kubernetes 的服务代理。 由于无头服务提供了每个 Pod 的直接 IP 地址,因此它通常用于运行有状态应用程序,如数据库、缓存。 查询 DNS 记录: 使用 Pod 内置的 DNS 解析功能,可以通过无头服务的 DNS 名称来获取所有后端 Pod 的 IP 地址列表。例如,通过查询 my-headless-service.namespace.svc.cluster.local 可以获取到所有与 my-headless-service 服务关联的 Pod 的 IP 地址列表。
静态 Pod 是 Kubernetes 中的一种特殊类型的 Pod。与通常由控制器动态创建和管理的 Pod 不同,静态 Pod 是直接在某个节点上手动创建的。
静态 Pod 的配置文件通常存储在节点上的特定目录中(例如 /etc/kubernetes/manifests)。当 Kubernetes 的 kubelet 启动时,它会扫描该目录,并直接使用这些配置文件创建对应的 Pod。
静态 Pod 与其他类型的 Pod 有以下一些区别:
静态 Pod 只能在特定的节点上运行,而不能被调度到集群中的其他节点。
静态 Pod 不受控制器的管理,也不会受到自动伸缩、滚动升级等功能的影响。
静态 Pod 的生命周期与 kubelet 进程的生命周期相绑定,如果 kubelet 停止或重启,那么静态 Pod 也会停止或重启。
静态 Pod 在某些情况下非常有用,例如用于在节点启动时运行一些系统级别的服务或辅助容器。然而,在大规模集群中部署静态 Pod 时需要小心,因为手动管理和维护可能会变得复杂和困难