k8s serive 配置 NodePort
时间: 2024-05-06 17:16:11 浏览: 79
在 Kubernetes 中,要将 Service 暴露到集群外部,可以使用 NodePort 类型的 Service。NodePort 是一种类型的 Service,它会在每个节点上监听一个端口,并将该端口转发到 Service 的 ClusterIP 上。
下面是一个使用 NodePort 类型的 Service 的示例 YAML 文件:
```yaml
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
type: NodePort
ports:
- protocol: TCP
port: 80
targetPort: 8080
```
在这个示例中,我们创建了一个名为 my-service 的 Service,并将其类型设置为 NodePort。它将会暴露一个端口,该端口将会在每个节点上监听。当请求到达该端口时,它将会被转发到 Service 的 ClusterIP 上。
注意,我们还需要在 ports 字段中指定端口映射关系。在这个例子中,我们将 Service 的 80 端口映射到 Pod 的 8080 端口。
完成配置之后,使用 kubectl apply 命令将配置文件应用到 Kubernetes 集群中即可。
```bash
kubectl apply -f my-service.yaml
```
如果想查看 Service 的 NodePort 端口号,可以使用以下命令:
```bash
kubectl get svc my-service -o jsonpath='{.spec.ports[0].nodePort}'
```
这条命令将会输出 Service 的 NodePort 端口号。
阅读全文