当前位置: 首页 > news >正文

用Kubernetes(k8s)的ingress部署https应用

用Kubernetes的ingress部署https应用

  • 环境准备
    • Ingress安装
    • 域名证书准备
  • 部署应用
  • 通过ingress暴露应用
    • 根据ssl证书生成对应的secret
    • 创建ingress暴露部署的应用
    • 确认自己安装了ingress
    • 创建ingress
  • 访问你暴露的应用

环境准备

Ingress安装

我之前有一片文章写的是用ingress暴露应用,这篇文章接着上一片文章继续讲使用ingress暴露https的应用。请先参考上一片文章将ingress先在Kubernetes集群当中安装上:

ingress暴露应用文章地址:https://blog.csdn.net/m0_51510236/article/details/132536519

域名证书准备

因为是暴露https,所以需要域名证书。分以下两种情况:

  1. 自签证书(浏览器会显示网站不安全)

我之前写过一篇nginx自签证书相关的文章,这里就不在过多赘述。文章地址:https://blog.csdn.net/m0_51510236/article/details/124676341

  1. 购买证书(做实验推荐申请免费证书)

购买证书就比较简单了,同时你也可以申请免费证书。在证书界面直接点击下载nginx的证书即可:
在这里插入图片描述

国内常见的ssl证书服务提供商有(本文章不打广告):阿里云、腾讯云、华为云、青云等

部署应用

这里部署的nginx和ingress-nginx没啥关系,你们可以改用tomcat或apache等其他web服务器

这个步骤和上篇文章一模一样,直接上yaml文件,这里就不再过多赘述(因为国外下载镜像过慢,我这里写的是我自己事先拉取下来的镜像地址,可自行修改):

apiVersion: apps/v1
kind: Deployment
metadata:labels:app: nginx-deployname: nginx-deploy
spec:replicas: 3selector:matchLabels:app: nginx-deploystrategy: {}template:metadata:labels:app: nginx-deployspec:containers:- image: registry.cn-shenzhen.aliyuncs.com/xiaohh-docker/nginx:1.21.6name: nginxports:- containerPort: 80resources: {}
status: {}---apiVersion: v1
kind: Service
metadata:labels:app: nginx-deployname: nginx-svc
spec:ports:- port: 80protocol: TCPtargetPort: 80selector:app: nginx-deploytype: ClusterIP
status:loadBalancer: {}

可以看到应用部署成功:
在这里插入图片描述

同时通过内网也是能够访问的:
在这里插入图片描述

通过ingress暴露应用

根据ssl证书生成对应的secret

根据Kubernetes官方文档我们可以看到,Secret总共有三种,分别是 docker-registrygenerictls 。这次我们要创建的就是 tls 类型的Secure:
在这里插入图片描述
执行命令:

kubectl create secret tls cloud-yueyang-city-tls --cert=***.pem --key=***.key --dry-run=client -o yaml

上面这段代码会生成创建secret的yaml资源文件,我们来重点介绍两个参数:

  • –cert: 证书公钥文件,一般后缀名为 .pem.crt ,此参数需要填写公钥文件的路径(绝对路径或相对路径)
  • –key: 证书私钥文件,一般后缀名为 .key ,此参数需要填写私钥文件的路径(绝对路径或相对路径)

执行完后可以查看生成的Kubernetes的yaml资源清单内容(文件过长,暂未显示全部):
在这里插入图片描述

然后我们将其输出到一个文件当中:

kubectl create secret tls cloud-yueyang-city-tls --cert=***.pem --key=***.key --dry-run=client -o yaml > ***-tls-secret.yaml

然后我们执行它:

kubectl apply -f ***-tls-secret.yaml

可以看到secret创建成功:
在这里插入图片描述

创建ingress暴露部署的应用

确认自己安装了ingress

查看安装的ingressclass,执行以下命令:

kubectl get ingressclass

