externalTrafficPolicy 再探

news2024/11/19 7:44:50

一   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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二分查找与搜索树高频问题

关卡名 逢试必考的二分查找 我会了✔️ 内容 1.山脉数组的峰顶索引 ✔️ 2.旋转数字的最小数字 ✔️ 3.寻找缺失数字 ✔️ 4.优化求平方根 ✔️ 5.中序与搜索树原理 ✔️ 6.二叉搜索树中搜索特定值 ✔️ 7.验证二叉搜索树 ✔️ 基于二分查找思想,可以拓展出很…

IntelliJ IDEA 之初体验(上)

IntelliJ IDEA 是一款由 JetBrains 公司开发的强大的集成开发环境(IDE),专注于 Java 开发,同时支持多种其他编程语言。本文将详细介绍 IntelliJ IDEA 的安装过程以及一些常用的基本操作。 第一步:下载与安装 IntelliJ…

LeetCode Hot100 75.颜色分类

题目: 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 so…

LeetCode 2661. 找出叠涂元素:多次映射

【LetMeFly】2661.找出叠涂元素:多次映射 力扣题目链接:https://leetcode.cn/problems/first-completely-painted-row-or-column/ 给你一个下标从 0 开始的整数数组 arr 和一个 m x n 的整数 矩阵 mat 。arr 和 mat 都包含范围 [1,m * n] 内…

UPDF 已集成 ChatGPT,AI 赋能注入新动能!

ChatGPT 掀起全球AI热潮,引发了世界范围内对AIGC未来会如何重塑各行各业的讨论与畅想。近日,由赛博爱思(上海)软件科技有限公司独立自主研发的国产 PDF 软件 UPDF完成版本更新,正式上线 AI 功能。据悉,UPDF AI完美集成了ChatGPT 的技术,可帮助用户智能阅读、总结、翻译、问答PD…

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

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

19、串口向电脑发送数据电脑通过串口控制LED

串口向电脑发送数据 main.c #include <REGX52.H> #include "Delay.h" #include "UART.h"unsigned char Sec;void main() {//串口初始化UART_Init(); while(1){//串口发送1个字节UART_SendByte(Sec); Sec; Delay(1000); } }UART.c #include &…

学习笔记8——JUC入门基础知识

学习笔记系列开头惯例发布一些寻亲消息 链接&#xff1a;https://baobeihuijia.com/bbhj/contents/3/199561.html 进程和线程:进程是资源分配的最小单位&#xff0c;线程是CPU调度的最小单位 进程和线程的主要区别&#xff08;总结&#xff09;_进程和线程的区别-CSDN博客进程…

矩阵起源入选IDC《中国大数据管理解决方案技术评估,2023》

近日&#xff0c;矩阵起源作为典型代表厂商入选国际数据公司IDC发布的《中国大数据管理解决方案技术评估&#xff0c;2023》。 在该评估中&#xff0c;IDC认为&#xff0c;矩阵起源超融合异构数据库 MatrixOne 具备如下优势: 将存储、计算、事务三层结解耦&#xff0c;以极致灵…

uni-app 微信小程序之自定义圆形 tabbar

文章目录 1. 自定义tabbar效果2. pages新建tabbar页面3. tabbar 页面结构4. tabbar 页面完整代码 1. 自定义tabbar效果 2. pages新建tabbar页面 首先在 pages.json 文件中&#xff0c;新建一个 tabbar 页面 "pages": [ //pages数组中第一项表示应用启动页&#xff…

代理服务器的IP和端口是什么意思?

代理服务器的地址和端口&#xff1a;基础概念解析 如果我们将其与在互联网发明之前我们的老一辈之间用于交流的经典书信进行类比&#xff0c;那么地址就相当于信封上的寄件人地址&#xff0c;而端口就相当于收信人地址。然而&#xff0c;与传统信件不同&#xff0c;这里需要确切…

【蓝桥杯软件赛 零基础备赛20周】第6周——栈

文章目录 1. 基本数据结构概述1.1 数据结构和算法的关系1.2 线性数据结构概述1.3 二叉树简介 2. 栈2.1 手写栈2.2 CSTL栈2.3 Java 栈2.4 Python栈 3 习题 1. 基本数据结构概述 很多计算机教材提到&#xff1a;程序 数据结构 算法。 “以数据结构为弓&#xff0c;以算法为箭”…

使用YOLOv8训练自己的数据集

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 拉取项目 git clone https://github.com/ultralytics/ultralytics安装依赖 cd ultralytics pip install -r requirement.txt pip instal…

某60区块链安全之薅羊毛攻击实战二学习记录

区块链安全 文章目录 区块链安全薅羊毛攻击实战二实验目的实验环境实验工具实验原理实验内容薅羊毛攻击实战二 实验步骤EXP利用 薅羊毛攻击实战二 实验目的 学会使用python3的web3模块 学会分析以太坊智能合约复杂场景下薅羊毛攻击漏洞及其利用 找到合约漏洞进行分析并形成利…

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

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

深入理解Zookeeper系列-1.初识Zoookeeper

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码、Kafka原理、分布式技术原理&#x1f525;如果感觉博主的文章还不错的话&#xff…

LLM算法工程师面试题总结

一、请简述对大模型的基本原理和架构的理解。 大型语言模型如GPT&#xff08;Generative Pre-trained Transformer&#xff09;系列是基于自注意力机制的深度学习模型&#xff0c;主要用于处理和生成人类语言。下面简要概述了它们的一些基本原理和架构特点&#xff1a; 基本原…

springBoot3.2 + jdk21 + GraalVM上手体验

springBoot3.2 jdk21 GraalVM上手体验 SpringBoot2.x官方已经停止维护了&#xff0c;jdk8这次真的得换了&#x1f923; 可以参考官方文章进行体验&#xff1a;https://spring.io/blog/2023/09/09/all-together-now-spring-boot-3-2-graalvm-native-images-java-21-and-virt…

对el-button封装使用

x改变el-button样式并且多处使用 el-button封装&#xff1a; <template><el-buttonclass"my-btn":style"{ width }":disabled"disabled"click"myClick"mouseenter"person.active true"mouseleave"person.ac…

计算机视觉(OpenCV+TensorFlow)

计算机视觉&#xff08;OpenCVTensorFlow&#xff09; 文章目录 计算机视觉&#xff08;OpenCVTensorFlow&#xff09;前言3.图像金字塔3.1 高斯金字塔3.2 拉普拉斯金字塔 4.图像轮廓图像边缘和图像轮廓的区别检测图像绘制边缘 5.轮廓近似外接矩形外接圆 6. 模板匹配6.1 什么是…