service资源实现服务发现的四种方式

service资源实现服务发现的四种方式   可以进行映射
1. service 的概述
        service主要解决Pod的ip地址变化 提供统一的访问入口
        service有一下两个作用
        1)通过标签去关联一组Pod  以实现服务发现的功能
        2)基于iptables 或者 ipvs 实现负载均衡的功能
2. service 类型
    - ClusterIP:
         用于内部服务基于service 名称的访问  这需要依赖于coreDns组件是正常工作的   它的应用场景是k8s集群内部服务之间的访问
    - NodePort : 
          用于kubernetes 集群以外的服务主动访问运行在 kubernetes
           集群内部的服务  它的应用常见是k8s 集群需要访问某个服务   本质上是ClusterIP基础上监听了所有worker 
    - LoadBalannce: 
            用于公有云环境的服务暴露
    - ExternalName:
             用于将k8s集群外部的服务映射至k8s集群内部访问  让集群内部的Pod能够通过固定的service名称访问集群外部的服务
 service 名称访问集群外部集群的服务
      有时候也用于将不同namespace 之间的Pod通过ExternalNName  进行访问


1)案例1  关于ClusterIP

apiVersion: v1
kind: Service
metadata:
  name: oldboyedu-svc
spec:
  # 指定标签选择器,用于关联Pod
  selector:
    app: nginx
  # 定义端口映射
  ports:
    # 指定协议,若不指定,默认是TCP协议
  - protocol: TCP
    # 指定svc的端口
    port: 8888
    # 指定容器的目标端口
    targetPort: 80

 2) 案例2 关于NodePort 

apiVersion: v1
kind: Service
metadata:
  name: oldboyedu-svc-nodeport-001
spec:
  # 指定svc的类型,若不指定,则默认值为CluterIP
  type: NodePort
  # 指定标签选择器,用于关联Pod
  selector:
    app: nginx
  # 定义端口映射
  ports:
    # 指定协议,若不指定,默认是TCP协议
  - protocol: TCP
    # 指定svc的端口
    port: 8888
    # 指定容器的目标端口
    targetPort: 80
    # 当svc的类型是NodePort时,可以指定NodePort端口号,若不指定,则端口随机
    # 默认有效端口范围是: 30000-32767
    nodePort: 30080
 3)  案例3  关于LoadBalannce
kind: Service
apiVersion: v1
metadata:
  name: svc-loadbalancer-wordpress
spec:
  # 指定service类型为LoadBalancer,注意,一般用于云环境
  type: LoadBalancer
  selector:
    app: nginx
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
    # 注意,将来这个nodeProt也对应的是云环境负载均衡的地址
    nodePort: 30085
  # 指定LoadBalancer云环境的负载均衡地址,要确保K8S集群能和负载均衡的IP地址进行通信!
  externalIPs:
  - 10.0.0.88
 4) 案例4   关于ExternalName
apiVersion: v1
kind: Service
metadata:
  name: svc-externalname
spec:
  # svc类型
  type: ExternalName
  # 指定外部域名
  externalName: www.cnblog.com
  # externalName: www.baidu.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值