可以看到们已经有一个名字为 nginx 的 ingressclass 了。如果没有安装那么去我的上一片文章进行安装:https://blog.csdn.net/m0_51510236/article/details/132536519
在这里插入图片描述

创建ingress

执行一下命令获取暴露应用的yaml资源清单文件:

kubectl create ingress nginx-ingress --class=nginx --rule="cloud.yueyang.city/*=nginx-svc:80,tls=cloud-yueyang-city-tls" --dry-run=client -o yaml

解释一下这里面的参数:

  • --class=nginx : 这个参数表示的是使用上面我们查询出来类型名字为nginx的ingress暴露此应用
  • --rule="cloud.yueyang.city/*=nginx-svc:80,tls=cloud-yueyang-city-tls" : 暴露应用的规则,其值的格式为 域名/*=服务名:端口,tls=创建tls的secret名字
  • --dry-run=clien-o yaml : 这两个参数搭配在一起表示在客户端尝试运行并输出yaml资源清单文件内容,并不会直接创建资源

可以查看到输出内容:
在这里插入图片描述

我们直接将它输出到文件当中并执行:

kubectl create ingress nginx-ingress --class=nginx --rule="cloud.yueyang.city/*=nginx-svc:80,tls=cloud-yueyang-city-tls" --dry-run=client -o yaml > ingress.yaml

最后执行它:

kubectl apply -f ingress.yaml

可以看到创建成功:
在这里插入图片描述

查看创建的ingress资源:

kubectl get ingress

查看里面有一个域名和一个IP地址:
在这里插入图片描述

需要确定域名的解析和IP地址是对的上的(同时你也可以通过修改你系统的hosts的配置文件来完成):
在这里插入图片描述

访问你暴露的应用

通过浏览器直接访问你的域名:
在这里插入图片描述

好了,通过ingress暴露https应用就完成了,下课!

相关文章:

用Kubernetes(k8s)的ingress部署https应用

用Kubernetes的ingress部署https应用 环境准备Ingress安装域名证书准备 部署应用通过ingress暴露应用根据ssl证书生成对应的secret创建ingress暴露部署的应用确认自己安装了ingress创建ingress 访问你暴露的应用 环境准备 Ingress安装 我之前有一片文章写的是用ingress暴露应…...

【附安装包】MyEclipse2020安装教程

软件下载 软件:MyEclipse版本:2020语言:简体中文大小:1.61G安装环境:Win11/Win10/Win8/Win7硬件要求:CPU2.5GHz 内存4G(或更高)下载通道①百度网盘丨下载链接:https://pan.baidu.co…...

软件与软件工程

软件 软件的概念以及特点: 软件是计算机系统中不可或缺的一部分,与硬件共同构成特定的系统功能。 人们通常把各种不同功能的程序,包括系统程序、应用程序、用户自己编写的程序等称为软件 软件的概念: 软件不仅包括程序,还包括程序…...

记录一下:基于nginx配置的封禁真实IP

nginx Situation(背景)Task(任务)Action(行动)1:方法1:使用nginx 自带的deny 和 allow 来实现2:方法2:添加配置 Result(结果) Situati…...

【狂神】Spring5笔记(1-9)

目录 首页: 1.Spring 1.1 简介 1.2 优点 2.IOC理论推导 3.IOC本质 4.HelloSpring ERROR 5.IOC创建对象方式 5.1、无参构造 这个是默认的 5.2、有参构造 6.Spring配置说明 6.1、别名 6.2、Bean的配置 6.3、import 7.DL依赖注入环境 7.1 构造器注入 …...

Redis——急速安装并设置自启(CentOS)

现状 对于开发人员来说,部署服务器环境并不是一个高频操作。所以就导致绝大部分开发人员不会花太多时间去学习记忆,而是直接百度(有一些同学可能连链接都懒得收藏)。所以到了部署环境的时候就头疼,甚至是抗拒。除了每次…...

C++中使用while循环

C中使用while循环 C关键字 while 可帮助您完成程序中 goto 语句完成的工作,但更优雅。 while 循环的语法如下: while(expression) {// Expression evaluates to trueStatementBlock; }只要 expression 为 true, 就将反复执行该语句块。因此…...

视频融合平台EasyCVR视频汇聚平台关于小区高空坠物安全实施应用方案设计

近年来,随着我国城市化建设的推进,高楼大厦越来越多,高空坠物导致的伤害也屡见不鲜,严重的影响到人们的生命安全。像在日常生活中一些不起眼的小东西如烟头、鸡蛋、果核、易拉罐,看似伤害不大,但只要降落的…...

IBM安全发布《2023年数据泄露成本报告》,数据泄露成本创新高

近日,IBM安全发布了《2023年数据泄露成本报告》,该报告针对全球553个组织所经历的数据泄露事件进行深入分析研究,探讨数据泄露的根本原因,以及能够减少数据泄露的技术手段。 根据报告显示,2023年数据泄露的全球平均成…...

python爬虫—requests

一、安装 pip install requests 二、基本使用 1、基本使用 类型 : models.Response r.text : 获取网站源码 r.encoding :访问或定制编码方式 r.url :获取请求的 url r.content :响应的字节类型 r.status_code :响应…...

应用案例 | 3D视觉引导解决方案汽车零部件上下料

Part.1 行业背景 三维视觉引导技术在国内外汽车零部件领域得到了广泛应用。随着汽车制造业的不断发展和创新,对于零部件的加工和装配要求越来越高,而三维视觉引导技术能够帮助企业实现更精确、更高效的零部件上下料过程。 纵览国外,部分汽车…...

const {}解构赋值

定义:ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 解构赋值的基本规则:只要等号右边不是对象或数组,就先将其转换为对象。由于undefi…...

一篇文章带你了解-selenium工作原理详解

前言 Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome&#xff0c…...

H5 + C3基础(八)(3d转换 位移 旋转)

3d转换 位移 & 旋转 定义位移透视 perspective透视和Z轴使用场景 旋转子元素开启3d视图示例 小结 定义 3d转换在2d转换中增加了一个z轴,垂直于屏幕,向外为正,向内为负。 位移 在2d位移的基础上增加了 translateZ(z); 在Z轴上的位移 t…...

PyQt6 GUI界面设计和Nuitka包生成exe程序(全笔记)

PyQt6 GUI界面设计和Nuitka包,生成exe程序全笔记 目录一、PyQt6包安装1.1 进行环境配置和安装1.2 检查包是否安装成功。1.3 运行desinger.exe二、GUI界面设计,写程序,并能运行成功。三、Nuitka打包生成exe程序3.1 做Nuitka安装准备工作(1)安装C编译器,设置环境变量3.2 配…...

学习网络编程No.5【TCP套接字通信】

引言: 北京时间:2023/8/25/15:52,昨天刚把耗时3天左右的文章更新,充分说明我们这几天并不是在摆烂中度过,而是在为了更文不懈奋斗,历时这么多天主要是因为该部分知识比较陌生,所以需要我们花费…...

常用的时间段的时间戳

获取 昨天这个时间的时间戳 Calendar calendar Calendar.getInstance(); //当前时间calendar.add(Calendar.DAY_OF_YEAR,-1); Long dd calendar.getTime().getTime()/1000;System.out.println(dd);计算今天0点的时间戳 Long time System.currentTimeMillis(); //当前…...

博客系统后台控制层接口编写

BlogColumnCon CrossOrigin RequestMapping("/back/blogColumn") RestController public class BlogColumnCon {Autowiredprivate BlogColumnService blogColumnService;/*** 新增** param blogColumn* return*/PostMapping("/add")public BaseResult add…...

