Ingress-Nginx簡介和配置樣例

Ingress-Nginx?是 Kubernetes 中一個基于?Nginx?的?Ingress 控制器,用于管理對集群內服務的 HTTP/HTTPS 訪問。它是 Kubernetes Ingress 資源的實現之一,通過配置 Nginx 反向代理和負載均衡器,提供路由規則、SSL/TLS 終止、路徑重寫等高級功能。


核心功能

  1. 路由規則

    • 根據域名、路徑將請求路由到不同的后端服務(Service)。

    • 支持基于路徑(path)或主機名(host)的路由。

  2. 負載均衡

    • 自動將流量分發到多個 Pod,支持輪詢、加權輪詢等算法。

  3. SSL/TLS 終止

    • 支持 HTTPS 加密,可通過 Kubernetes Secret 配置證書。

    • 支持自動證書續簽(與?cert-manager?集成)。

  4. 高級特性

    • 路徑重寫:修改請求路徑(如?/api/?重寫到后端服務的?/)。

    • 流量控制:限速、黑白名單、連接數限制。

    • 自定義注解:通過注解(Annotations)配置 Nginx 行為(如緩存、CORS)。

  5. 監控與日志

    • 集成 Prometheus 指標導出。

    • 支持訪問日志和錯誤日志配置。


架構組成

  • Ingress 資源:Kubernetes 定義的規則(YAML 文件),描述路由和后端服務的映射。

  • Ingress-Nginx Controller

    • 監聽 Ingress 資源變化,動態生成 Nginx 配置。

    • 以 Pod 形式運行在集群內或作為外部負載均衡器(如云廠商的 LoadBalancer)。


配置

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: inner.test.comnamespace: monitoringresourceVersion: '30006506'uid: f07bc210-2aa9-43f2-b905-b17af9d2c054
spec:defaultBackend:service:name: nginx-testport:number: 80ingressClassName: nginxrules:- host: inner.test.comhttp:paths:- backend:service:name: grafanaport:number: 3000path: /grafanapathType: Prefix- backend:service:name: prometheus-serverport:number: 9090path: /prometheuspathType: Prefix- backend:service:name: alertmanagerport:number: 9093path: /alertmanagerpathType: Prefix- backend:service:name: prometheus-prometheus-pushgatewayport:number: 9091path: /pushgatewaypathType: Prefixtls:- hosts:- inner.test.comsecretName: test.com

grafana需要修改的配置文件

grafana.ini

[analytics]
check_for_updates = true[grafana_net]
url = https://inner.test.com[log]
mode = console[paths]
data = /var/lib/grafana/
logs = /var/log/grafana
plugins = /var/lib/grafana/plugins
provisioning = /etc/grafana/provisioning[server]
domain = "inner.baiwutong.com"  # 雙引號包裹更規范
serve_from_sub_path = true      # 新增:啟用子路徑模式
root_url = https://inner.test.com/grafana

prometheus需要修改的配置文件

--storage.tsdb.retention.time=15d --config.file=/etc/config/prometheus.yml --storage.tsdb.path=/data --web.console.libraries=/etc/prometheus/console_libraries --web.console.templates=/etc/prometheus/consoles --web.enable-lifecycle --web.external-url=/prometheus --web.route-prefix=/prometheus

alertmanager需要修改的配置文件

#baseURL: ""
baseURL: "https://inner.test.com/alertmanager"  # 完整外部訪問 URL

pushgateway需要修改的配置文件

/bin/pushgateway --web.external-url=/pushgateway

優勢

  • 高性能:基于 Nginx,處理高并發流量。

  • 靈活性:通過注解支持大量自定義配置。

  • 社區支持:Kubernetes 官方維護,文檔和生態完善。


適用場景

  • 需要對外暴露多個服務的 Kubernetes 集群。

  • 統一管理 HTTPS 證書和路由規則。

  • 實現藍綠部署、A/B 測試等流量分發策略。


