K8S svc暴露的服务内部调用方法

2023-05-16

现象:在Kubernetes集群内业务是通过ClusterIP或者服务名访问。k8s 的ingress nginx controller存在缺陷,只有Ingress的Pod所在节点上,Pod才能访问通过Ingress或SLB暴露出去的服务。如果要访问集群暴露的服务,需要调整,适用于业务配置文件里配了域名和端口的情况。

针对阿里云的ACK集群处理方法:若是SVC为Load Balancer,修改svc为Cluster类型,集群会进行SNAT,Ingress的Pod不在的节点上也可以访问Ingress或SLB暴露出去的服务,后端应用无法获取客户端真实IP地址。

K8S原理说明

Flannel网络插件下,流量经由节点的NodePort转发到Pod中。

  • Local:流量只转发给本机的Pod。

  • Cluster:流量可以转发到集群中其他节点上的Pod。

Local和Cluster两种外部流量策略详细的区别如下表所示。

比较项

Local

Cluster

负载均衡后端挂载行为

仅Pod所在的节点会挂载到负载均衡后端。

所有集群内的节点都将挂载到负载均衡后端。

负载均衡配额

负载均衡配额消耗较少。关于负载均衡配额的详细介绍,请参见配额限制

由于集群内所有节点都挂载到负载均衡后端,因此会大量消耗负载均衡配额。关于负载均衡配额的详细介绍,请参见配额限制

访问负载均衡地址

仅Pod所在节点可以访问负载均衡地址。

集群内任意节点均可访问负载均衡地址。

Pod负载均衡

默认Pod之间负载不均衡。

如果您想要实现Pod之间负载均衡,需要指定策略为wrr,即为Service添加service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler:"wrr" annotation。

默认Pod之间负载均衡。

保留来源IP

支持。

不支持。

会话保持

支持。

不支持。

Terway-Eniip网络插件

Terway-Eniip网络插件下,无论是Local和Cluster,流量直接转发到Pod中。

Local和Cluster两种外部流量策略详细的区别如下表所示。

比较项

Local

Cluster

负载均衡后端挂载行为

Pod直接挂载到负载均衡后端。

负载均衡配额

仅挂载业务Pod,负载均衡配额消耗较少。关于负载均衡配额的详细介绍,请参见配额限制

访问负载均衡地址

仅Pod所在节点可以访问负载均衡地址。

集群内任意节点均可访问负载均衡地址。

Pod负载均衡

默认Pod之间负载均衡。

保留来源IP

支持。

会话保持

支持。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

