11、Kubernetes 服务发现与自我感知机制详解(上)

Kubernetes 服务发现与自我感知机制详解(上)

1. 集群外部的服务发现

在 Kubernetes 中,之前讨论的服务发现机制大多使用虚拟 IP 地址指向 Pod 或外部端点,且该虚拟 IP 仅在集群内部可访问。然而,Kubernetes 集群并非与外界隔绝,除了 Pod 连接外部资源,外部应用也常需访问 Pod 提供的端点。下面介绍几种让集群外客户端访问 Pod 的方法。

1.1 NodePort 类型服务

创建并将服务暴露到集群外部的第一种方法是使用 type: NodePort 。以下是一个示例:

apiVersion: v1
kind: Service
metadata:
  name: random-generator
spec:
  type: NodePort              
  selector:
    app: random-generator
  ports:
  - port: 80
    targetPort: 8080
    nodePort: 30036           
    protocol: TCP

此定义创建了一个服务,匹配选择器 app: random-generator 的 Pod,在虚拟 IP 地址的 80 端口接受连接,并将其路由到所选 Pod 的 8080 端口。同时,该定义会在所有节点上预留 30036 端口,并将传入连接转发到服务。这使得服务既可以通过虚拟 IP 地址在内部访问,也可以通过每个节点上的专用端口从外部访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值