k8s——5、service


使用阿里云主机ECS,
四台主机信息如下:
server1 — 私网IP:10.0.0.2 ----公网IP: 47.108.54.185 ---- 搭建docker仓库harbor
server2 — 私网IP:10.0.0.3 ----公网IP: 47.108.144.231 ---- k8s集群主节点
server3 — 私网IP:10.0.0.4 ----公网IP: 47.108.115.206 ---- k8s集群节点
server4 — 私网IP:10.0.0.5 ----公网IP: 47.108.28.42 ---- k8s集群节点

参考:
https://kubernetes.io/zh/docs/reference/kubectl/cheatsheet/
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands官网文档

service简介

  • Service可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便的实现服务发现和负载均衡

  • Service默认只支持4层负载均衡能力,没有7层功能(可以通过Ingress实现)

  • Service的类型:
    ClusterIP:默认值,k8s系统给Service自动分配的虚拟IP,只能在集群内部访问。
    NodPort:将Service通过指定的集群节点上的端口暴露给外部,访问任意一个NodelP:nodePort都将路由到ClusterIP。
    Loadalancer:在Nodeort的基础上,借助cloud provider创建一个外部的负载均衡器,并将请求转发到:NodePort,此模式只能在云服务器上使用。
    ExternaName:将服务通过DNS CNAME记录方式转发到指定的域名(通过spec.extemINAME设定)

由于Pod会随时起停,所以分配固定IP不合适。且直接将容器地址暴露给外网也是不安全的做法。所以,在这中间,就需要Service来实现

  • Service是由kube-proxy组件,加上iptables来共同实现的
  • kube-proxy通过iptables处理Service的过程,需要在宿主机上设置相当多的iptables规则,如果宿主机有大量的Pod,不断刷新iptables规则,会消耗大量的CPU资源
  • IPVS模式的Service,可以使k8s集群支持更多量级的Pod

开启kube-proxy的ipvs模式:
yum install -y ipvsadm #所有节点安装
kubectl edit cm kube-proxy -n kube-system #修改IPVS模式

使用iptables处理service

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

使用ipvs模式的service

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

service的类型

ClusterIP类型

在这里插入图片描述
在这里插入图片描述

NodePort类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

LoadBalancer类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述私有仓库需要先拉取metallb镜像
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

headless

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ExternalName类型

生产环境中,有很多业务是部署在集群之外的。从服务的角度来说,有些服务是部署在集群内的,有些是部署在集群外的。在访问外部服务的时候,如果外部服务的接口变动了该如何处理呢?那么可以使用服务的ExternalName类型。
本质就是添加dns解析记录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值