生成 MySQL 删除索引、创建索引、分析表的 SQL 语句

目录 1. 生成删除索引 SQL 语句 2. 生成创建索引的 SQL 语句 3. 生成分析表的 SQL 语句 1. 生成删除索引 SQL 语句 mysql -uwxy -p12345 -S /data/18253/mysqldata/mysql.sock -e " select concat(alter table \,table_schema,\.\,table_name,\ ,drop_index,;)from ( …...

mongodb建用户

玛德折腾了2个小时,、mongodb 建用户。艹 [rootk8-master mongodb]# cat docker-compose.yaml version: 2 services: mongodb: container_name: mongodb_2.0 image: mongo:4.4 restart: always environment: TZ: Asia/Shanghai MONGO_INITDB_ROOT_USERNAME: admin M…...

实时VLA到底值不值?从π0抓钢笔看推理速度优化与系统延迟补偿的代价

实时VLA到底值不值?从π0抓钢笔看推理速度优化与系统延迟补偿的代价 先说结论推理优化可通过CUDA图和图简化大幅降延时,但必须配合系统延迟标定与补偿才能在实际机器人上稳定运行。轨迹后处理中的速度自适应和空间优化能在不重训模型前提下加速执行&…...

ESP32+DHT11快速搭建物联网试验台:30分钟实现无线数据采集与上报

