k8s-service 7

由控制器来完成集群的工作负载,service(微服务)是将工作负载的应用暴露出去,从而解决访问问题

作用:无论是在集群内还是集群外,都可以访问pod上的应用,其实现对集群内的应用pod自动发现和负载均衡

service默认支持四层负载均衡,七层需要inggress来支持

通信必须要有proxy,如果是跨节点网络通信还需要flannel节点,然后再结合每个节点上的iptables,从而实现负载均衡

默认类型为ClusterIP,不指定的话就默认为ClusterIP

默认使用iptables,调度iptables算法是随机的,推荐使用lvs

IPVS模式

kube-proxy 通过 iptables 处理 Service 的过程,需要在宿主机上设置相当多的 iptables 规则,如果宿主机有大量的Pod,不断刷新iptables规则,会消耗大量的CPU 资源;

IPVS模式的service,可以使K8s集群支持更多量级的Pod。

lvs内核调度,算法更强大,性能更好,可以减少在刷iptables所带来的cpu消耗

修改proxy配置

   

重启pod,删除重建

在切换成ipvs模式后,kube-proxy会自动在宿主机上添加一个虚拟网卡,并给其分配serviceIP


Nodeport

nodeport在集群节点上绑定端口,每个端口对应一个服务


Headless(无头服务)

headless模式不需要分配VIP

该类型也是以一中特殊的clusterIP类型,clusterIP仅限于集群内进行访问

headless通过svc名称访问,由集群内dns提供解析

集群内直接使用service名称进行访问

该模式访问仅限于在集群内


LoadBalancer(从外部访问的第二种方式)

默认无法分配外部访问ip

loadBlabcer -> nodeport -> clusterip -> pod

LoadBalancer模式适用于云平台,裸金属环境需要安装metallb提供支持

官网:https://metallb.universe.tf/installation/

下载部署文件

在harbor仓库中新建一个metallb项目,并将镜像拉取在上面

拉取完成后,修改文件中的镜像地址,与刚拉取的harbor仓库保持一致

给镜像打上标签,并且上传到harbor仓库

部署服务

配置分配地址段

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/255339.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

欧洲原料药认证注册信息查询方法-CEP数据库

欧盟是全球最大、最重要的药品国际市场之一,药品需求市场非常庞大。中国药企要进入欧盟市场,必须获得CEP认证。 CEP认证与COS认证等同,均代表欧洲药典适应性证书 COS(Certificate of Suitability)是指欧洲药典适用性认…

Course2-Week3-使用机器学习的建议

Course2-Week3-使用机器学习的建议 文章目录 Course2-Week3-使用机器学习的建议1. 拆分原始训练集1.1 如何改进模型1.2 二拆分:训练集、测试集1.3 三拆分:训练集、验证集、测试集 2. 避免高偏差和高方差2.1 使用训练误差和验证误差进行分析2.2 选择合适的…

校园外卖小程序源码系统 附带完整的搭建教程

随着大学生消费水平的提高,对于外卖服务的需求也在不断增加。很多学生都面临着课业繁重、时间紧张等问题,无法亲自到餐厅就餐。因此,开发一款适合校园外卖市场的应用软件,将为广大学生提供极大的便利。 以下是部分代码示例&#…

APP兼容性测试,这几个面试硬技能,包教包会

兼容性测试主要通过人工或自动化的方式,在需要覆盖的终端设备上进行功能用例执行,查看软件性能、稳定性等是否正常。 对于需要覆盖的终端设备,大型互联网公司,像 BAT,基本都有自己的测试实验室,拥有大量终…

期末速成数据库极简版【创建】(1)

目录 前言 【1】T-SQL语句创建数据库 【2】T-SQL语句删除数据库 【3】T-SQL语句创建表 完整性约束 数据类型 例子 【4】T-SQL语句修改表 【5】T-SQL语句删除表 关于数据库,在我们学习Linux网络编程后面会详细学习到,为了应付期末考试&#xff0…

【QML】QML与cpp交互(一)—— QML直接调用cpp函数

目录 1、cpp 创建一个类 2、将类对象暴露给QML 3、QML通过对象直接调用cpp函数 1、cpp 创建一个类 类模板如下: #include <QtCore/QObject>class vacUdpClient: public QObject {Q_OBJECT public: vacUdpClient(QObject* parent nullptr): QObject(parent) {}// Q…

国内零代码链接器有哪些?

什么是零代码链接器&#xff1f; 零代码链接器&#xff0c;也是属于零代码集成领域&#xff0c;代表一种可以通过不编写代码就能让不同系统产生数据互通的技术&#xff0c;主要通过授权API接口暴露数据&#xff0c;让不同系统间的数据可以在内部互相调用&#xff0c;实现自动化…

uniapp 打开文件管理器上传(H5、微信小程序、android app三端)文件

H5跟安卓APP 手机打开的效果图&#xff1a; Vue页面&#xff1a; <template><view class"content"><button click"uploadFiles">点击上传</button></view> </template><script>export default {data() {return…

如何在Linux上部署1Panel运维管理面板并远程访问内网Web端管理界面

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器&#xff0c;包括主机监控、…

修改vs中python的默认环境

文件——>首选项——>设置 输入python——>点击用户——>点击python——>找到默认python路径&#xff0c;输入你想要的默认环境即可

Android 13 Settings蓝牙列表卡顿问题排查及优化过程

一.背景 此问题是蓝牙列表界面息屏后再点击亮屏蓝牙界面卡住,划不动也不能返回,在人多的时候(附近开启的蓝牙设备过多的时候)会卡住大概四五秒才能滑动. 优化前效果见资源: 二.查找耗时点 根据Android Studio的Profiler工具进行排查,查找主线程时间线比较长的方法,如下:…