k8s通过域名访问 StatefulSet的pod

以下是实现通过域名访问 Kubernetes StatefulSet Pod 的完整配置:

bash 复制代码
apiVersion: v1
kind: Service
metadata:
  name: nginx
  namespace: default
spec:
  clusterIP: None
  selector:
    app: nginx
  ports:
    - port: 80
      name: web
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web
  namespace: default
spec:
  serviceName: "nginx"
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx
          ports:
            - containerPort: 80
          volumeMounts:
            - name: www
              mountPath: /usr/share/nginx/html
  volumeClaimTemplates:
    - metadata:
        name: www
      spec:
        accessModes: [ "ReadWriteOnce" ]
        storageClassName: "standard"
        resources:
          requests:
            storage: 1Gi
  1. 创建无头服务(Headless Service):通过设置 clusterIP: None 实现 DNS 解析,不使用负载均衡。
  2. 定义 StatefulSet:关联无头服务 serviceName: "nginx",自动为每个 Pod 生成唯一 DNS 名称。
  3. 生成 DNS 域名:Pod 名称格式为 web-0.nginx.default.svc.cluster.local,支持直接通过域名访问。
  4. 持久化存储:通过 volumeClaimTemplates 自动为每个 Pod 绑定独立 PV,确保数据持久化。
  5. 有序部署:StatefulSet 按序号创建 Pod,确保依赖关系正确处理。

使用说明:

  1. 部署后,可通过 web-0.nginx.default.svc.cluster.local 访问第一个 Pod。
  2. 支持 DNS 解析,无需手动配置 IP 地址。
  3. 适用于需要稳定网络标识的有状态应用(如数据库集群)。
相关推荐
The star"'18 小时前
kubernetes的概述,部署方式,基础命令,核心部件
云原生·容器·kubernetes·云计算
viviwong1218 小时前
云原生学习笔记
云原生
ProgrammerPulse18 小时前
从 VM 到容器:一场云原生语境下的 “平滑进化”
云原生
小二·18 小时前
Go 语言系统编程与云原生开发实战(第2篇):并发编程深度实战 —— Goroutine、Channel 与 Context 构建高并发 API 网关
开发语言·云原生·golang
岁岁种桃花儿18 小时前
LVS、F5、SLB负载均衡全解析:选型与实战指南
kubernetes·负载均衡·企业级负载均衡
牛奶咖啡1318 小时前
Prometheus+Grafana构建云原生分布式监控系统(十)_prometheus的服务发现机制(一)
云原生·prometheus·prometheus服务发现·静态服务发现·动态服务发现·基于文件的服务发现配置实践·prometheus标签重写
火山引擎开发者社区18 小时前
高密、海量、智能化:解密火山引擎 veDB 的云原生底座
云原生·火山引擎
landonVM19 小时前
使用 DockerSlim 优化/专业 Docker 容器镜像
运维·docker·容器
江湖有缘19 小时前
Docker部署miniboard轻量级监控仪表板
docker·容器·eureka
2501_9404140819 小时前
2026年回望:Sealos DevBox如何重新定义了云端开发的标准
云原生