1. 项目概述:为什么我们需要一个“快速试验台”?在硬件开发、嵌入式系统学习,或是物联网(IoT)项目原型验证阶段,我们常常会遇到一个尴尬的局面:想法很丰满,但验证环境很骨感。你可能…...

2026 年好用的事业编面试软件盘点:AI 驱动的结构化备考解决方案

文章摘要 随着 2026 年全国事业单位招聘考试进入高峰期,越来越多的考生开始借助专业软件进行面试备考。本文从技术架构、功能完整性、用户体验和备考效果四个维度,对当前市场上主流的事业编面试软件进行全面测评。经过多轮实际测试和用户反馈分析&#…...

相控阵天线设计避坑指南:为什么低副瓣方案里,Chebyshev加权比单纯调相位更靠谱?

相控阵天线设计避坑指南:为什么低副瓣方案里,Chebyshev加权比单纯调相位更靠谱? 在相控阵天线设计中,低副瓣性能往往是工程师们追求的关键指标之一。副瓣过高不仅会浪费辐射能量,还可能造成信号干扰、目标识别困难等一…...

(良心整理)亲测靠谱的AI论文平台,毕业生收藏备用

毕业季论文写起来是不是总感觉难上加难?选题纠结、资料找不全、写作卡壳、查重压力大、格式总是不对…… 这份亲测有效的AI论文工具合集,帮你一键解决写作难题,涵盖中英文写作、全流程辅助、专项功能,免费和高性价比的都有&#x…...

Dism++终极指南:轻松掌握Windows系统优化与维护的10个关键技巧

Dism终极指南:轻松掌握Windows系统优化与维护的10个关键技巧 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language 你是否曾经因为Windows系统变得越来越慢…...

解决RTL8821CU无线网卡在Linux下的3大痛点:从识别到稳定连接的全攻略

解决RTL8821CU无线网卡在Linux下的3大痛点:从识别到稳定连接的全攻略 【免费下载链接】rtl8821CU Realtek RTL8811CU/RTL8821CU USB Wi-Fi adapter driver for Linux 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8821CU 你是否曾经在Linux系统上连接RTL…...

Unity工业级机械仿真:刚体约束链与运动学反解实战

1. 这不是“玩具模型”,而是一套可投产验证的机械运动逻辑沙盒在Unity里做机械结构仿真,很多人第一反应是“做个动画演示”——齿轮转得漂亮、连杆动得丝滑、液压缸伸缩带点粒子特效,导出个MP4发给客户就算交付。但MGS-Machinery这个项目完全…...

通过curl命令快速测试与调试大模型API接口

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过curl命令快速测试与调试大模型API接口 在开发或集成大模型应用时,有时我们需要绕过高级SDK,直接与API进…...

抖音资源下载新体验:douyin-downloader一站式解决方案

抖音资源下载新体验:douyin-downloader一站式解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppo…...