k8s安装Ingress(nginx)

k8s-ingress个性化配置 本质上ingress就是一个nginx,而nginx上有很多配置, ingress支持一些个性化定义配置,以下即为将超时信息设置为60秒,关键注解为annotaions https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md apiVersion: networking.k8s.io/v1 kind: Ingress metadata 阅读详情
为什么

kubernetes 对外暴露服务得时候,我们要使用Ingress

ingress是什么,ingressController 又是什么

官网地址
Ingress 是对集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP。Ingress 可以提供负载均衡、SSL 终结和基于名称的虚拟托管。

Ingress 公开了从集群外部到集群内 services 的HTTP和HTTPS路由。 流量路由由 Ingress 资源上定义的规则控制。

必须具有 ingress Controller才能满足 Ingress 的要求。仅创建 Ingress 资源无效。

ingress Controller有很多种例如: AKS Application Gateway, Ambassador API Gateway, AppsCode Inc, AWS ALB Ingress Controller, Contour, Istio,Nginx,最常用的实现是nginx。后面我们使用nginx进行安装

nginx Ingress Controller 会动态感知集群中的Ingress的规则变化,然后读取,动态生成Nginx的配置文件,最后注入到运行nginx的pod的中,然后会自动reload,配置生效。用kubernetes Ingress 是由于它是7层调度,可以直接卸载https会话,代理的后端的pod可以直接使用明文的http协议。而Service NodePort的类型,是4层得调度,做不到这点

github地址介绍里面有个Get started,我们点击进入了 介绍页面

下载 安装的yaml
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.30.0/deploy/static/mandatory.yaml
添加主机网络模式

修改下载的mandatory.yaml,找到kind: Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-ingress-controller
  namespace: ingress-nginx
  labels:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
spec:
  # 实例数量
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
  template:
    metadata:
      labels:
        app.kubernetes.io/name: ingress-nginx
        app.kubernetes.io/part-of: ingress-nginx
      annotations:
        prometheus.io/port: "10254"
        prometheus.io/scrape: "true"
    spec:
      # wait up to five minutes for the drain of connections
      terminationGracePeriodSeconds: 300
      serviceAccountName: nginx-ingress-serviceaccount
      # 添加hostNetwork: true ,开启主机网络模式,暴露nginx服务端口80
      hostNetwork: true
      nodeSelector:
        kubernetes.io/os: linux
      containers:
        - name: nginx-ingress-controller
          image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.30.0
          args:
            - /nginx-ingress-controller
            - --configmap=$(POD_NAMESPACE)/nginx-configuration
            - --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services
            - --udp-services-configmap=$(POD_NAMESPACE)/udp-services
            - --publish-service=$(POD_NAMESPACE)/ingress-nginx
            - --annotations-prefix=nginx.ingress.kubernetes.io
          securityContext:
            allowPrivilegeEscalation: true
            capabilities:
              drop:
                - ALL
              add:

安装
kubectl apply -f mandatory.yaml
部署Ingress

创建一个资源配置文件 ingress.yaml

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  annotations:
    # 指定ingress controller 类型
    kubernetes.io/ingress.class: "nginx"
    # 指定rules的path 可以使用正则表达式
    nginx.ingress.kubernetes.io/use-regex: "true"
    # 连接超时时间,默认5s
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "600"
    # 后端服务器回传数据超时时间,默认60s
    nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
    # 后端服务器响应超时时间,默认60s
    nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
    # 客户端上传最大文件的大小,默认20m
    nginx.ingress.kubernetes.io/proxy-body-size: "100m"
    # url 重写
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  # 路由规则
  rules:
  # 这里只能使用域名,多个域名配置多个配置
  - host: test1.delightful.vip
    http:
      paths:
      - path: /testpath
        backend:
          # 后台部署的Service Name
          serviceName: test
          # 后台部署的Service Port
          servicePort: 80
  # 这里只能使用域名,多个域名配置多个配置
  - host: test2.delightful.vip
    http:
      paths:
      - path: /testpath
        backend:
          # 后台部署的Service Name
          serviceName: test
          # 后台部署的Service Port
          servicePort: 80
查看一下部署情况
kubectl get ingress

也可以使用dashboard 查看
在这里插入图片描述

kubernetes安装traefik Gateway API,应对Ingress NGINX停止维护 将在停止维护,之后不会再有新 bug 修复或安全补丁。这次官方宣布停止维护Ingress NGINX主要原因还是因为,还有一个原因是大量 NGINX 自定义配置、各种注解(annotations)、自定义模板,使得开发者几乎“被锁定”在老旧架构中。“停止维护”并不等于服务立即停止或失效:目前系统继续运行不会因为公告立即宕掉。但风险增加:未来若有新漏洞或安全事件,使用者将无法获得官方补丁,自行承担风险。所以短期内还可以继续使用,后期就需要考虑替代品了。 阅读详情

相关推荐

【Kubernetes】K8s集群配置、安装Ingress-nginx-0.48.1

