K8s(Kubernetes)学习(六)——Ingress

news2024/9/23 21:27:34

第六章 Ingress

  • 什么是 Ingress
  • Ingress 和 Service 区别
  • Ingress 控制器 Traefik 使用
  • Ingress Route的定义

1 简介

https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/

Ingress 是一种 Kubernetes 资源类型,它允许在 Kubernetes 集群中暴露 HTTP 和 HTTPS 服务。通过 Ingress,您可以将流量路由到不同的服务和端点,而无需使用不同的负载均衡器。Ingress 通常使用 Ingress Controller 实现,它是一个运行在 Kubernetes 集群中的负载均衡器,它根据Ingress 规则配置路由规则并将流量转发到相应的服务。

在 Kubernetes 中,一个 Ingress 资源定义了一组规则,这些规则用于指定外部流量如何到达集群中的服务。Ingress 资源定义包括域名、服务、路径和其他信息,通过这些信息,Ingress Controller 就能够将请求路由到正确的服务。同时,Ingress 还提供了 TLS 选项,可以使用 SSL/TLS 来加密传输数据。

总之,Ingress 是一种强大的 Kubernetes 资源类型,可以帮助您在 Kubernetes 集群中轻松地管理 HTTP 和 HTTPS 服务,并提供灵活的路由和负载均衡选项。

Ingress 简单示例:

在这里插入图片描述

2 Ingress 和 Service 区别

Ingress 和 Service都是 Kubernetes 中用于将流量路由到应用程序的机制,但它们在路由层面上有所不同:

  • Service 是 Kubernetes 中抽象的应用程序服务,它公开了一个单一的IP地址和端口,可以用于在 Kubernetes 集群内部的 Pod 之间进行流量路由。
  • Ingress 是一个 Kubernetes 资源对象,它提供了对集群外部流量路由的规则。Ingress 通过一个公共IP地址和端口将流量路由到一个或多个Service。

3 Ingress Controller

Ingress Controller 是 Kubernetes 中的一种资源,它负责将外部请求转发到集群内部的 Service 中,并提供负载均衡、SSL 终止等功能。Ingress Controller 通常会运行在 Kubernetes 集群中,作为一组 Deployment 和 Service 的形式部署。

常见的 Ingress Controller 包括:

  1. Nginx Ingress Controller 是由 Kubernetes 社区维护的另一个 Ingress Controller,它也是使用 Nginx 作为反向代理实现的,可以支持 HTTP 和 HTTPS 等协议,支持负载均衡、路由、HTTPS证书管理等功能。
  2. Ingress Nginx Controller 是官方维护的一个 Ingress Controller,它是使用 Nginx 作为反向代理实现的,可以支持 HTTP 和 HTTPS 等协议,支持负载均衡、路由、HTTPS证书管理等功能。
  3. Traefik Ingress Controller:基于 Go 语言开发的 Ingress Controller,支持多种路由匹配方式和多种后端服务发现方式。
    • Traefik Ingress Controller: 标准实现 支持 官方 Ingress 路由规则 注意: 这种方式使用繁琐!
    • Traefik Route CRD(customer resuource definition)自定义资源 注意: 使用这种方式简单,自定义资源方式定义路由规则。
  4. Istio Ingress Controller:基于 Istio Service Mesh 实现的 Ingress Controller,提供了更丰富的负载均衡、流量控制和安全功能。
  5. Kong Ingress Controller:使用 Kong 作为反向代理实现 Ingress 功能,支持 API 管理和 Gateway 功能。

4 使用 Traefik Ingress CRD 方式

官方网站: https://doc.traefik.io/traefik/

具体参考: https://doc.traefik.io/traefik/user-guides/crd-acme/

1 pod 无法访问 Service 解决方案

$ kubectl edit cm kube-proxy -n kube-system
ipvs:
excludeCIDRs: null
minSyncPeriod: 0s
scheduler: ""
strictARP: false
syncPeriod: 0s
tcpFinTimeout: 0s
tcpTimeout: 0s
udpTimeout: 0s
kind: KubeProxyConfiguration
metricsBindAddress: ""
mode: "ipvs" #这里默认为空,填写ipvs保存

