【k8s】 核心概念 2 service

我们现在已经有了 pod ,那让他们相互访问不可以么?答案是,不可以,因为 pod 是有生命周期的,他可能随时被创建也可能随时被销毁,而 每次新建 pod 就会给其分配一个随机的 ip,并且 k8s 也会自动调控 pod 的数量。这就导致了 pod 之间直接访问是不现实的,如果有一个入口,可以动态绑定那些提供相同服务的 pod,并将其开放在固定端口上,这样访问起来不就方便很多了么?这个入口在 k8s 中被称为service。
在这里插入图片描述

Service是一组逻辑Pods的抽像,并定义了这组逻辑Pods的访问策略,来解决应用之间的内部访问。

我们看下服务例子:

apiVersion: v1
kind: Service
metadata:
  name: kubia
spec:
  ports:
  - port: 80
    targetPort: 8080
  selector:
    app: kubia


代理模型

目前k8s提供了三种服务代理模型

  • userspace
  • iptables:默认配置
  • ipvs

Kubernetesv1.2之前默认是userspace之后是iptables模式,iptables模式性能和可靠性更好,但是iptables模式依赖健康检查,在没有健康检查的情况下如果一个pod不响应,iptables模式不会切换另一个pod上

Kubernetes v1.9版本会支持lvs的ipvs模式目前还是beta版

服务类型

当前服务支持如下几种类型

  • ClusterIP:通过集群的内部IP暴露服务, 不设置类型时,此值是默认值
  • NodePort:通过每个Node上的IP和静态端口暴露服务
  • LoadBalancer:外部云供商的负载均衡器
  • ExternalName:将服务映射成一个externalName(e.g. foo.bar.example.com)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值