k8s ingress

一、浅谈ingress (ingress 是与service配合使用的)

 Ingress能把Service(Kubernetes的服务)配置成外网能够访问的URL,流量负载均衡,及SSL,并提供域名访问的虚拟主机等,客户通过访问URL(API资源服务的形式,例如:caas.one/kibana)进入和请求Service,一个Ingress控制器负责处理所有Ingress的请求流量,它通常是一个负载均衡器,它也可以设置在边界路由器上,或者由额外的前端来帮助处理HA方式的流量。如图所示:

1. k8s的访问方式 

        一般来说k8s对外服务的方式有三种

  1. LoadBlancer Service
  2. NodePort Service 
  3. Ingress

1.1   LoadBlancer Service

       LoadBancer Service Kubernetes深度结合云平台的一个组件;当使用LoadBlancer Service 暴露服务时,实际上是通过向底层云平台申请创建一个负载均衡器来向外暴露服务;目前LoadBlancer Service支持的云平台已经相对完善,比如公有云阿里云,华为云及私有云(Openstack)等等,由于LoadBlancer Service深度结合了云平台,所以只能在一些云平台上使用.

1.2. NodePort Service

        NodePort Service顾名思义,实质上就是通过在集群的每个Node上暴露一个端口,然后将这个端口映射到某个具体的Service来实现的,虽然每个Node的端口有很多(0~65535),但是由于安全性和易用性(服务多了就乱了,端口冲突问题)实际使用可能并不多。

1.3 ingress 

        Ingress 是在Kubernetes 1.2后出现的,通过Ingress用户可以实现使用Nginx等开源的反向代理负载均衡实现对外暴露服务,除Ingress之外,traefik用的也是相同的技术。

. ingress组件

  1. 反向代理负载均衡器
  2. Ingress Controller
  3. Ingress

2.1 反向代理负载均衡器 

        反向代理负载均衡器很简单,说白了就是nginxapche等;在集群中反向代理负载均衡器可以自由部署,可以使用Replication ControllerDeploymentDaemonSet等等。

2.2  Ingress Controller

        Ingress Controller实质上可以理解为是个监视器,Ingress Controller通过不断地跟Kubernetes API打交道,实时的感知后端Service、Pod等变化,比如新增和减少Pod,Service增加与减少等;当得到这些变化信息后,Ingress Controller在结合下文的Ingress生成配置,然后更新反向代理负载均衡器,并刷新其配置,达到服务发现的作用。

2.3  Ingress

        Ingress简单理解就是个规则定义,比如某个域名对应某个Serivce,即当某个域名的请求进来时转发给某个Service;这个规则将与Ingress Controller结合,然后Ingress Controller将其动态写入到负载均衡器中,从而实现整体的服务发现和负载均衡。Ingress解决的是新的服务加入后,域名和服务的对应问题,基本上是一个ingress的对象,通过yaml进行创建和更新进行加载。

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

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

相关文章

使用Python实现微信自动回复,操作简单,小白也会使用!秒回女朋友消息 泰裤辣!

一、安装itchat库 首先,我们需要安装itchat库,它是一个用于微信个人号的微信Python API,可以用于实现微信自动回复、微信消息的获取、微信好友的管理等功能。 可以使用以下命令安装itchat库: pip install itchat二、登录微信 在代码中,我们需要使用itchat库登录微信账…

【C++11算法】iota算法

文章目录 前言一、iota函数1.1 iota是什么?1.2 函数原型1.3 参数和返回值1.4 示例代码1.5 示例代码21.6 示例代码3 总结 前言 C标准库提供了丰富的算法,其中之一就是iota算法。iota算法用于填充一个区间,以递增的方式给每个元素赋予一个值。…

Ubuntu22.4系统mongodb数据库安装

Ubuntu22.4系统mongodb数据库安装 1、打开终端并运行以下命令,以导入 MongoDB GPG 密钥: wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -2、添加 MongoDB 仓库到你的系统。根据你的 Ubuntu 版本,选择…

万界星空科技/免费MES系统/免费质量检测系统

质量管理也是万界星空科技免费MES中的一个重要组成部分,旨在帮助制造企业实现全面的质量管理。该系统涵盖了供应商来料、生产过程、质量检验、数据分析等各个环节,为企业提供了一站式的质量管理解决方案。 1. 实时质量监控 质量管理能够实时监控生产过程…

ardupilot开发 --- Lua脚本篇

概述 ArduPilot引入了对Lua脚本的支持; Lua脚本存放在 SD card 中; Copter-4.0 及以上版本才支持Lua脚本; scripting API ? scripting applets ? 飞控条件:2 MB of flash and 70 kB of memory &#xff1b…

【使用 k 折叠交叉验证的卷积神经网络(CNN)】基于卷积神经网络的无特征EMG模式识别研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

前端一定要学的知识点-闭包

