k8s之ingress定义https访问方式

接上文:https://blog.csdn.net/soso678/article/details/149607069?spm=1001.2014.3001.5502

定义后端应用与service

[root@master ingress]# cat my-nginx.yml 
apiVersion: apps/v1
kind: Deployment
metadata:name: my-nginx
spec:selector:matchLabels:run: my-nginxreplicas: 2template:metadata:labels:run: my-nginxspec:containers:- name: my-nginximage: nginximagePullPolicy: IfNotPresentports:- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:name: my-nginxlabels:run: my-nginx
spec:ports:- port: 80targetPort: 80selector:run: my-nginx

定义secret

你可以通过设定包含 TLS 私钥和证书的Secret 来保护 Ingress。 Ingress 资源只支持一个 TLS 端口 443,并假定 TLS 连接终止于 Ingress 节点 (与 Service 及其 Pod 间的流量都以明文传输)。 如果 Ingress 中的 TLS 配置部分指定了不同主机,那么它们将通过 SNI TLS 扩展指定的主机名(如果 Ingress 控制器支持 SNI)在同一端口上进行复用。 TLS Secret 的数据中必须包含键名为 tls.crt 的证书和键名为 tls.key 的私钥, 才能用于 TLS 目的

先对购买的证书进行base64编码
[root@master ssl]# cat ssl.key | base64 -w 0
[root@master ssl]# cat ssl.crt | base64 -w 0将证书定义成secret
[root@master ssl]# cat ssl-secret.yml
apiVersion: v1
kind: Secret
metadata:name: secret-tls
type: kubernetes.io/tls
data:tls.crt: base64 编码的证书tls.key: base64 编码的私钥[root@master ssl]# kubectl apply -f ssl-secret.yml 
secret/secret-tls created
[root@master ssl]# kubectl get secret 
NAME                  TYPE                                  DATA   AGE
secret-tls            kubernetes.io/tls                     2      3s

定义ingress转发规则

在 Ingress 中引用此 Secret 将会告诉 Ingress 控制器使用 TLS 加密从客户端到负载均衡器的通道。 你要确保所创建的 TLS Secret 创建自包含 https-example.foo.com 的公共名称 (Common Name,CN)的证书。这里的公共名称也被称为全限定域名(Fully Qualified Domain Name,FQDN)。

说明:

注意,不能针对默认规则使用 TLS,因为这样做需要为所有可能的子域名签发证书。 因此,tls 字段中的 hosts 的取值需要与 rules 字段中的 host 完全匹配。

[root@master ssl]# cat nginx-ingress.yml 
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:name: test-https-ingress
spec:ingressClassName: nginxtls:- hosts:- www.test-nginx.comsecretName: secret-tlsrules:- host: www.test-nginx.comhttp:paths:- path: /pathType: Prefixbackend:service:name: my-nginxport:number: 80
[root@master ssl]# kubectl apply -f nginx-ingress.yml 
ingress.networking.k8s.io/test-https-ingress created
[root@master ssl]# kubectl get ingress
NAME                 CLASS   HOSTS                ADDRESS   PORTS     AGE
test-https-ingress   nginx   www.test-nginx.com             80, 443   4s

nginx-ingress-controller运行在node1,node2两个节点上。

如果网络中有dns服务器,在dns中把这两个域名映射到nginx-ingress-controller运行的任意一个节点上,如果没有dns服务器只能修改host文件了。

任意一个节点上操作:(客户端解析)

我这里有两个节点部署了控制器,ip分别为172.16.229.7,172.16.229.8 ,如果有多个,可以随便选。

在wind电脑设置本地解析

172.16.229.7 www.test-nginx.com

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

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

相关文章

《C++ vector 完全指南:vector的模拟实现》

