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

如何创建ClusterIP Service?LoadBalancer服务类型相关疑问

解决AKS中Windows容器服务的安全访问问题

嘿,针对你在AKS上遇到的Windows容器服务访问安全问题,我来一步步帮你理清:

1. 如何创建ClusterIP类型的服务

其实ClusterIP是Kubernetes服务的默认类型,操作起来很简单,这里给你两种常用的创建方式:

方式一:通过YAML配置文件创建

新建一个比如windows-app-clusterip.yaml的文件,内容如下(注意替换成你自己的容器标签和端口):

apiVersion: v1
kind: Service
metadata:
  name: windows-app-clusterip
spec:
  selector:
    app: your-windows-app  # 需与你的Windows容器Pod的标签完全匹配
  ports:
    - protocol: TCP
      port: 80  # 集群内部访问的端口
      targetPort: 80  # 容器内部监听的端口
  type: ClusterIP  # 可省略,因为Kubernetes默认服务类型就是ClusterIP

执行命令部署服务:

kubectl apply -f windows-app-clusterip.yaml

方式二:通过kubectl命令快速创建

如果你已经有对应的Deployment,直接用expose命令就能生成ClusterIP服务:

kubectl expose deployment <你的Windows应用Deployment名称> --port=80 --target-port=80 --type=ClusterIP

创建完成后,用kubectl get services查看,这个服务的EXTERNAL-IP列会显示<none>,说明它仅能在集群内部被访问。

2. 服务能否同时拥有多种类型?

答案是不行,每个Kubernetes服务只能指定一种type属性。所以你需要做的是:

  • 创建上述的ClusterIP服务,专门供Ingress Controller访问你的Windows容器
  • 删除原来的LoadBalancer类型服务(如果有特殊需求必须保留,一定要通过NetworkPolicy等方式严格限制外部访问,但最安全的做法是直接删除)

调整完成后,记得把Ingress配置里的serviceName改成新创建的ClusterIP服务名称,确保流量能正确转发。这样外部流量只能通过Ingress Controller的HTTPS入口访问你的应用,彻底消除了直接通过服务外部IP访问的安全隐患。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:36:28