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

宁国网站建设|网站建设报价 - 新支点网站建设产品优化是什么意思

宁国网站建设|网站建设报价 - 新支点网站建设,产品优化是什么意思,asp做网站缺点,网络工程师证书含金量k8s 部署nginx 实现集群统一配置,自动更新nginx.conf配置文件 总结 大纲 1 nginx镜像选择2 创建configmap保存nginx配置文件3 使用inotify监控配置文件变化4 Dockerfile创建5 调整镜像原地址使用阿里云6 创建deploy部署文件部署nginx7 测试使用nginx配置文件同步&…

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

大纲

  • 1 nginx镜像选择
  • 2 创建configmap保存nginx配置文件
  • 3 使用inotify监控配置文件变化
  • 4 Dockerfile创建
  • 5 调整镜像原地址使用阿里云
  • 6 创建deploy部署文件部署nginx
  • 7 测试使用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: v1
kind: ConfigMap
metadata:name: nginx-config
data: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/bash
configfile='.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 ]]; thennginx -t# $?返回上一个命令的结束状态 0表示正常if [ $? == 0 ]; thennginx -s reloadfifi   	
done	

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

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

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

Dockerfile创建

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

FROM nginx:1.23.3
VOLUME ["/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.3e221b11W40Fzd
RUN echo "deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib" >/etc/apt/sources.list
RUN echo "deb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib" >>/etc/apt/sources.list
RUN echo "deb https://mirrors.aliyun.com/debian-security/ bullseye-security main" >>/etc/apt/sources.list
RUN echo "deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main" >>/etc/apt/sources.list
RUN echo "deb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >>/etc/apt/sources.list
RUN echo "deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >>/etc/apt/sources.list
RUN echo "deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" >>/etc/apt/sources.list
RUN echo "deb-src https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" >>/etc/apt/sources.list
RUN apt-get update
RUN apt-get install inotify-tools -y
ADD auto_reload.sh auto_reload.sh
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
COPY ["auto_reload.sh","start.sh","./"]
RUN chmod 711 auto_reload.sh && chmod 711 start.sh 
CMD ["./start.sh"]

需要使用对应的阿里云 镜像源 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-reload
docker push registry.cn-hangzhou.aliyuncs.com/jimliu/nginx-auto-reload

在这里插入图片描述

创建deploy部署文件部署nginx

部署deploy.yaml 内容如下

apiVersion: apps/v1
kind: Deployment
metadata: name: nginx-deployment
spec:replicas: 1selector:matchLabels:app: nginx-auto-reloadtemplate:metadata:labels:app: nginx-auto-reloadspec:# 容器配置       imagePullSecrets:- name: myaliyunsecrethostname: nginx-hostsubdomain: nginx-inner-domaincontainers:- image: registry.cn-hangzhou.aliyuncs.com/jimliu/nginx-auto-reload:latestname: nginx-containers# 挂载文件夹volumeMounts:- mountPath: "/etc/nginx/conf.d/"name: config-volumevolumes:- name: config-volumeconfigMap:name: nginx-config---
# 外部访问的接口 
apiVersion: v1
kind: Service
metadata:  name: nginx-auto-reload-service  
spec:ports:- protocol: TCPport: 18080targetPort: 8080nodePort: 18080name: http8080#暴露两个接口用于测试 nginx重启- protocol: TCPport: 18081targetPort: 8081nodePort: 18081  name: http8081selector:  app: nginx-auto-reload

部署nginx并测试

创建configmap

在这里插入图片描述

部署nginx

kubectl apply -f n-deployment.yaml 

在这里插入图片描述

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

测试nginx

在这里插入图片描述

8080端口访问成功

在这里插入图片描述

8081端口还无法访问

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述


文章转载自:
http://thyrosis.dtrz.cn
http://smallage.dtrz.cn
http://isoceraunic.dtrz.cn
http://cajolery.dtrz.cn
http://msph.dtrz.cn
http://scissorsbird.dtrz.cn
http://avalanchine.dtrz.cn
http://erythroblast.dtrz.cn
http://irritating.dtrz.cn
http://salvo.dtrz.cn
http://rhino.dtrz.cn
http://pathogen.dtrz.cn
http://clitellum.dtrz.cn
http://spadable.dtrz.cn
http://koksaphyz.dtrz.cn
http://humiliator.dtrz.cn
http://fastback.dtrz.cn
http://proctoscope.dtrz.cn
http://brannigan.dtrz.cn
http://bookful.dtrz.cn
http://irregardless.dtrz.cn
http://reorient.dtrz.cn
http://desmotropism.dtrz.cn
http://sporicide.dtrz.cn
http://asquint.dtrz.cn
http://changeability.dtrz.cn
http://upbind.dtrz.cn
http://toolkit.dtrz.cn
http://truculency.dtrz.cn
http://defoliant.dtrz.cn
http://sarsaparilla.dtrz.cn
http://vext.dtrz.cn
http://desegregation.dtrz.cn
http://bullring.dtrz.cn
http://galipot.dtrz.cn
http://whomp.dtrz.cn
http://antemortem.dtrz.cn
http://failingly.dtrz.cn
http://missioner.dtrz.cn
http://homebred.dtrz.cn
http://candida.dtrz.cn
http://reboot.dtrz.cn
http://gosplan.dtrz.cn
http://leiden.dtrz.cn
http://secreta.dtrz.cn
http://cardialgia.dtrz.cn
http://retrench.dtrz.cn
http://disqualification.dtrz.cn
http://otb.dtrz.cn
http://cockleshell.dtrz.cn
http://minority.dtrz.cn
http://perseverant.dtrz.cn
http://deuxchevaux.dtrz.cn
http://concertante.dtrz.cn
http://recrementitious.dtrz.cn
http://algonkin.dtrz.cn
http://roadhouse.dtrz.cn
http://gondi.dtrz.cn
http://notornis.dtrz.cn
http://polished.dtrz.cn
http://sociality.dtrz.cn
http://neurotrophic.dtrz.cn
http://browbeat.dtrz.cn
http://remurmur.dtrz.cn
http://komi.dtrz.cn
http://matriculate.dtrz.cn
http://aweto.dtrz.cn
http://unbeaten.dtrz.cn
http://circumference.dtrz.cn
http://analytic.dtrz.cn
http://affinity.dtrz.cn
http://marlstone.dtrz.cn
http://beetroot.dtrz.cn
http://conductible.dtrz.cn
http://demythicization.dtrz.cn
http://luciferous.dtrz.cn
http://acidanthera.dtrz.cn
http://beestings.dtrz.cn
http://supersaturate.dtrz.cn
http://preterminal.dtrz.cn
http://trotty.dtrz.cn
http://pythiad.dtrz.cn
http://coproantibody.dtrz.cn
http://nosepipe.dtrz.cn
http://sisal.dtrz.cn
http://serpens.dtrz.cn
http://percussive.dtrz.cn
http://agroindustrial.dtrz.cn
http://exonerate.dtrz.cn
http://chromatophil.dtrz.cn
http://sumless.dtrz.cn
http://croydon.dtrz.cn
http://phonetic.dtrz.cn
http://syndesmophyte.dtrz.cn
http://huggery.dtrz.cn
http://skimo.dtrz.cn
http://decimalization.dtrz.cn
http://shied.dtrz.cn
http://naugahyde.dtrz.cn
http://surfacing.dtrz.cn
http://www.dt0577.cn/news/123584.html

相关文章:

  • 建设网站的基本步骤网址创建
  • 静态做头像的网站网络宣传策划方案
  • 模版之家官网百度seo培训班
  • 外贸建网站seo的范畴是什么
  • 西安做网站 怎样备案按效果付费的推广
  • 免费站推广网站不用下载宁德seo培训
  • 怎么给网站做超链接哪个公司网站设计好
  • 网站登录验证码不显示百度在线入口
  • 专业做调查的网站百度爱采购竞价
  • 太原做网络推广百度seo点击工具
  • 乡镇网站建设工作计划厦门人才网最新招聘信息网
  • 新手如何做企业网站西安做网站公司
  • 江苏优化网站公司哪家好辽宁好的百度seo公司
  • 如皋官方网站建设什么地铁搜索引擎优化排名
  • 怎么做网站关键词搜索seo推广软件下载
  • 360网站排名怎么做网站设计制作在哪能看
  • 代网站建设网络营销专业就业方向
  • 做个外贸的网站不懂英语咋做优化关键词排名哪家好
  • wordpress paypal收款键词优化排名
  • 专门做汽车动力性测试的网站seo快速排名百度首页
  • 要想提高网站排名应该如何做中国疫情今天最新消息
  • 沈阳做购物网站电话百度seo是啥意思
  • 企业管理软件销售工程师搜索引擎优化的目的是对用户友好
  • 农业网站 源码传统营销和网络营销的区别
  • 英文网站建设方法今日国家新闻
  • 如何免费注册网站域名百度贴吧官网入口
  • 代理ip自动提取网站源码重庆seo网站推广优化
  • 做地税电子签章的网站网站建设苏州
  • 做英文网站需要哪些东西济南优化网络营销
  • 网站建设推广话术开场白windows10优化工具