《C vector 完全指南:vector的模拟实现》 文章目录《C vector 完全指南:vector的模拟实现》一、定义vector的成员变量二、用vector实现动态二维数组三、vector的接口实现1.vector的默认成员函数(1)构造函数实现(2&…

腾讯云代码助手使用指南

腾讯云代码助手使用指南什么是腾讯云代码助手功能区展示功能介绍功能演示一、创建新项目1.先用Chat 把口语化的需求转换成AI更容易接受的结构化提示词2.再用Craft 模式进行代码生成3.成果展示二、老项目探索1.使用Codebase 帮理解项目代码三、代码补全1.只需输入标准的函数名&a…

【vue3+vue-pdf-embed】实现PDF+图片预览

【vue3vue-pdf-embed】实现PDF图片预览项目背景项目代码分析代码项目背景 技术栈:vue3Tselementplus 需要实现PDF和图片预览 图片预览很好解决了,可以用elementplus 自带的组件el-image 可实现 PDF预览可以用搜了一圈,有两个方案&#xff0c…

Leetcode力扣解题记录--第21题(合并链表)

题目链接:21. 合并两个有序链表 - 力扣(LeetCode) 题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出&…

基于单片机的楼宇门禁系统的设计与实现

2、系统总体设计 2.1硬件的总体设计 为了使门禁系统智能化,需要一个主控芯片对整个门禁系统进行管理控制。接着还需要对应的模块完成包括数字密码验证和IC卡识别验证的功能。当出现非法闯入、验证失败等情况时还需要对操作人员进行警告。最后需要一个人机交互界面方…

全天候自动化数字型智能驱鸟装置,电网防鸟高科技

鸟类在输电线路铁塔、电线杆上筑巢、栖息和排泄是个大问题,很容易引发线路故障导致停电。为了保障电网安全稳定运行,会用到各种智能驱鸟装置来驱赶鸟类,避免涉鸟故障发生。例如全天候自动化数字型智能驱鸟装置,其厉害的地方在于它…

技术、生态与商业:从PC到移动的平台之争

在科技发展的漫长历史中,我们常常惊叹于那些改变世界的伟大技术。然而,深入探究会发现,单纯的技术领先并不能保证最终的胜利。从 PC 操作系统到移动终端,乃至服务器软件,那些最终笑傲江湖的巨头们都遵循着一个共同的法…

android JXL 导出Excel(.xls/xlsx)

前面使用过 POI 导出xlsx但是它体量比较大,功能较丰富,在一些对包size比较敏感并且导出需求相对简单的项目中就不太适合。 poi链接:Android 导入导出excel xls、xlsx_android excel导入导出-CSDN博客 jxl 包体积小,使用简单、AP…

mysql 的主从机制是怎么实现的?

MySQL 作为当前最流行的开源关系型数据库之一,为了满足数据的高可用、负载均衡和容灾备份等需求,广泛应用主从复制(Replication)机制。其核心思想是:在一台主库(Master)上发生的所有数据变更都会…

【PHP 函数从入门到精通】

🧠 PHP 函数从入门到精通 PHP 函数是编程中最基础、也是最强大的工具之一。它不仅可以简化代码、提高复用性,还能通过各种高级用法,让你写出更灵活、更现代的代码。 下面我们从函数的基础讲起,逐步深入,带你掌握函数的…

CGA老年综合评估汉密尔顿抑郁量表与认知评估联用

一、CGA老年综合评估汉密尔顿抑郁量表与认知评估联用的基础CGA老年综合评估 (一)二者评估内容的互补性 CGA老年综合评估汉密尔顿抑郁量表主要聚焦于老年人的抑郁情绪及相关症状,而认知评估则着重考察老年人的记忆力、注意力、思维能力等认知…

教培机构如何开发自己的证件照拍照采集小程序

职业教培机构对学员的证件照采集是进行学生培训管理、考试报名、证书发放的前置工作,传统拍照和收集证件照的方式往往面临效率低、质量参差不齐等问题。开发一款专属的证件照拍照采集小程序,不仅能提升机构形象,还能大幅优化工作流程。借助“…

GC8872刷式直流电机驱动器详解:3.6A驱动能力与PWM控制

概述GC8872是一款具有故障报告功能的刷式直流电机驱动芯片,专为打印机、电器、工业设备等机电一体化应用设计。这款芯片采用ESOP8封装,集成了H桥驱动电路和多种保护功能,支持高达3.6A的峰值电流输出。关键特性宽电压工作范围:6.5V…

从0开始学习R语言--Day54--双重固定模型

对于具有空间差异的数据,如果不知道数据的特征关系或意义,直接用杜宾模型来处理是一个比较通用的思路,只是后续还需要很多检验去证明结果的可解释性和统计性。但如果我们已经知道特征的意义,比如企业经济发展的数据中有着员工的科…

三生筛法在计算数论中的极限是什么?

AI辅助创作:三生筛法在计算数论中的极限主要体现在‌规模边界‌、‌算法适应性‌及‌理论兼容性‌三个维度,其核心瓶颈与突破路径如下:一、规模边界:计算效率的断崖式衰减‌‌低维高效区的上限‌在 10^15 以内数域,三生…

iOS WebView 加载失败与缓存刷新问题排查实战指南

在移动 App 中嵌入网页后,不少团队都会遇到一个诡异的问题:用户看到的是“旧内容”,或“资源加载失败”,但在浏览器调试中一切正常。特别是在 iOS WebView 中,这类缓存和加载问题常常隐匿、难以复现。 这篇文章将通过一…

GoLand 项目从 0 到 1:第二天 —— 数据库自动化

第二天核心任务:自动化与多数据库支持第二天的开发聚焦于数据库自动化流程构建与MongoDB 业务链路扩展,通过工具化手段解决数据库操作的重复性问题,同时完善多数据库支持能力。经过一天的开发,项目已实现数据库初始化、迁移、种子…

qt框架,使用webEngine如何调试前端

解决 Qt 5.14.2 中启用开发者工具的问题问题在于 Qt 5.14.2 中 QWebEngineSettings::DeveloperExtrasEnabled 属性已被弃用或更改。正确启用开发者工具的完整方法&#xff08;Qt 5.14.2&#xff09;1. 修改 main.cpp#include <QWebEngineView> #include <QWebEngineSe…

【Atlassian生态】Jira Cloud单站点现可支持10万用户:架构升级与龙智云迁移服务

作为Atlassian全球白金合作伙伴&#xff0c;龙智团队非常激动地宣布&#xff1a;Jira迎来历史性突破——Jira Cloud单个站点最高可支持10万用户&#xff01;覆盖Enterprise、Premium和Standard版本。现在&#xff0c;更多的团队可以将Jira作为核心协作中枢&#xff0c;以加速目…

深入解析JVM垃圾回收调优:性能优化实践指南

深入解析JVM垃圾回收调优&#xff1a;性能优化实践指南 一、技术背景与应用场景 随着互联网业务的飞速发展&#xff0c;Java 应用在高并发、大内存场景下对 JVM 性能提出了更高要求。垃圾回收&#xff08;Garbage Collection&#xff0c;GC&#xff09;作为 JVM 的核心组件之一…