注意事項

  • 性能調優:需根據流量調整 Nginx 參數(如?worker_processes)。

  • 安全:限制敏感注解的使用,避免配置錯誤導致的安全風險。

  • 版本兼容性:確保 Ingress-Nginx 版本與 Kubernetes 版本匹配。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/86516.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86516.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86516.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java+LangChain實戰入門:深度剖析開發大語言模型應用!

在人工智能飛速發展的今天,大語言模型(如GPT系列)正改變著我們構建應用的方式。但如何將這些先進模型無縫集成到企業級Java應用中?這正是LangChain框架的強項——它簡化了語言模型的調用、鏈式處理和上下文管理,讓開發…

論文筆記:Large language model augmented narrative driven recommendations

RecSys 2023 代碼:iesl/narrative-driven-rec-mint: Mint: A data augmentation method for narrative driven recommendation. 1 intro 盡管基于歷史交互的數據能夠有效地提供推薦,但用戶在請求推薦時,往往只是對目標物品有一個模糊的概念…

興達易控Modbus TCP轉Profibus DP網關與安科瑞多功能電表的快速通訊

興達易控Modbus TCP轉Profibus DP網關與安科瑞多功能電表的快速通訊 在工業自動化領域,不同設備之間的通信連接至關重要。興達易控Modbus TCP轉Profibus DP網關接APM810/MCE安科瑞多功能電表與300plc通訊,這一過程涉及到多個關鍵技術和環節,…

epoll實現理解

根據前文高性能網絡設計推演中,epoll作為一個“大殺器”為網絡開發提供強大的支持。Linux系統上IO多路復用方案有select、poll、epoll。其中epoll的性能表現最優,且支持的并發量最大。本文大概介紹epoll的底層實現。 一、示例引入 了解epoll開發&#…

協議轉換賦能光伏制造:DeviceNET轉PROFINET網關的通信質檢實踐

協議轉換賦能光伏制造:DeviceNET轉PROFINET網關的通信質檢實踐 某光伏電池片生產線創新性地將網關作為計算節點,通過搭載DeviceNET-PROFINET智能網關-穩聯技術WL-PN-DVNM,在協議轉換層直接運行AI質檢模型。DeviceNET端采集的高清圖像數據經網…

學習永無止境

