位置: 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相关论文----------持续更新中

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

  • Applewatchseries6为什么亮绿灯(iwatch6aqi)

    Applewatchseries6为什么亮绿灯(iwatch6aqi)

  • 文件夹如何设置密码(文件夹如何设置一打开就是列表方式)

    文件夹如何设置密码(文件夹如何设置一打开就是列表方式)

  • 红米note7保修包括哪些(红米note7保修期多久)

    红米note7保修包括哪些(红米note7保修期多久)

  • 3500x支持内存频率(3500x可以用2400内存条吗)

    3500x支持内存频率(3500x可以用2400内存条吗)

  • 华为手机吊绳孔在哪里(华为手机吊带怎么装上去的)

    华为手机吊绳孔在哪里(华为手机吊带怎么装上去的)

  • 网易云音乐音乐包和vip有什么不同(网易云音乐)

    网易云音乐音乐包和vip有什么不同(网易云音乐)

  • word最大字号(word最大字号72)

    word最大字号(word最大字号72)

  • 苹果地区改不回来中国怎么办(苹果改地区还能改回来吗)

    苹果地区改不回来中国怎么办(苹果改地区还能改回来吗)

  • iphone还原网络设置有什么用(iphone还原网络设置没反应)

    iphone还原网络设置有什么用(iphone还原网络设置没反应)

  • 关注的超话可以隐藏吗(关注超话会怎么样)

    关注的超话可以隐藏吗(关注超话会怎么样)

  • vivox30是曲面屏吗(vivox30pro是曲面屏么)

    vivox30是曲面屏吗(vivox30pro是曲面屏么)

  • 一般用什么制作h5(风管支架一般用什么制作)

    一般用什么制作h5(风管支架一般用什么制作)

  • 在拼多多买东西付了钱没有订单怎么办(在拼多多买东西好友能看见吗)

    在拼多多买东西付了钱没有订单怎么办(在拼多多买东西好友能看见吗)

  • 怎么打开微云里的文件(微云在微信里怎么打开)

    怎么打开微云里的文件(微云在微信里怎么打开)

  • 苹果11原彩显示要不要开(苹果11原彩显示打开还是关闭好)

    苹果11原彩显示要不要开(苹果11原彩显示打开还是关闭好)

  • vue如何修改照片时长(vue图片尺寸)

    vue如何修改照片时长(vue图片尺寸)

  • 如何把视频下载到mp3(如何把视频下载到手机相册)

    如何把视频下载到mp3(如何把视频下载到手机相册)

  • 苹果无面容什么意思(苹果无面容什么意思可以拍照吗)

    苹果无面容什么意思(苹果无面容什么意思可以拍照吗)

  • excel怎么制做表格(excel怎么制作表)

    excel怎么制做表格(excel怎么制作表)

  • 华为充电接口类型(华为充电接口是)

    华为充电接口类型(华为充电接口是)

  • vivoy93怎么关闭小v(vivoy93怎么关闭广告)

    vivoy93怎么关闭小v(vivoy93怎么关闭广告)

  • wifi如何恢复出厂设置密码(wifi如何恢复出厂设置并重新设置)

    wifi如何恢复出厂设置密码(wifi如何恢复出厂设置并重新设置)

  • 宽带连接和本地连接有什么不同(宽带连接和本地连接哪个网速快)

    宽带连接和本地连接有什么不同(宽带连接和本地连接哪个网速快)

  • 华为手机通话背景怎么换(华为手机通话背景怎么取消)

    华为手机通话背景怎么换(华为手机通话背景怎么取消)

  • 京东退货如何填单号(京东退货如何填单号 京东退货在哪里填单号)

    京东退货如何填单号(京东退货如何填单号 京东退货在哪里填单号)

  • nbtstat网络命令(网络命令netstat)

    nbtstat网络命令(网络命令netstat)

  • u启动u盘怎么安装win10 u启动u盘安装win10视频教程(u启动u盘怎么装系统)

    u启动u盘怎么安装win10 u启动u盘安装win10视频教程(u启动u盘怎么装系统)

  • systemctl命令  管理系统服务(system view命令)

    systemctl命令 管理系统服务(system view命令)

  • 个人所得税专项附加扣除子女教育
  • 企业之间拆借资金是什么意思
  • 新成立的销售公司有哪些
  • 小规模减免增值税要交企业所得税吗
  • 增值税冲红附加税费可以退吗
  • 小微企业城建税及附加减半
  • 无发票情况说明怎么写学生
  • 财务月末结转成什么账户
  • 平行式明细账
  • 用银行存款上交各种税费
  • 个人收到的国外短信
  • 企业缴纳社保费一个月多少钱
  • 关于预计负债应付退货款明细科目
  • 应交增值税出口退税科目怎么结平
  • 购买食堂餐具开票怎么开
  • 技术转让开具什么发票
  • 一般纳税人转为小规模2022政策
  • 地方教育附加怎么算的?
  • 开过去的普通发票多久不能冲红?
  • 企业医保分几种
  • mac怎么打开hosts文件
  • 王者荣耀中白起的台词
  • win11怎么调整任务栏位置
  • windows怎么禁用网络
  • 一般纳税人转小规模流程
  • 残疾人增值税即征即退政策2020
  • 不动产出租管理办法
  • vue中使用数组
  • PHP基于国秘s2m加解密的处理方式
  • kk协议
  • 网络命令traceroute
  • thinkphp写api
  • 人力资源企业税收风险
  • 帮别人代发工资有没有风险
  • 出纳各种费用如何归类
  • 申报财务报表利润怎么写
  • 未经审计情况说明怎么写
  • phpcms不支持https怎么办
  • 应收账款提坏账准备的方法
  • csv文件导入到pycharm时报错
  • 土方开挖工艺标准
  • 进项税计税依据
  • 长期待摊费用核销
  • 固定资产低于净值出售会计处理
  • 月底主营业务成本会计分录
  • 固定资产的修理费属于什么费用
  • 上年度固定资产费用化了,财报怎么算
  • 用人单位劳务派遣人员工资怎么做账
  • 一个企业只有收入怎么办
  • 社保费申报是当月的
  • 工程施工和工程造价哪个好
  • 其他应付款的借贷方分别表示什么
  • 房地产开发企业增值税怎么算
  • 在MySQL中使用通配符时应该注意的问题
  • sql server错误和使用情况报告
  • sql 查询效率
  • CentOS 6.5 i386 安装MySQL 5.7.18详细教程
  • windows快速预览
  • ubuntu sudo apt
  • win10系统自带的浏览器叫什么
  • ubuntu系统怎么用
  • xp系统怎样阻止脱机窗口弹出
  • 如何解决win7系统卡顿
  • nodejs stdin
  • scrollview怎么用
  • perl中use strict
  • nodejs怎么学
  • angular动态生成表单
  • Python函数中仅允许有一条return语句
  • unity3d all compiler errors
  • jquery操作样式
  • jQuery中通过ajax的get()函数读取页面的方法
  • 安卓手机管家删除的照片怎么恢复
  • 零基础入门安卓逆向
  • 哈尔滨工业大学录取分数线2023年
  • 最新设立税务师事务条件
  • 长春市税务局电话号
  • 服务业增值税率6% 购进13%手机怎么抵扣
  • 怎么查税务是否注销成功
  • 广西残疾人保障金比例
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设