位置: IT常识 - 正文

k8s 部署nginx 实现集群统一配置,自动更新nginx.conf配置文件 总结(k8s部署ingress-nginx)

编辑:rootadmin
k8s 部署nginx 实现集群统一配置,自动更新nginx.conf配置文件 总结 k8s 部署nginx 实现集群统一配置,自动更新nginx.conf配置文件 总结

推荐整理分享k8s 部署nginx 实现集群统一配置,自动更新nginx.conf配置文件 总结(k8s部署ingress-nginx),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:k8s部署实例,k8s部署nexus,k8s的nginx配置文件在哪里,k8s的nginx配置文件在哪里,k8s部署ingress-nginx,k8s nginx ingress,k8s的nginx配置文件在哪里,k8s搭建nginx,内容如对您有帮助,希望把文章链接给更多的朋友!

大纲

1 nginx镜像选择2 创建configmap保存nginx配置文件3 使用inotify监控配置文件变化4 Dockerfile创建5 调整镜像原地址使用阿里云6 创建deploy部署文件部署nginx7 测试使用nginx配置文件同步&nginx自动重启

直接使用https://hub.docker.com/_/nginx nginx镜像有几个问题

1 集群环境下需要手动的配置多个nginx.conf文件2 集群环境下配置文件修改后需要 kubectl exec -it 到多个pod重启nginx

使用k8s configmap统一配置集群下所有nginx的配置,并使用inotify监听配置文件变化后自动重启

nginx镜像选择

nginx镜像地址 https://hub.docker.com/_/nginx 使用 nginx:1.23.3 作为基础镜像

此镜像的配置文件为 /etc/nginx/nginx.conf 可以看到配置文件会include /etc/nginx/conf.d 文件夹下的配置

只需把此文件夹与configmap挂载就可以使用自己的配置信息了

创建configmap

创建一个configmap 用来保存nginx的配置文件

apiVersion: v1kind: ConfigMapmetadata: name: nginx-configdata: nginx.conf: | server { listen 8080; charset utf-8; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } }使用inotify监控配置文件变化

可以使用inotify 实现对配置文件夹的监控,当文件夹内有.conf文件创建,修改,删除后重新启动nginx

可以创建一个脚本,此脚本监控 /etc/nginx/conf.d 下文件的变化

#!/bin/bashconfigfile='.conf$'#监听文件夹修改,删除事件inotifywait -e modify,delete -mr --timefmt '%Y-%m-%d %H:%M:%S' --format '%T %w %f %e' /etc/nginx/conf.d | while read day time folder file event;do #判断变化的文件是否是.conf结尾的文件 注意正则判断需要使用[[]] if [[ $file =~ $configfile ]]; then nginx -t # $?返回上一个命令的结束状态 0表示正常 if [ $? == 0 ]; then nginx -s reload fi fi done

再准备一个启动start.sh脚本用于启动nginx以及inotify监控

echo "start nginx"# 启动nginxnginx# 启动监控 需要保持一个前台运行的程序 否则容器运行后就退出./auto_reload.sh

inotify的使用可以参考 《linux-inotify工具监控文件状态变化总结》

Dockerfile创建

Dockerfile 内容如下,可以调整linux镜像源使用阿里云的镜像源

FROM nginx:1.23.3VOLUME ["/data/service/logs","/docker/tmp","/data/service/store"] WORKDIR "/data/service"LABEL base.name="nginx-auto-reload" LABEL base.desc="nginx-auto-reload"#修改操作系统源地址 使用阿里云 可以不修改,但是由于网络原因会比较满#注意 nginx:1.23.3 镜像使用的是debian 11.x (bullseye)#需要使用对应的阿里云 镜像源 https://developer.aliyun.com/mirror/debian?spm=a2c6h.13651102.0.0.3e221b11W40FzdRUN echo "deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib" >/etc/apt/sources.listRUN echo "deb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib" >>/etc/apt/sources.listRUN echo "deb https://mirrors.aliyun.com/debian-security/ bullseye-security main" >>/etc/apt/sources.listRUN echo "deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main" >>/etc/apt/sources.listRUN echo "deb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >>/etc/apt/sources.listRUN echo "deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >>/etc/apt/sources.listRUN echo "deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" >>/etc/apt/sources.listRUN echo "deb-src https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" >>/etc/apt/sources.listRUN apt-get updateRUN apt-get install inotify-tools -yADD auto_reload.sh auto_reload.shRUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezoneCOPY ["auto_reload.sh","start.sh","./"]RUN chmod 711 auto_reload.sh && chmod 711 start.sh CMD ["./start.sh"]k8s 部署nginx 实现集群统一配置,自动更新nginx.conf配置文件 总结(k8s部署ingress-nginx)