K8S svc暴露的服务内部调用方法 的相关文章

  • kubeadm一键搭建kubernetes环境

    kubeadm一键搭建kubernetes环境 安装docker 按官网教程执行https docs docker com v17 09 engine installation linux docker ce centos install
  • k8s部署gitlab最新版并初始化和登录

    前提条件是已经部署了k8s环境 采用k8s部署gitlab作为devops的测试环境 更加简洁和方便 1 准备工作 1 1 创建nfs共享目录 在nfs服务器创建共享目录 部署的gitlib使用共享目录来进行持久化 这样不管在哪个节点运行g
  • Minikube安装以及一些踩坑的解决

    安装k8s和docker 我的测试系统是centos7 8的国内服务器 参考文档 https developer aliyun com article 221687 首先先安装k8s 1 19 2版本 1 19 x 版本的安装 腾讯云 do
  • k8s job机制初探

    博客作为学习笔记记录 若有理解或表述错误 欢迎指出 k8s的job机制 k8s官网参考 k8s的job是用来执行一次性任务的一类资源 相关的还有cronjob 用于执行以下周期性任务 部署job之后 k8s会起对应pod 当pod的状态为f
  • k8s Trouble Shooting 故障排除

    本文要讲的是k8s的故障排除 比较浅 最近刚入门 主要涵盖的内容是查看k8s对象的当前运行时信息 对于服务 容器的问题是如何诊断的 对于某些复杂的问题例如pod调度问题是如何排查的 1 查看系统的Event事件 在对象资源 pod serv
  • 基于hostpath的k8s pod日志持久化

    基于hostpath的k8s pod日志持久化 前置条件 step1 修改服务的yaml文件 step2 推送日志到minio版保存 step3 优化 附加 简单了解 前置条件 考虑到pod的多副本 但同时需要将日志集中收集起来 所以采用h
  • underlay和overlay? & 传统网络和数据中心网络 ?

    underlay和overlay 百度 Underlay 和 Overlay 是网络架构中两个常用的概念 用于描述不同层次或视角下的网络结构和通信方式 1 Underlay 底层网络 Underlay 是指基础网络层 即物理网络或基础网络架
  • k8s系列——部署k8s集群

    1 环境准备 1 1 安装操作系统 此处选用centos 7 操作系统进行安装操作 1 2 关闭防火墙 systemctl stop firewalld systemctl disable firewalld 1 3 关闭selinux s
  • k8s v1.16设置Job ttlSecondsAfterFinished不生效

    目录 Completed的job默认不会清理 配置自动清理job ttl机制自动清理完成的job ttl controller 开启 TTLAfterFinished kube apiserver开启TTLAfterFinished kub
  • K8s-yaml的使用及命令

    YAML配置文件管理对象 对象管理 创建deployment资源 kubectl create f nginx deployment yaml 查看deployment kubectl get deploy 查看ReplicaSet kub
  • k8s部署springboot

    前言 首先以SpringBoot应用为例介绍一下k8s的部署步骤 1 从代码仓库下载代码 比如GitLab 2 接着是进行打包 比如使用Maven 3 编写Dockerfile文件 把步骤2产生的包制作成镜像 4 上传步骤3的镜像到远程仓库
  • docker的联合文件系统(UnionFS)

    docker最大的贡献就是定义了容器镜像的分层的存储格式 docker镜像技术的基础是联合文件系统 UnionFS 其文件系统是分层的 这样既可以充分利用共享层 又可以减少存储空间占用 联合挂载系统的工作原理 读 如果文件在upperdir
  • k8s-3:集群的三种网络

    k8s集群一共有三种网络模型 Node IP Node节点的IP地址 即物理网卡的IP地址 Pod IP Pod的IP地址 即docker容器的IP地址 此为虚拟IP地址 Cluster IP Service的IP地址 此为虚拟IP地址 N
  • docker下mysql镜像初始化

    目录 1 介绍 2 部署及验证 2 1 场景复现 2 2 创建dockerfile 2 3 初始化脚本 2 4 构建镜像并查看 2 5 创建容器并验证 2 6 完成 1 介绍 原理 当Mysql容器首次启动时 会在 docker entry
  • Deployment Controller 典型使用场景

    1 重新调度 Rescheduling 不管想运行 1 个副本还是 1000 个副本 副本控制器都能确保指定数量的副本存在于集群中 即使发生节点故障或 Pod 副本被终止运行等意外状况 2 弹性伸缩 Scaling 手动或者通过自动扩容代理
  • kube-flannel.yml

    flannel作为k8s的集群中常用的网络组件 其yml文件的获取 建议去github中获取 具体的获取方式如下 apiVersion policy v1beta1 kind PodSecurityPolicy metadata name
  • k8s-node节点未找到flannel网络

    k8s node节点的flannel的IP地址不正确 问题描述 问题分析 1 检查node节点的cni和flannel网卡地址 2 检查master节点的flannel服务 如何重置flannel网络 1 删除node节点 master 2
  • k8s基础5——Pod常用命令、资源共享机制、重启策略和健康检查、环境变量、初始化容器、静态pod

    文章目录 一 基本了解 二 管理命令 三 yaml文件参数大全 四 创建pod的工作流程 五 资源共享机制 5 1 共享网络 5 2 共享存储 六 生命周期 重启策略 健康检查 七 环境变量 八 Init Containe初始化容器 九 静
  • 十二. Kubernetes Pod 与 探针

    目录 一 Pod Pod 中的多容器协同 Pod 的组成与paush 重要 Pod 的生命周期 Pod状态与重启策略 静态Pod 二 探针 1 livenessProbe存活探针 2 readinessProbe就绪探针 3 startup
  • 从Docker到Kubernetes——Kubernetes设计解读之ReplicationController、Service

    文章目录 Kubernetes的设计解读 replication controller 设计解读 replication controller 使用示例 service的设计解读 service的使用示例 Kubernetes的设计解读 r