闭包是js面试中常问的问题,这篇文章希望能给大家帮助 闭包(Closures) 介绍 闭包是一种在 JavaScript 中常见的概念。它允许函数访问其词法作用域外部的变量,并在函数的生命周期内保持对这些变量的引用。通过闭包,我…

攻防世界-warmup

原题解题思路 只有一张图片,就查看源代码,有一个source.php。 查看source.php,白名单中还有一个hint.php。 hint.php告诉我们flag的位置ffffllllaaaagggg 但是直接跳转是没用的,构造payload。 http://61.147.171.105:55725/sourc…

JS逆向-某招聘平台token

前言 本文是该专栏的第56篇,后面会持续分享python爬虫干货知识,记得关注。 通常情况下,JS调试相对方便,只需要chrome或者一些抓包工具,扩展插件,就可以顺利完成逆向分析。目前加密参数的常用逆向方式大致可分为以下几种,一种是根据源码的生成逻辑还原加密代码,一种是补…

阿里云使用WordPress搭建个人博客

手把手教你使用阿里云服务器搭建个人博客 一、免费创建服务器实例 1.1 点击试用 点击试用会需要你创建服务器实例,直接选择默认的操作系统即可,点击下一步 1.2 修改服务器账号密码 二、创建云数据库实例 2.1 免费获取云数据库使用 2.2 实例列表页 在…

PHP自己的框架实现debug调试模式和时区(完善篇三)

1、实现效果通过config设置开关debug调试模式 2、debug调试模式设置和时区设置 error_reporting和display_errors点击查看详细讲解 public static function run(){//定义常量self::_set_const();//创建模块目录self::_mk_module();//加载文件self::_import_file();self::_set_…

LVS+Keepalived集群

目录 Keepalived Keepalived概述 Keepalived 工作原理 主要模块及其作用 LVSKeepalived 高可用群集搭建 所需服务器 配置负载调度器 配置keeplived 启动 ipvsadm 服务 调整 proc 响应参数,关闭Linux 内核的重定向参数响应 配置节点服务器 测试验证 Keepa…

聊聊springboot的Customizer

序 本文主要研究一下springboot的Customizer TaskExecutorCustomizer FunctionalInterface public interface TaskExecutorCustomizer {/*** Callback to customize a {link ThreadPoolTaskExecutor} instance.* param taskExecutor the task executor to customize*/void c…

vue3移动h5录音功能开发

下载插件 pnpm i js-audio-recorder使用 项目中引用插件 import Recorder from js-audio-recorder;let record ref<Recorder>()const startRecording()>{navigator.mediaDevices.getUserMedia({ audio: true }).then((stream) > {record.value new Recorder(s…

MySQL分页查询慢怎么办

今天看到一个问题。 MySQL分页查询慢怎么办&#xff1f; 第一反应是用limit限制返回的条数。 比如 select * from table order by idlimit 10, 100;实际上我们限制的只是返回的条数是100&#xff0c;并不是查询时就从第10条开始获取数据。 所以实际上MySQL会从第0条开始查询&a…

Android JNI打印logcat日志

在 JNI 中打印日志可以使用 __android_log_print 函数来实现。该函数是 Android NDK 提供的一个用于在本地代码中输出日志消息到 logcat 的方法。 要在 JNI 中打印日志&#xff0c;请按照以下步骤进行操作&#xff1a; 在你的 JNI C/C 代码中包含 <android/log.h> 头文件…

交换机生成树STP

生成树协议&#xff08;spanning-tree-protocol,stp&#xff09;&#xff1a;在具有物理环路的交换机网络上生成没有回路的逻辑网络的方法&#xff0c;生成树协议使用生成树算法&#xff0c;在一个具有冗余路径的容错网络中计算出一个无环路的路径&#xff0c;使一部分端口处于…

VR全景加盟项目如何开展?如何共赢VR时代红利?

VR全景作为一个新兴蓝海项目&#xff0c;相信有着很多人刚接触VR行业的时候都会有这样的疑问&#xff1a;VR全景加盟后项目如何开展&#xff1f;今天&#xff0c;我们就从项目运营的三个阶段为大家讲解。 一、了解项目时 目前VR全景已经被应用到各行各业中去&#xff0c;学校、…

变压器故障诊断(python代码,逻辑回归/SVM/KNN三种方法同时使用,有详细中文注释)

视频效果&#xff1a;变压器三种方法下故障诊断Python代码_哔哩哔哩_bilibili代码运行要求&#xff1a;tensorflow版本>2.4.0,Python>3.6.0即可&#xff0c;无需修改数据路径。 1.数据集介绍&#xff1a; 采集数据的设备照片 变压器在电力系统中扮演着非常重要的角色。…

牛客网Python入门103题练习|【08--元组】

⭐NP62 运动会双人项目 描述 牛客运动会上有一项双人项目&#xff0c;因为报名成功以后双人成员不允许被修改&#xff0c;因此请使用元组&#xff08;tuple&#xff09;进行记录。先输入两个人的名字&#xff0c;请输出他们报名成功以后的元组。 输入描述&#xff1a; 第一…