需要使用对应的阿里云 镜像源 https://developer.aliyun.com/mirror/debian?spm=a2c6h.13651102.0.0.3e221b11W40Fzd

创建镜像后推送到阿里云私库,用于后续的使用

docker build -t nginx-auto-reload .docker tag nginx-auto-reload registry.cn-hangzhou.aliyuncs.com/jimliu/nginx-auto-reloaddocker push registry.cn-hangzhou.aliyuncs.com/jimliu/nginx-auto-reload

创建deploy部署文件部署nginx

部署deploy.yaml 内容如下

apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: replicas: 1 selector: matchLabels: app: nginx-auto-reload template: metadata: labels: app: nginx-auto-reload spec: # 容器配置 imagePullSecrets: - name: myaliyunsecret hostname: nginx-host subdomain: nginx-inner-domain containers: - image: registry.cn-hangzhou.aliyuncs.com/jimliu/nginx-auto-reload:latest name: nginx-containers # 挂载文件夹 volumeMounts: - mountPath: "/etc/nginx/conf.d/" name: config-volume volumes: - name: config-volume configMap: name: nginx-config---# 外部访问的接口 apiVersion: v1kind: Servicemetadata: name: nginx-auto-reload-service spec: ports: - protocol: TCP port: 18080 targetPort: 8080 nodePort: 18080 name: http8080 #暴露两个接口用于测试 nginx重启 - protocol: TCP port: 18081 targetPort: 8081 nodePort: 18081 name: http8081 selector: app: nginx-auto-reload部署nginx并测试创建configmap

部署nginxkubectl apply -f n-deployment.yaml

此步 nginx部署完成 service创建成功

测试nginx

8080端口访问成功

8081端口还无法访问

修改configmap中nginx配置文件 开放8081端口

等待configmap同步更新nginx pod中的配置文件

本文链接地址:https://www.jiuchutong.com/zhishi/293084.html 转载请保留说明!

上一篇:2023年顶会、顶刊SNN相关论文----------持续更新中

