什么是 Kubernetes 的 ClusterIP 服务类型?

来源:这里教程网 时间:2026-02-21 17:27:31 作者:

Kubernetes 中的 ClusterIP 服务类型是默认的服务暴露方式,它会为服务分配一个集群内部的虚拟 IP 地址,只能在集群内部访问。这个 IP 不对外暴露,适合用于内部组件之间的通信。

ClusterIP 的核心特点

ClusterIP 主要用于控制 Pod 之间的网络调用,确保应用各层(如前端与后端)可以在集群内安全、稳定地交互。

仅限内部访问:服务只能被集群内的节点、Pod 或其他服务访问,外部无法直接连接。 虚拟 IP 地址:Kubernetes 控制平面为服务分配一个稳定的虚拟 IP,即使后端 Pod 重启或变更,该 IP 保持不变。 负载均衡:发往 ClusterIP 的请求会被自动转发到后端健康的 Pod 上,实现简单的轮询负载均衡。

使用场景举例

假设你有一个前端 Web 应用需要访问后端 API 服务,而你不希望 API 被公网访问,这时就可以使用 ClusterIP。

数据库服务(如 MySQL、Redis)通常配置为 ClusterIP,只允许应用 Pod 连接。 微服务架构中,服务间调用(如订单服务调用用户服务)通过 ClusterIP 实现解耦和发现。

如何定义 ClusterIP 服务

在 YAML 文件中声明服务时,将 type 设置为 ClusterIP(也可省略,因它是默认值):

apiVersion: v1
kind: Service
metadata:
  name: my-backend-service
spec:
  type: ClusterIP
  selector:
    app: backend
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9000

上述配置会创建一个名为 my-backend-service 的服务,其 ClusterIP 可供集群内其他 Pod 使用服务名或 IP 访问。

基本上就这些。ClusterIP 是 Kubernetes 网络模型中最基础也最常用的服务类型,理解它有助于构建安全、可维护的容器化应用架构。

相关推荐