初学K8s,随着学习和研究的不断深入,慢慢发现使用Service+NodePort方式访问Pod的应用是不安全的,因为随着不同Pod应用的增加,宿主机暴露出来的端口就会越来越多,因此宿主机的安全性就会出现很多问题。因此,Ingress-nginx就进入了学习的视野。 Ingress-nginx是什么,有哪些强大的功能和优点,这里就不赘述了,网上很多介绍,感兴趣的可以自己Bing(https://cn.bing.com/)搜索。 1、Ingress-nginx下载 官方版...

cnskylee的博客 2342

k8s安装nginx Ingress超详细指南

在本全面的Ingress指南中,您将学习如何在 Kubernetes上并使用 DNS 配置 Ingress。目前有两种 Nginx Ingress 控制器。我们将使用 Kubernetes 社区 Nginx 控制器。Ingress & Nginx Ingress 控制器架构下面是使用 Nginx Ingress 控制器的 Kubernetes Ingress 的高级架构。在本指南中,我们将学习如何在体系结构中构建设置。​先决条件。

一览无遗 1万+

【K8S】在 Kubernetes 上配置安装 Nginx Ingress 控制器指南

生产环境建议:使用Helm部署并启用ValidatingWebhookDNS配置:通配符域名简化路由管理安全加固限制Controller权限(RBAC)定期轮转Webhook证书性能优化:通过ConfigMap调整Nginx参数# 示例:调优keepalive连接metadata:data:完整配置参考Nginx Ingress官方文档。

qq_40205510的博客 2130

K8S实战:Ingress安装与使用

文章目录@[toc]背景Ingress原理关于headless service在这里有必要进行补充说明下headless service主要使用场景部署ingress-nginx1、下载yaml文件2、执行yaml进行ingress-nginx-controller部署2.1 找一个能够下载ingress-nginx-controller的docker镜像的服务器下载镜像2.2 镜像传到公司的dockerhub中2.3 修改mandatory.yaml中的镜像名2.4 执行部署3、 部署nodeport s

RIGHTSONG的博客 5494

TP4056锂电池充电电路设计原理与工程实践

锂离子电池充电管理是嵌入式电源系统的核心基础技术,其本质是通过恒流恒压(CC/CV)控制策略,匹配电池电化学特性以实现安全、高效、长寿命充放电。TP4056作为典型线性充电IC,以精简外围实现预充、恒流、恒压及自动截止全周期管理,但受限于线性拓扑的热耗散特性,必须协同散热设计、电阻精度选型与PCB布局进行系统级优化。该方案广泛应用于STM32智能小车、便携传感器节点等3.7V单节锂电供电场景,兼顾成本、可靠性与工程可实施性,是入门嵌入式硬件电源设计的关键实践范例。

weixin_36064575的博客 224

Win10或Win8下ObjectARX2015 Wizard向导创建项目失败解决方法

[原创]objectARX 2015 Wizard安装向导在Win8/win10下无法创建项目的解决方法总结 by edata @2017-5-1 objectARX 2015 Wizard安装向导在Win8/win10下无法创建项目的解决方法 因为Win8/Win10对系统盘(默认c:)使用了高级权限管理,所以在此盘下操作文件的修改工作都需要管理员权限才行。 基于这个原因,导致非管理员安

edata的博客 7029

k8s--基础--29.2--ingress--安装Ingress Controller和配置Ingress

从上面可以看出 我们已经把 ingress-myapp.yaml文件里面的配置,同步到 ingress-controller中,也就是nginx的配置文件中。通过ingress-controller对外提供服务,现在还需要手动给ingress-controller建立一个service,接收集群外部流量。这里调度器是正常工作的,因为虽然我们没有配置后端服务,所以这里显示的是默认的后端服务。这里就是验证 ingress-controller 本质 是一个nginx。下面的ip是k8s的master节点ip。

zhou920786312的博客 3561

STM32鱼塘水质监测系统设计与实现

物联网技术在农业领域的应用正逐步深入,其中传感器网络作为关键基础设施,通过实时数据采集与传输实现环境监测。基于STM32微控制器的嵌入式系统因其高性能和低功耗特性,成为物联网终端设备的理想选择。该系统通过DS18B20水温传感器、PH传感器和浊度传感器组成的多参数检测网络,配合4G通信模块实现水质数据的远程监控。在农业物联网场景中,这种解决方案不仅大幅降低了传统人工检测的成本,更能通过实时预警有效预防养殖损失。本文介绍的鱼塘水质监测系统正是这一技术的典型应用,展示了如何通过STM32和常见传感器构建高性价比

weixin_42173218的博客 621

创建ingress-nginx报错

【代码】创建ingress-nginx报错。

weixin_67784724的博客 415

keil工程After Build/Rebuild添加带参.exe实现全流程(2):带参调用.exe的几种方法

keil工程After Build/Rebuild添加带参.exe实现全流程(2):带参调用.exe的几种方法。

kevin1499的博客 1617

训练YOLOv11 | Pytorch和Pycharm的安装教程适用W11系统(附详细的系统变量添加过程)

根据你之前下载的版本选择对应的选项即可,然后复制底下的绿色代码到Anaconda的命令行输入即可(这里要在你安装的python环境里进行安装,例如我的环境名字是PyTorch,那么就是activate PyTorch里进行安装)然后同之前一样会加载一会,然后会询问我们是否下载配件,我们输入Y等待即可(下载过程中我们要确保网络通常如果有波动可能会下载失败)。类似于我的电脑是Windows11选择上面红框内的选项即可点击后即下载,(注意这里下载的是zip文件)下载完成后复制下面几个文件。

Snu77的博客 1万+

k8s中ingress-nginx离线安装实践

k8s中ingress-nginx离线安装实践

流月up的博客 1807

【永磁同步电机】simulink永磁同步电机PMSM矢量控制【含Matlab源码 7372期】

simulink永磁同步电机PMSM矢量控制 完整的代码,方可运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 1029

Kubernetes安装ingress-nginx

网上的资料一般是基于v0.30.0来安装,但是对于kubernetes@1.22来说要安装ingress-nginx@v1.0.0以上版本(目前最新版本是v1.0.4,本文采用v1.0.0),原因是 kubectl@v1.22版本不再支持v1beta1如果安装ingress-nginx@v0.30.0版本后启动pod有如下问题有一个版本的支持情况(ingress官方网站ingress仓库地址ingress-nginx v1.0 最新版本 v1.0。

南宫乘风-Linux运维-虚拟化容器-Python编程 ownit.top 2504

大数据分析实验,包含五个子实验:wordCount实验,PageRank实验,关系挖掘实验,k-means算法,推荐系统算法。

大数据分析实验,包含五个子实验:wordCount实验,PageRank实验,关系挖掘实验,k-means算法,推荐系统算法。

806

开心消消乐

1)当点击一个1时,该1变被反转为0,同时相邻的上、下、左、右,以及左上、左下、右上、右下8个方向的1(如果存在1)均会自动反转为0;2)进一步地,一个位置上的1被反转为0时,与其相邻的8个方向的1(如果存在1)均会自动反转为0;上述样例中,四个角上的1均在中间的1的相邻8个方向上,因此只需要点击一次即可。给定一个N行M列的二维矩阵,矩阵中每个位置的数字取值为0或1。在上述4 * 4的矩阵中,只需要点击2次,即可将所有的1进行消除。接下来N行表示矩阵的初始值,每行均为M个数,取值范围[0,1]

