You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Kubernetes Service,仅允许内部Pod访问并禁用外部访问?

如何配置Kubernetes Service仅允许集群内部Pod访问

你当前的Service配置存在两处会导致外部可访问的问题:nodePort字段指定了节点级别的公网端口,且若service.type为NodePort或LoadBalancer类型,也会对外暴露服务。要实现仅集群内部Pod可访问,按以下步骤修改:

修改要点

  • 移除nodePort字段:该字段是NodePort类型Service用来在集群节点上开放公网端口的配置,删除后将不再对外暴露这个端口。
  • 确保Service类型为ClusterIP:这是Kubernetes Service的默认类型,仅会在集群内部分配可访问的IP,不会对外公开。你可以直接在配置中硬编码类型,或者确保.Values.service.type的值设置为ClusterIP。
  • 修正配置笔误:原配置中spec:a是拼写错误,需要改为spec:,否则会导致配置解析失败。

修改后的完整Service配置

apiVersion: v1
kind: Service
metadata:
  name: {{ include "router.fullname" . }}
  labels:
    {{- include "router.labels" . | nindent 4 }}
spec:
  type: {{ .Values.service.type | default "ClusterIP" }}
  ports:
    - name: http
      protocol: TCP
      port: 80 # 集群内部Service暴露的端口
      targetPort: 8180 # 后端Pod的监听端口
  selector:
    {{- include "router.selectorLabels" . | nindent 4 }}

说明

  • 如果你的values.yaml中service.type已经设置为ClusterIP,直接使用type: {{ .Values.service.type }}即可;如果不确定默认值,加上| default "ClusterIP"可以确保配置默认使用集群内部访问类型。
  • ClusterIP类型的Service只能被集群内的Pod通过Service名称或集群IP访问,外部流量无法直接到达,完全符合你仅允许内部Pod访问的需求。

内容的提问来源于stack exchange,提问作者Peter Penzov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 02:49:52