K8S之Service

本文详细介绍了Kubernetes中的Service概念,包括其在网络访问中的作用,如何通过yaml定义和配置,以及不同类型的Service(如ClusterIP,NodePort,LoadBalancer)的工作原理。还涵盖了Service的负载均衡机制、会话保持和多端口设置,以及如何将外部服务整合到Service中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Service定义

        官方文档:https://kubernetes.io/zh-cn/docs/concepts/services-networking/service/

        Service是用于一组提供服务的pod抽象一个稳定的网络访问地址,是Kubernetes实现微服务的核心概念,可以为一组具有相同功能的pod提供一个统一的入口地址,并将请求负载分发到后端的各个容器上面。

#service的完整yaml文件如下
apiVersion: v1      // Required
kind: Service      	// Required
metadata:           // Required
  name: string      // Required
  namespace: string // Required
  labels:
    - name: string
  annotations:
    - name: string
spec:               // Required
  selector: []     // Required
  type: string     // Required
  clusterIP: string
  sessionAffinity: string
  ports:
    - name: string
      protocol: string
      port: int
      targetPort: int
      nodePort: int
  status:
    loadBalancer:
      ingress:
        ip: string
        hostname: string
属性名称 取值类型 是否必选 取值说明
version string Required v1
kind string Required Service
metadata object Required 元数据
metadata.name string Required service名称
metadata.namespace string Required 命名空间,不指定默认用default的命名空间
metadata.labels[] list 自定义标签属性列表
metadata.annotations[] list 自定义注解属性列表
spec object Required 详细描述
spec.selector[] list Required Label Selector配置,将选择具有指定Label标签的Pod作为管理范围
spec.type string Required

Service的类型,指定Service的访问方式,默认值为 ClusterIP.(1)ClusterIP : 虚拟服务 IP 地址,该地址用于 Kubernetes集群内部的 Pod 访问 , 在 Node 上 kubc-proxy 通过设置的iptables 规则进行转发 .

(2) NodePort: 使用宿主机的端口,使能够访问各 Node 的外部客户端通过 Node 的了地址和端口号就能访问服务.

(3) LoadBalancer, 使用外接负载均衡器完成到服务的负载分发,需要在spec.starus.loadbalancer 字段指定外部负载均衡器的 IP 地址,同时定义 nodePort 和 clusterlP, 用于 公有云环境

spec.clusterIP string 虚拟服务的IP地址,当type=ClusterIP 时,如果不指定,则系统进行自动分配,也可以手工指定:当type=LoadBalancer时,需要指定
spec.sessionAffinity
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值