下一篇:前端技术中的几种居中方式(前端的基本知识)

  • 海康威视如何用手机实现远程监控(海康威视如何用电脑监控)

    海康威视如何用手机实现远程监控(海康威视如何用电脑监控)

  • 支付宝商家服务里的钱怎么提现(支付宝商家服务有什么坏处)

    支付宝商家服务里的钱怎么提现(支付宝商家服务有什么坏处)

  • opporeno4pro是有语音助手的吗(oppo reno4 pro 怎么设置语音说话)

    opporeno4pro是有语音助手的吗(oppo reno4 pro 怎么设置语音说话)

  • 微信的健康码在哪里找(微信上健康码在哪)

    微信的健康码在哪里找(微信上健康码在哪)

  • 免安装中文硬盘版什么意思(免安装中文硬盘版下载)

    免安装中文硬盘版什么意思(免安装中文硬盘版下载)

  • 小米手机微信视频对方听不到声音(小米手机微信视频来电不显示)

    小米手机微信视频对方听不到声音(小米手机微信视频来电不显示)

  • qq怎么弄闺蜜标志(qq如何弄闺蜜标识)

    qq怎么弄闺蜜标志(qq如何弄闺蜜标识)

  • 组成微型计算机主机的硬件除cpu外 还有(组成微型计算机系统的部件名称和作用)

    组成微型计算机主机的硬件除cpu外 还有(组成微型计算机系统的部件名称和作用)

  • 剪映导出的视频模糊(剪映导出的视频是mp4格式吗)

    剪映导出的视频模糊(剪映导出的视频是mp4格式吗)

  • 微信按住说话不能用怎么办(微信按住说话不在中间)

    微信按住说话不能用怎么办(微信按住说话不在中间)

  • 路由器显示被有线接入(路由器显示有网络但是手机没网)

    路由器显示被有线接入(路由器显示有网络但是手机没网)

  • 表格填充颜色取消不了(表格填充颜色取消不了,格式刷可以)

    表格填充颜色取消不了(表格填充颜色取消不了,格式刷可以)

  • 抖音极速版直播间怎么进入(抖音极速版直播能赚钱吗)

    抖音极速版直播间怎么进入(抖音极速版直播能赚钱吗)

  • 爱奇艺会员怎么不能下载(爱奇艺会员怎么让第二个人登录)

    爱奇艺会员怎么不能下载(爱奇艺会员怎么让第二个人登录)

  • 三星W20 5G闪存规格是多少(三星w20多少内存)

    三星W20 5G闪存规格是多少(三星w20多少内存)

  • oppo悬浮键盘怎么打开(oppo悬浮键盘怎么调透明度)

    oppo悬浮键盘怎么打开(oppo悬浮键盘怎么调透明度)

  • 淘宝超过七天怎么退货(淘宝超过七天怎样关闭退换货端口)

    淘宝超过七天怎么退货(淘宝超过七天怎样关闭退换货端口)

  • 什么叫收集数据的方法(收集数据的概念)

    什么叫收集数据的方法(收集数据的概念)

  • tenda信号扩展器怎么重新设置(tenda信号扩展器怎么恢复出厂设置)

    tenda信号扩展器怎么重新设置(tenda信号扩展器怎么恢复出厂设置)

  • 58同城app怎么切换城市(58同城怎么切换界面)

    58同城app怎么切换城市(58同城怎么切换界面)

  • 淘宝温馨提示中是什么意思(淘宝温馨提示中操作描述)

    淘宝温馨提示中是什么意思(淘宝温馨提示中操作描述)

  • 显卡没有vga接口怎么办(显卡没有vga接口,能不能接主板上)

    显卡没有vga接口怎么办(显卡没有vga接口,能不能接主板上)

  • oppo手机怎么传软件(oppo手机怎么传输照片到电脑)

    oppo手机怎么传软件(oppo手机怎么传输照片到电脑)

  • b站永久封禁怎么解除(b站永久封禁怎么申诉)

    b站永久封禁怎么解除(b站永久封禁怎么申诉)

  • 滴滴费用怎么算(滴滴车费计算公式)

    滴滴费用怎么算(滴滴车费计算公式)

  • 苹果安装描述文件害处(苹果安装描述文件远程管理安全吗)

    苹果安装描述文件害处(苹果安装描述文件远程管理安全吗)

  • 员工扣了个税但没交给税务局
  • 小规模纳税人销售农产品税率是多少
  • 公司的个人所得税是多少
  • 未达起征点的增值税怎么算
  • 误餐补助缴个税怎么申报
  • 劳务公司差额计税收到的代发工资怎么开票
  • 公司的会议议程怎么写
  • 增值税一般纳税人证明怎么查询
  • 发票代码和发票号码是什么
  • 最新出口退税申报流程
  • 公司报销专用发票
  • 领购增值税专用发票
  • 保安服务费可以开具专票吗
  • 外汇汇率在其中扮演什么角色?
  • 机动车辆发票如何认证?
  • 房地产开发公司注册资金要求
  • 通讯费 个税
  • 跨地区经营汇总纳税企业所得税
  • 个人财产转让所得在哪里申报
  • 公司净资产怎么算出来的
  • 收到政府补贴的装修款
  • 收到法院的案件款应该怎么做帐
  • PHP:Memcached::flush()的用法_Memcached类
  • PHP:Memcached::add()的用法_Memcached类
  • 期房如何快速卖出
  • 圆顶亭效果图
  • 无形资产使用寿命不确定需要摊销吗
  • nginx配置php项目
  • 工会经费申报表填写说明
  • wordpresscom
  • php是面向对象编程吗
  • 卡拉公路
  • 谷歌浏览器无法安装
  • js构造函数怎么用
  • 电子税务局没有开票业务
  • 业务招待费可以开专票抵扣吗
  • 电子票开票人复核人一样有影响吗
  • js数组 filter
  • 1000左右打印机
  • sql计算字符串中文个数
  • 应交税费在借方怎么调平
  • 劳务成本账务处理
  • 劳务费应该怎么做会计分录
  • 刚开的小公司怎么报税
  • 建筑业异地预交税款怎么入库
  • 高企数据造假
  • 政府部门城投公司融资安全吗
  • 长期股权投资的账务处理
  • 捐赠 税收
  • 企业给员工单独交社保
  • 应收账款资产减值准备可以在所得税前扣除吗
  • 损益类科目如何记忆
  • 进项税额转出缴税放在什么科目里
  • 其他业务收入冲减应付账款
  • 等额本金还款计算公式
  • 如何判断应当预见
  • 小企业会计准则主要按照什么计量
  • 开机一直提醒ctrl+alt+del
  • linux 获取网页
  • windows.h在linux中
  • WINDOWS操作系统属于什么操作系统
  • win7语言栏不见了 各种方法都试过了
  • win8.1技巧
  • linux的rz sz命令
  • js深拷贝的三种实现方式
  • 对js关键字命名的优点
  • nodejs word
  • android deam
  • python求解析解
  • unity3d添加组件
  • pycharm支持python3.9
  • unity3d CarWaypoints插件
  • javascript 基础篇3 类,回调函数,内置对象,事件处理
  • 安装了python2.7和3.6怎么切换版本
  • 无锡电子税务局怎么修改办税人员信息
  • 广东省国家税务总局稽查局局长
  • 江苏省发展改革委
  • 普通发票开具时写材料一批需要附什么清单?
  • 财税相关书籍
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设