随机推荐

  • MSF学习之旅之初识MSF

    0x00 前言 emmmm刚接触Metasploit还有点懵 xff0c 记录一下学习过程 参考了 Metasploit渗透测试指南 一书 0x01 启动MSF终端 Kali无需安装 xff0c 自带 两种方法 xff1a 方法一 xff1
  • 记一次Nginx服务器CPU100%故障

    描述 周五请假外出 xff0c 突然收到监控报警提示Nginx服务器的CPU使用率100 xff0c 另外用户也反应服务不可用 xff0c 同事登录服务器后发现Nginx的进程的CPU使用率100 xff0c 且后端应用有大量的服务调用网络
  • 嵌入式软件开发的难点

    软件开发本身就存在自由度大 关联性高的问题 嵌入式软件除了继承软件开发的难点之外 xff0c 在如下方面有自身的 独特的难点 xff1a 1 xff0c 内存有限 xff0c 螺蛳壳里做道场 xff1b 2 xff0c 处理能力有限 xff
  • FreeRTOS怎么定义systick中断处理?

    1 xff0c 在FreeRTOSConfig h里 xff0c 定义如下 xff1a define xPortSysTickHandler SysTick Handler 2 xff0c 在启动代码里 xff08 s或者 asm xff0
  • 开关中断与cpsid/cpsie指令

    在汇编代码中 xff0c CPSID CPSIE 用于快速的开关中断 xfeff xfeff CPSID I PRIMASK 61 1 xff0c 关中断 CPSIE I PRIMASK 61 0 xff0c 开中断 CPSID CPSIE
  • 通过安装VNC服务器x11vnc(或vnc4server)和配置x11vnc.service实现远程通过VNC-Viewer访问VNC服务器。

    1 Xshell的下载 xff1a 通过Xshell官网 xff08 链接 xff1a XShell 下载 softonic com xff09 下载Xshell 图 2 Xshell的下载 下载完成后安装 xff0c 安装成功后打开Xsh
  • 移动互联网,浮华还是盛宴—— 2011年中国移动开发者大会

    参会第一天 2011年11月3日早晨 xff0c 把女儿送到幼儿园之后 xff0c 驱车直奔移动开发者大会现场 虽然北京的堵车一如既往 xff0c 不过这次大会安排在了国家会议中心 xff0c 这是北京为数不多的在早晚高峰不堵车的地方 xf
  • 汇编LDMIA ,STMDB指令等

    LDMIA 中的 I 是bai increase 的缩写 xff0c A 是 after 的缩小 xff0c LD加载 load 的意思 R1后面的感叹du号 xff01 表示会自动调节 R1里面zhi存的指dao针 所以整句话意思是任务栈
  • 到底什么是模型预测控制MPC(一)

    1 为什么使用MPC控制 在浏览文章的时候 xff0c 很多文章都是基于MPC来做的 那么究竟什么是模型预测呢 xff1f 模型预测也可以说是一种我们熟悉的反馈控制算法 xff0c 其目的就是预测出未来的输出 以一个生活中的例子引入 xff
  • Linux访问报Input/output error处理步骤一例

    背景 xff1a redhat7 4版本操作系统 xff0c 收到磁盘告警 更换磁盘后检查系统 xff0c 发现 opt无法查看内容 1 先尝试保存metadata xff0c 不行则继续下一步 如果磁盘很大 xff0c 那metadata
  • 四旋翼电池、电机、螺旋桨选型与搭配

    电池 电机 螺旋桨搭配 1 电机 1 电机KV值 xff1a 大KV配小桨 xff0c 小KV配大桨 KV值是每1V的电压下电机每分钟空转的转速 xff0c 例如KV800 在1V的电压下空转转速是800转每分钟 10V的电压下是8000转
  • jetsonNX刷机步骤

    图为T503盒子 1 取消ssd为系统盘 nbsp sudo mount nbsp dev mmcblk0p1 mnt nbsp cd mnt etc nbsp sudo rm setssdroot conf nbsp reboot 2 格
  • MT7603/MT7610/MT7612/MT7632/MT7662/RT3070 WiFi模块选型参考

    MT7603 MT7610 MT7612 MT7632 MT7662 RT3070 rt5572系列wifi模块选型参考 RT3070是2 4G单通道 xff0c 最大传输速率可以150Mbps xff0c 目前基本上是一些dongle类产
  • 联发科RT2880/RT3052/RT3883/RT5350/RT3352无线路由器wifi芯片介绍

    RT3052 SOC结合了mediaTek Ralink 的802 11n草案 xff0c 兼容2T2R MAC BBP RF 高性能的384MHz MIPS24KEc CPU内核 5端口集成10 100以太网交换机 PHY USB OTG
  • MT7628处理器介绍,MT7628芯片原理图资料

    MT7628处理器 xff1a MT7628芯片上路由器包括802 11n MAC和基带 2 4GHz无线电和FEM 575 580 MHz MIPS 24KCPU核 5端口10 100快速以太网交换机 MT7628包括所有需要的东西 从单
  • MT7628 wifi模块,MTK路由器芯片介绍

    MT7628处理器 xff1a MT7628nn mt7628an 系列产品是新一代2T2R 802 11n Wi Fi AP 路由器 系统单芯片 MT7628可提升射频效能表现 减低功耗 xff0c 并将整体物料清单 BOM 成本优化 x
  • MT7621A路由器芯片参数/处理器资料(原理图/CPB)介绍

    MT7621A支持高级别AP 路由器的要求 xff0c 以及大量的接口以及巨大的最大RAM容量 feature MT7621A CPU MIPS1004Kc 880 MHz I Cache D Cache 32 KB 32 KB L2 Ca
  • 《大数据时代》读书总结

    这本书从以下几个方面阐述了我们所处的时代是如何展现 大数据 的 xff1a 1 首先是大数据时代的思维变革 思维为什么需要变革 xff1f 怎样变革 xff1f 思维需要变革的第一个原因是 xff0c 这个时代获取和处理数据的方式更加多元
  • 联发科RT3573无线wifi路由器模块芯片介绍

    RT3573是联发科推出的一款高效能又具成本效益的802 11n WiFi 传输器 dongle 解决方案平台 RT3573是一款高度整合式WiFi单芯片 xff0c 支持450 Mbps PHY速率 它完全符合IEEE 802 11n及I
  • K8S svc暴露的服务内部调用方法

    现象 xff1a 在Kubernetes集群内业务是通过ClusterIP或者服务名访问 k8s 的ingress nginx controller存在缺陷 xff0c 只有Ingress的Pod所在节点上 xff0c Pod才能访问通过I