externalTrafficPolicy 再探

一   externalTrafficPolicy 属性再探

一次网络不通"争吵"引发的思考

K8s中的external-traffic-policy是什么?

说明: 阿里云的 'EDAS 和ACK'的默认行为'不一样'

Kubernetes(二十三)Service(二)会话保持和获取客户端的ip

访问 externalTrafficPolicy 为 Local 的 Service 对应 LB 有时超时

k8s svc的externalTrafficPolicy属性 跨node不通 保留客户端源IP

kubernetes svc设置externalTrafficPolicy无法访问题

访问'没有'Endpoint的节点的NodePort,'不能通'

原因: 因为节点上'没有'相关的'ipvs转发规则',所以'无法'进行dnat,访问会'失败'

说明: 常见有'两种'行为

备注:

 1、当externalTrafficPolicy取值为'Local'时

 2、通过'节点IP:服务端口'的请求只会转发给'本节点上的Pod',如果节点'没有Pod'话请求会'挂起'

观察点: '没有' endpoint的节点的 'SLB IP' 的IPVS 的'规则'  --> SLB的'规则'后端节点

现象: 通过k8s的'svc提供的域名',竟然'时通时不通' --> '两个实例'

kubernetes - "externalTrafficPolicy"设置为 "Local"时无响应

集群内无法访问Service的说明

抓包分析当svc externalTrafficPolicy=Local 时,进入容器中的包是否进行源地址转换

①  Local值和Cluster值的差异性

kubectl explain svc.spec.externalTrafficPolicy

   1、集群级别 'Cluster'  --> "默认","不会保留源ip"

   2、节点级别 'Local'  
  
外部策略为'Local/Cluster',所有集群节点创建'ipvs规则'是有'区别'的

ServiceInternalTrafficPolicy特性在'1.22'的K8s中'默认'开启

Service'选择一个Pod'转发到该Pod,但Service选择的Pod'不一定在接收请求的节点上'

思考1: 'Local'可以获取到客户端源ip的'原因?'

思考2: 在集群内'没有对应endpoint'的'节点上或pod内'通过'svc ip'访问,为什么'时通时不通'?

原因:  curl svc_ip:port 时,由于是'Local','ep有两个实例',但是'接收'流量的节点上没有pod

注意:  访问 svc 'Local' 的服务时,一定要注意'访问节点ip上'面要有svc关联 Pod 调度

k8s中的'实例'通常称之为'endpoint'

首先在'Cluster'模式下,ipvs模式下,流量到达'非pod 所在的节点'时,会再做一次'FULL-NAT'

细节:

 1、 Kube-proxy在做'转发'时候,会做一次'SNAT' (source network address translation)

 2、 所以'源IP'变成了'首先接收请求'的'节点' ip地址

②  k8s ipvs模式常用命令

需求: 查询某个 '虚拟ip' 地址的详细信息

ipvsadmn -ln -t vip:port

-g: --gatewaying, 指定LVS工作模式为'Direct-routing 直接路由'方式,是'LVS'默认工作模式

-i: --ipip, 指定LVS的工作模式为'隧道封装'模式

-m:--masquerading, 指定LVS的工作模式为'MAT'模式 --> 'NAT'和'Full-Nat'模式

conntrack -L | grep 'ip'

误区: pod服务'启动'有这个端口,但是没有通过任何形式'暴露'端口,所以'除了该pod内'都无法访问

 ③  ACK云产品的Service 

说明: 以下讲解ACK 的'flannel' 网络插件

Service异常问题排查

每一个pod里面'/etc/resolv.conf' 会'添加'一个东西: ns.svc.cluster.ip

集群内无法访问SLB

使用Service对外暴露应用

阿里云负载均衡'SLB'服务'现在叫CLB'

通过使用自动创建SLB的服务公开应用

Service的负载均衡配置注意事项

遗留: kubectl explain svc.spec.sessionAffinity

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

用于药物发现的知识图谱

我在GitHub上搜索了一下,发现有一些项目涉及到知识图谱在药物发现领域的应用。 一个项目是 **KDD2023_KaGML_DrugDiscovery_Tutorial**,它是一个关于药物发现的教程,介绍了如何使用知识增强的图机器学习(KaGML)来进行…

springboot+vue志愿者在线报名服务管理系统java毕业设计源码+数据库

vuespringboot志愿服务管理系统 本项目是springbootvueElementuimysql源码 开发工具,idea和eclipse都可以,MySQL 源码下载地址 https://download.csdn.net/download/yibo2022/88401958?spm1003.2166.3001.6637.3https://download.csdn.net/download/yibo2022/884…

2023-12-01 LeetCode每日一题(找出叠涂元素)

2023-12-01每日一题 一、题目编号 2661. 找出叠涂元素二、题目链接 点击跳转到题目位置 三、题目描述 给你一个下标从 0 开始的整数数组 arr 和一个 m x n 的整数 矩阵 mat 。arr 和 mat 都包含范围 [1,m * n] 内的 所有 整数。 从下标 0 开始遍历 arr 中的每…

