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

Kubernetes 部署、维护nginx服务

Kubernetes 部署、维护nginx服务

1.1 配置nginx服务并通过nodeport类型的svc实现访问

首先准备好放置yaml文件的目录

mkdir -pv /opt/k8s-data/yaml/myserver/nginx

进入上一步准备好的目录,编写yaml文件

root@deploy01:/opt/k8s-data/yaml/myserver/nginx# vim nginx.yaml
kind: Deployment  #类型,是deployment控制器,kubectl explain  Deployment
apiVersion: apps/v1  #API版本,# kubectl explain  Deployment.apiVersion
metadata: #Deployment控制器的元数据信息,kubectl explain  Deployment.metadatalabels: #自定义pod的标签,# kubectl explain  Deployment.metadata.labelsapp: myserver-nginx-deployment-label #标签名称为app值为myserver-nginx-deployment-label,后面会用到此标签 name: myserver-nginx-deployment #pod的名称namespace: myserver #pod的namespace,默认是defaule
spec: #定义deployment中容器的详细信息,kubectl explain  Deployment.specreplicas: 1 #创建出的pod的副本数,即多少个pod,默认值为1selector: #定义标签选择器matchLabels: #定义匹配的标签,必须要设置app: myserver-nginx-selector #匹配的目标标签,template: #定义模板,必须定义,模板是起到描述要创建的pod的作用metadata: #定义模板元数据labels: #定义模板label,Deployment.spec.template.metadata.labelsapp: myserver-nginx-selector #定义标签,等于Deployment.spec.selector.matchLabelsspec: #定义pod信息containers: #定义pod中容器列表,可以多个至少一个,pod不能动态增减容器- name: myserver-nginx-container #容器名称image: registry.cn-hangzhou.aliyuncs.com/myhubregistry/nginx:1.27.0-alpine3.19 #镜像地址#command: ["/apps/tomcat/bin/run_tomcat.sh"] #容器启动执行的命令或脚本#imagePullPolicy: IfNotPresentimagePullPolicy: Always #拉取镜像策略ports: #定义容器端口列表- containerPort: 80 #定义一个端口protocol: TCP #端口协议name: http #端口名称- containerPort: 443 #定义一个端口protocol: TCP #端口协议name: https #端口名称env: #配置环境变量- name: "password" #变量名称。必须要用引号引起来value: "123456" #当前变量的值- name: "age" #另一个变量名称value: "18" #另一个变量的值resources: #对资源的请求设置和限制设置limits: #资源限制设置,上限cpu: 500m  #cpu的限制,单位为core数,可以写0.5或者500m等CPU压缩值memory: 2Gi #内存限制,单位可以为Mib/Gib,将用于docker run --memory参数requests: #资源请求的设置cpu: 200m #cpu请求数,容器启动的初始可用数量,可以写0.5或者500m等CPU压缩值memory: 512Mi #内存请求大小,容器启动的初始可用数量,用于调度pod时候使用---
kind: Service #类型为service
apiVersion: v1 #service API版本, service.apiVersion
metadata: #定义service元数据,service.metadatalabels: #自定义标签,service.metadata.labelsapp: myserver-nginx #定义service标签的内容name: myserver-nginx-service #定义service的名称,此名称会被DNS解析namespace: myserver #该service隶属于的namespaces名称,即把service创建到哪个namespace里面
spec: #定义service的详细信息,service.spectype: NodePort #service的类型,定义服务的访问方式,默认为ClusterIP, service.spec.typeports: #定义访问端口, service.spec.ports- name: http #定义一个端口名称port: 80 #service 80端口protocol: TCP #协议类型targetPort: 80 #目标pod的端口nodePort: 30001 #node节点暴露的端口- name: https #SSL 端口port: 443 #service 443端口protocol: TCP #端口协议targetPort: 443 #目标pod端口nodePort: 30043 #node节点暴露的SSL端口selector: #service的标签选择器,定义要访问的目标podapp: myserver-nginx-selector #将流量路到选择的pod上,须等于Deployment.spec.selector.matchLabels