面试高手的博客 2732

K8S集群安装Ingress-Nginx

K8S集群安装Ingress-Nginx

qq_37705525的博客 3398

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

kubernetes安装ingress-nginx详细步骤

在kubernetes 1.22版本中,安装ingress-nginx的详细步骤,适合刚刚接触k8s的同学

vampiresuper的专栏 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Kubernetes集群中安装配置ingress-nginx

ingress-nginx 是 Kubernetes 官方维护的基于 NGINX 的 Ingress Controller,用于管理集群内的 HTTP 和 HTTPS 路由。它能够根据 Ingress 资源定义,将外部请求转发到集群内部的服务,实现统一的流量入口、负载均衡、SSL 终端、基于主机名或路径的路由等功能。ingress-nginx 支持丰富的自定义配置,适用于生产环境下的多种应用场景。

dfxvip872的博客 993

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

K8S-04-安装Ingress-nginx

安装Ingress-nginx安装deployment安装server 参考https://kubernetes.github.io/ingress-nginx/deploy 安装deployment wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/baremetal/deploy.yaml 如果拒绝访问,科学上网后down下来 up到服务器 kubectl

韩小转的博客 620

k8s 安装 ingress-nginx

k8s 安装 ingress-nginx

mingqing的博客 6334

k8s【安装篇】06:kubernetes的服务发现、ingress-nginx安装部署

k8s【安装篇】06:kubernetes的服务发现、ingress-nginx安装部署

weixin_40612128的博客 835

k8s之ingress-nginx-controller安装

k8s 原因可能是安装ingress-nginx没有更新到service、deploy与pod或node1节点的pod没有找到合适的端口,node1与node2的。kubectl get po -n ingress-nginx 或 kubectl get all -n ingress-nginx。查看没有运行的原因,ingress-nginx-controller 镜像下载失败。kubectl get all -n ingress-nginx # 再次查看。ingress-nginx其它问题。

qq_27683317的博客 2376

K8S Helm 安装ingress-nginx/ingress-nginx

K8S Helm 安装ingress-nginx/ingress-nginx

crabdave的博客 3112

k8s安装Ingress-Nginx

目前,DHorse()只支持Ingress-nginx的Ingress实现,下面介绍Ingress-nginx的安装过程。

huashetianzu的专栏 799

菜鸟学Kubernetes(K8s)系列——(番外)安装Ingress-Nginx(工作原理)

该系列将从新手到老手的角度讲解学习Kubernetes的心得

菜鸟琪 931
上一篇: 安装kubernetes-dashboard
下一篇: Kubernetes基础概念
RobertLee~~~~~~~~
博客等级 码龄18年 14粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值