已掌握以下每個,有屬于自己的一套架構方式: vue.element-ui:后臺管理 vue.uni-app:H5,小程序,Android,IOS php:??RESTful,服務,業務邏輯(如電商…

永磁無刷電機旋轉原理

目錄 1. 磁場的基本知識 2. 角速度,線速度,工程轉速 3.力和力矩 4. 慣量,轉動慣量 5. 電機的四種狀態 5.1 空載 5.2 帶載 5.3 滿載 5.4 堵轉 6. 功和功率 1. 磁場的基本知識 無頭無尾,轉了一圈,就叫有旋…

Ubuntu 物理桌面遠程訪問教程(基于 RealVNC / mstsc)

Ubuntu 物理桌面遠程訪問教程(基于 RealVNC / mstsc) 適用對象:任意安裝了 GNOME GDM 的 Ubuntu 系統 目標:遠程連接系統默認物理桌面 :0,無虛擬桌面、無 Xfce,真實 GNOME 桌面環境 1. 準備條件 Ubuntu 系…

Vue3 工程化實戰

Vue3 工程化實戰 引言:構建工具的演進與選擇 在前端工程化領域,構建工具的選擇直接影響開發效率與項目性能。隨著Vue3的普及,構建工具生態也發生了顯著變化:傳統vue-cli逐漸進入維護模式,而新一代構建工具Vite憑借其…

調用phantomjs(前端)插件生成ECharts圖片

package com.demo.common.utils; //json格式化工具,可以其他工具類 import cn.hutool.json.JSONUtil; import lombok.extern. public class FileUtil { /** * 調用phantomjs(前端)插件生成ECharts圖片 * @param path 根路徑 * @param option ECharts配置J…

React Hooks詳解

React Hooks 常考內容 React Hooks 是 React 16.8 引入的重要特性,用于在函數組件中使用狀態和其他 React 特性。以下是面試中常考的核心內容: 基礎 Hook useState: 用于管理組件內部狀態,返回狀態變量和更新狀態的函數。useEffect: 處理副…

c++17標準std::filesystem常用函數

std::filesystem 是 C17 引入的標準庫&#xff0c;用于處理文件系統操作&#xff0c;提供了跨平臺的文件和目錄操作能力。以下是一些常用的函數和類&#xff1a; 一、路徑操作&#xff08;std::filesystem::path&#xff09; cpp 運行 #include <filesystem> namespa…

非結構化文檔的自動化敏感標識方法技術解析

在數字化時代&#xff0c;企業與組織面臨的數據形態正發生深刻變革。據統計&#xff0c;非結構化數據占企業數據總量的 80% 以上&#xff0c;涵蓋文本、郵件、PDF、日志、社交媒體內容等多種形式。這些數據中往往蘊含著大量敏感信息&#xff0c;如個人身份信息、商業機密、醫療…

c語言中的字符類型

字符類型 char char是一種整數&#xff0c;也是一種特殊的類型&#xff1a;字符。 #include <stdio.h> int main(){char c,d;c 1; //把整數1賦值給變量cd 1; //把字符‘1’賦值給變量dif (c d){printf("相等");}else{printf("不相等\n");…

Cribl stream 管道對時間的改變時區

先說一下時區的重要性&#xff0c;要是cribl 時區是UTC&#xff0c;但是過來數據是GTM8 就是中國時區&#xff0c;那么數據過來&#xff0c;就可能在后端的Splunk 沒有顯示&#xff0c;那么解決這個問題&#xff0c;cribl 管道引入了auto timestamp 的功能&#xff1a; 注意到&…

深度學習:PyTorch卷積神經網絡(1)

本文目錄&#xff1a; 一、CNN概述二、CNN日常應用三、CNN的卷積層&#xff08;一 &#xff09;基本介紹&#xff08;二&#xff09;卷積層計算1.對輸入數據的要求2.卷積核核心參數3.計算過程4.特征圖尺寸計算5.1、多通道卷積計算5.2、多卷積核計算6.PyTorch卷積層API 前言&…

linux網絡編程socket套接字

套接字概念 Socket本身有“插座”的意思&#xff0c;在Linux環境下&#xff0c;用于表示進程間網絡通信的特殊文件類型。本質為內核借助緩沖區形成的偽文件。 既然是文件&#xff0c;那么理所當然的&#xff0c;我們可以使用文件描述符引用套接字。與管道類似的&#xff0c;L…

Python 數據分析與可視化 Day 5 - 數據可視化入門(Matplotlib Seaborn)

&#x1f3af; 今日目標 掌握 Matplotlib 的基本繪圖方法&#xff08;折線圖、柱狀圖、餅圖&#xff09;掌握 Seaborn 的高級繪圖方法&#xff08;分類圖、分布圖、箱線圖&#xff09;熟悉圖像美化&#xff08;標題、標簽、顏色、風格&#xff09;完成一組學生成績數據的可視化…

CephFS “Client Failing to Respond to Cache Pressure“ 告警分析

告警含義 當出現 Client failing to respond to cache pressure 警告時,表明: 元數據服務器 (MDS) 要求客戶端釋放緩存的元數據(如 inode Capabilities)客戶端未能及時響應 釋放請求核心觸發機制 MDS 通過以下周期性流程管理緩存 階段操作觸發條件Cache Trim 周期每隔 mds…

生成式人工智能實戰 | 生成對抗網絡(Generative Adversarial Network, GAN)

生成式人工智能實戰 | 生成對抗網絡 0. 前言1. 生成對抗網絡2. 模型構建2.1 生成器2.2 判別器 3. 模型訓練3.1 數據加載3.2 訓練流程 0. 前言 生成對抗網絡 (Generative Adversarial Networks, GAN) 是一種由兩個相互競爭的神經網絡組成的深度學習模型&#xff0c;它由一個生成…