$ cat > /etc/sysconfig/modules/ipvs.modules << EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
modprobe -- br_netfilter
EOF

$ chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4

$ kubectl get pod -n kube-system | grep kube-proxy |awk '{system("kubectl delete pod "$1" -n kube-system")}'

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

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

相关文章

浏览器报错内容:Provisional headers are shown

浏览器报错内容&#xff1a;Provisional headers are shown 如下图&#xff1a; 解决方法&#xff1a;nginx 443 启用HTTP/2模式&#xff0c;如下图&#xff1a; server {listen 443 ssl http2;server_name callcenterda.umworks.com;client_max_body_size 200M;ssl_session_…

Idea注释相关配置模板

设置-编辑器-实时模板。 这里可以自己建立一个文件夹&#xff0c;建立自己的模板 1、普通多行注释 2、方法注释 我的方法注释模板文本&#xff1a; ** *$param$$return$ **/ 点击编辑变量&#xff1a; 两个默认值分别为&#xff1a; groovyScript("if(\"${…

倾情奉献,纯css(无图,无JS)原创中秋贺卡!!!

&#x1fab4; 背景故事 中秋节马上就要到了&#xff0c;在这里我提前祝大家生活美满万年长&#xff0c;阖家幸福永平安&#xff01;&#x1f973; 好了进入正题&#xff0c;最近掘金出了一个“中秋创意投稿”活动&#xff0c;我向来对这种可以写一些具有创意性的代码的活动很…

问题记录:两台Ubuntu之间传输文件(SCP)

1.查看IP地址 首先查看目标设备的 IP 地址&#xff1a;要把文件传到哪台机器上&#xff0c;就看哪台机器的 IP 地址&#xff0c;有两种方法 1.在终端输入 ifconfig: 2.设置里面看 2. 在自己的PC端 ping 一下目标机器的 IP 地址&#xff0c;看是否可以连接 ping 172.17.160…

使用ROS与Movelt实现myCobot 280运动轨迹规划和控制

ROS的技术案例 Introduction 今天这篇文章将记录我使用myCobot 280 M5stack 在ROS当中是如何使用的。为什么使用ROS呢&#xff0c;因为提及到机器人都离不开ROS这个操作系统&#xff0c;今天是我们第一次使用ROS这个系统。 今天我将从ROS的介绍&#xff0c;环境的配置以及mycob…

DPU加速AI应用“遍地开花”,中科驭数亮相2023全球AI芯片峰会

9月15日&#xff0c;2023全球AI芯片峰会&#xff08;GACS 2023&#xff09;在深圳举行&#xff0c;聚集了全球AI芯片产业的领军者和中坚力量&#xff0c;共探AI芯片的求新、求变、求索之径。中科驭数高级副总裁张宇应邀在智算中心算力与网络高峰论坛发表题为《基于DPU的高效AI大…

《2023年中国数字孪生行业报告》丨附下载_三叠云

✦ ✦✦ ✦✦ ✦✦ ✦ 随着近年来人工智能、物联网、虚拟现实等技术的持续发展以及元宇宙概念的兴起&#xff0c;数字孪生概念进一步完善&#xff0c;适用范围不断拓宽。然而非业界人士对数字孪生概念仍缺乏统一认知。对此&#xff0c;本报告介绍数字孪生概念、行业情况、市场…

java开发之个微机器人的开发

简要描述&#xff1a; 根据消息回调收到的xml转发文件消息&#xff0c;适用于同内容大批量发送 请求URL&#xff1a; http://域名地址/sendRecvFile 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#…

uniapp 使用subNVue原生子窗体显示弹框或悬浮框

效果展示 在uniapp中&#xff0c;我们可以使用subNVue原生子窗体来解决web-view等原生页面中弹框无法显示的问题。 subNVue原生子窗体是uniapp提供的一种原生组件&#xff0c;可以在uniapp中嵌入原生页面&#xff0c;并且可以与uniapp页面进行通信。我们可以在原生页面中使用…

web浏览器公网远程访问jupyter notebook【内网穿透】

文章目录 前言1. Python环境安装2. Jupyter 安装3. 启动Jupyter Notebook4. 远程访问4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5. 固定公网地址 前言 Jupyter Notebook&#xff0c;它是一个交互式的数据科学和计算环境&#xff0c;支持多种编程语言&#xff0c;如…