1.2 基于deployment控制器部署维护nginx服务

1.2.1 部署

kubectl apply -f nginx.yaml

1.2.2 镜像更新

修改yaml文件中的image字段后重新kubectl apply -f nginx.yaml

1.2.3 回滚

kubectl rollout undo deployment/myserver-nginx-deployment

1.2.4 副本调整

修改配置文件中的replicas值或者直接
kubectl scale deployment myserver-nginx-deployment --replicas=<副本数量>

1.2.5 ENV环境变量传递

yaml中的env字段已经定义了环境变量,这些变量会在容器启动时传递给 Nginx 进程。
如果需要添加更多变量,可以在env列表中添加新的条目。

http://www.jsqmd.com/news/280513/

相关文章:

  • 【课程设计/毕业设计】基于springboot + vue房屋租赁管理系统基于springboot的元宇宙平台的房屋租赁管理系统【附源码、数据库、万字文档】
  • 第75天(中等题 数据结构)
  • 救命!AIGC太高怎么办?手把手教你降AI率:10款神器大盘点(内含白嫖攻略)
  • 计算机Java毕设实战-基于springboot的在线云平台的房屋租赁管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 【大数据毕设源码分享】基于Python大数据技术的广东旅游数据可视化分析的设计与实现(程序+文档+代码讲解+一条龙定制)
  • Linux 查找 /sys/bus/usb/devices 对应串口文件
  • YOLOv8改进 - 注意力机制 | CoTAttention (Contextual Transformer Attention) 上下文转换器注意力通过静态与动态上下文协同建模增强视觉表征
  • 【大数据毕设源码分享】基于python+Hadoop+数据可视化的租房数据分析系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • C#/.NET/.NET Core技术前沿周刊 | 第 66 期(2026年1.12-1.18)
  • 实用指南:清楚易懂的红黑树讲解
  • Java计算机毕设之基于springboot的元宇宙平台的房屋租赁管理系统基于springboot + vue房屋租赁管理系统(完整前后端代码+说明文档+LW,调试定制等)
  • 迈向意义共治的智能文明:一份关于AI时代新范式的框架性阐述
  • 学习日记之狂神说Java
  • [note] 本地12+16G极限部署 Qwen3-Coder-25B 搭配Continue插件实现代码补全
  • Java计算机毕设之基于springboot的婚庆公司服务平台的设计与实现婚庆摄影(完整前后端代码+说明文档+LW,调试定制等)
  • Java毕设项目:基于springboot的婚庆公司服务平台的设计与实现(源码+文档,讲解、调试运行,定制等)
  • 【性能测试】14_JMeter _JMeter测试报告
  • 【毕业设计】基于springboot的实验设备借用平台的设计与实现 实验室设备租赁系统(源码+文档+远程调试,全bao定制等)
  • Java毕设选题推荐:基于SpringBoot+Vue+MySQL 房屋租赁管理系统平台基于springboot的元宇宙平台的房屋租赁管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 2026必备!10个AI论文工具,助本科生轻松写论文!
  • 【课程设计/毕业设计】基于springboot+vue的婚庆公司服务网站管理系统基于springboot的婚庆公司服务平台的设计与实现【附源码、数据库、万字文档】
  • K8s新手入门:从“Pod创建”到“服务暴露”,3个案例理解容器编排
  • 【旋转式多线激光雷达】旋转式多线激光雷达工作原理
  • ClickHouse在农业大数据分析中的创新应用
  • agentscope记忆模块使用和部署agent-memory-server记忆服务
  • 【毕业设计】基于springboot的婚庆公司服务平台的设计与实现(源码+文档+远程调试,全bao定制等)
  • 在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点。 - 指南
  • AI Agent核心技术揭秘:概念辨析、商业化路径与实践指南,值得收藏
  • Java程序员转型大模型开发全攻略:月薪30K+的AI工程师成长路径_程序员转行AI大模型教程(非常详细)
  • docker部署及基本要点