解决 Idea 下 Tomcat 乱码 问题

解决方案 找了很多的解决方案,但是日志文件和控制台信息只能解决一个,不能兼得,下面给出最佳方案 1.打开 Tomcat 安装目录并找到 conf 文件夹 重启IDEA 即可

SQL练习3

1、创建数据库school,字符集为utf8 mysql> create database school; Query OK, 1 row affected (0.00 sec) mysql> show databases; -------------------- | Database | -------------------- | db1 | | information_schema | | mye…

OpenHarmony 设备启动Logo和启动视频替换指南

前言 OpenHarmony源码版本:4.0release 开发板:DAYU / rk3568 一、Logo替换 替换其中的logo.bmp 和 logo_kernel.bmp文件 注意事项: 1、图片的分辨率需要和设备匹配 2、如果是非首次编译(存在缓存)需要将out目录删…

香港专才计划(输入内地人才计划)申请条件?附官网和申请攻略、利弊!

香港专才计划(输入内地人才计划)申请条件?附官网和申请攻略、利弊! 输入内地人才计划(英语:Admission Scheme for Mainland Talents and Professionals (ASMTP)),俗称专才计划&#…

WordPress采集器自动采集发布的工具

WordPress作为最受欢迎的内容管理系统之一,其强大的功能和灵活性使其成为许多网站、博客和电子商务平台的首选。WordPress采集器自动采集发布内置采集规则是一项备受关注的功能,让用户可以轻松收集并发布内容。WordPress采集器自动采集发布内置采集规则的…

亚马逊云科技推出新一代自研芯片

北京——2023 年12月1日 亚马逊云科技在2023 re:Invent全球大会上宣布其自研芯片家族的两个系列推出新一代,包括Amazon Graviton4和Amazon Trainium2,为机器学习(ML)训练和生成式人工智能(AI)应用等广泛的工…

TikTok美食狂潮:短视频如何塑造食物文化新趋势

短视频不仅成为分享美食的平台,更是塑造了一种全新的食物文化趋势。本文将深入探讨TikTok如何通过短视频影响食物文化,并推动美食体验的创新。 创意美食视频的崛起 传统的美食呈现方式通常通过图片或文字,而短视频带来了全新的美食呈现方式。…

Ubuntu安装HP LaserJet P3010系列打印机驱动

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、安装驱动二、其它设置总结 前言 最近在研究Ubuntu Desktop版,无意间看到了打印机选项,就好奇去试了试。居然配置成功了&#xff0c…

智安网络|发现未知风险,探索渗透测试的奥秘与技巧

在当今信息时代,网络安全已成为组织和个人面临的重大挑战。为了保护网络系统的安全,渗透测试成为一种重要的手段。 一、渗透测试的基本原理 渗透测试是通过模拟黑客攻击的方式,对目标系统进行安全评估。其基本原理是模拟真实攻击者的思维和行…

网传滴滴系统崩了,是因为k8s版本升级错误?

11月27日晚间,滴滴因系统故障导致App服务异常登上热搜,不仅无法显示定位、无法打车,有司机的后台还显示收入超690亿。28日和29日,滴滴两次发文致歉,称初步确定事故起因是底层系统软件发生故障。 相较于一些网友戏谑的…

Spinnaker 基于 jenkins 触发部署

jenkins job 触发部署 将 Jenkins 设置为 Spinnaker 中的持续集成 (CI) 系统可让您使用 Jenkins 触发管道、向管道添加 Jenkins 阶段或向管道添加脚本阶段。 前置要求: 已在kubernetes中部署spinnaker已准备可用的jenkins实例 启用 jenkins触发器 官方文档&…

使用LVM给Centos根分区扩容

1.查看磁盘使用 roottomoncle:~# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 2.0G 1.1M 2.0G 1% /run …

leetCode 494.递增子序列 + 回溯算法 + 图解 + 笔记

给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。 示例 1&#…

实现一个简单的网络通信上

那么我们的服务器有了,接下来就是初始化服务器 我们写的是基于udp协议的服务器,如果你想进行网络编程,那么创建的第一个就是socket 创建套接字 domain参数 所以当我们创建一个套接字时,你得说明未来使用这些套接字对应的类型是什…

企业如何做好合规管理?

近年来“合规”作为一个热点话题,频繁出现在公众视野,已然成为企业管理发展的大趋势。国家相继出台的各项合规管理标准预示着我国的企业合规管理正逐步从头部央企向民营企业扩展。因此,各大企业将合规管理作为了企业管理的首要任务。 随着中…

一次北斗接收机调试总结

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 最近项目中要用到北斗接收机,它的样子是长这样的: 这部机器里面是没有操作系统的,由单片机控制。最近我们要根据协议…

PyTorch2.0环境搭建(二)

三、前置环境搭建——CUDA pytorch有cpu和gpu两个版本,区别是: 1、硬件要求:CPU版本运算只与CPU版本有关;GPU版本还需要额外链接N卡,可以通过N卡进行加速 2、运行速度:GPU版本比CPU版本在复杂数据和密集计算…