leetcode 102.二叉树的层序遍历

⭐️ 二叉树的层序遍历I 题目描述 &#x1f31f; leetcode链接&#xff1a;二叉树的层序遍历I 思路&#xff1a; 使用一个辅助队列来层序遍历二叉树&#xff0c;不同的是需要使用一个二维数组来存放每个节点&#xff0c;而每一层的所有节点又需要是一个一维数组。 而最重要的问…

DNS解析流程

DNS 层次结构如下&#xff1a; 根 DNS 服务器 &#xff1a;返回顶级域 DNS 服务器的 IP 地址顶级域 DNS 服务器&#xff1a;返回权威 DNS 服务器的 IP 地址权威 DNS 服务器 &#xff1a;返回相应主机的 IP 地址 为了提高 DNS 的解析性能&#xff0c;很多网络都会就近部署 DNS …

如何在idea中新建第一个java小程序

如何在idea中新建第一个java小程序 1.打开软件2.新建项目3.找到安装的jdk文件路径4.继续下一步5.创建项目名称并配置项目路径6.点击完成即可。7.在项目文件的src文件夹下创建java类&#xff0c;程序等7.1其他java项目或文件不能运行的原因&#xff1a; 8.新建类并运行程序9.输入…

构建本地Web小游戏网站:Ubuntu下的快速部署与公网用户远程访问

文章目录 前言1. 本地环境服务搭建2. 局域网测试访问3. 内网穿透3.1 ubuntu本地安装cpolar内网穿透3.2 创建隧道3.3 测试公网访问 4. 配置固定二级子域名4.1 保留一个二级子域名4.2 配置二级子域名4.3 测试访问公网固定二级子域名 前言 网&#xff1a;我们通常说的是互联网&am…

数据库 MVCC 详解

目录 1. 什么是 MVCC&#xff1f; 2. MVCC 的好处&#xff1f; 3. 快照读&#xff1f;当前读分别是什么&#xff1f;怎么理解&#xff1f; 3.1 快照读 3.2 当前读 4. 数据库的四种隔离级别 5. MVCC 实现原理 5.1 隐藏字段 5.2 undo log(版本链) 5.3 readView 6. re…

1218. 最长定差子序列

1218. 最长定差子序列 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a; 原题链接&#xff1a; 1218. 最长定差子序列 https://leetcode.cn/problems/longest-arithmetic-subsequence-of-given-difference/description/ 完成情况&#x…

低代码平台的坑有哪些?

大部分人/企业在选型的时候只会过分关注低代码平台所提供的功能&#xff0c;却忘记了“服务”同样重要。事实上&#xff0c;低代码的功能各家大差不差&#xff0c;基本都差不多。早前&#xff0c;我曾写过【低代码选型的注意事项】一文&#xff0c;今日不妨再说一嘴。 在研究低…

如何完美通过token获取用户信息(springboot)

1. 什么是Token&#xff1f; 身份验证令牌&#xff08;Authentication Token&#xff09;&#xff1a;在身份验证过程中&#xff0c;“token” 可以表示一个包含用户身份信息的令牌。 例如 Token&#xff08;JWT&#xff09;是一种常见的身份验证令牌&#xff0c;它包含用户的…

APP广告竞价机制:头部竞价与瀑布流

广告引擎竞价原理实际上就是平台如何从利用用户和广告主在平台的产生的活跃度时长&#xff0c;从两者本身产生价值中&#xff0c;赚取利润的原理。即平台在给广告主分发流量的过程中&#xff0c;引入付费广告概念&#xff0c;加速广告内容的曝光。 头部竞价与瀑布流 在瀑布流…

【ELK】日志分析系统概述及部署(ELFK部署实验)

目录 一、ELK概述 1、ELK是什么&#xff1f; 2、ELK的组成部分 2.1 ElasticSearch &#xff08;1&#xff09;分片和副本 &#xff08;2&#xff09;es和传统数据库的区别 2.2 Kiabana 2.3 Logstash &#xff08;1&#xff09;Log Stash主要组件 2.4 可添加的其它组件…