使用 nginx 轻松管理 kubernetes 资源文件

5e69a2fa1fbb2e036ac95d61ed4a6811.gif

作者 | 江小南

来源 | 江小南和他的小伙伴们

引言

nginx在传统的使用中,一般是作为反向代理或者负载均衡。但是它还有一个很优秀的能力常被人们所忽略。

在kubernetes部署应用的过程中,会有大量的yaml等资源需要维护。集群内部维护起来不太方便,特别对于新手不太友好,有时操作不当还容易对集群稳定性造成损害,nginx自动文件索引功能就派上了大用场。

总体思路

将kubernetes资源文件抽取到集群之外的nginx中进行维护,nginx开启自动文件索引功能,此时每个资源文件会有自己的链接,kubernetes通过文件资源链接获取到yaml资源文件在集群内进行部署。也可以理解为nginx为kubernetes提供文件资源服务。

环境准备

在同一网络内,我准备了4台服务器,三台用作kubernetes集群服务器,一台用作nginx资源文件清单服务器。

e0856d623183f2fb26f7cfd5d9259740.png

k8s集群服务器资源文件清单服务器
172.31.0.2172.31.0.5
172.31.0.3
172.31.0.4

kubernetes集群搭建和nginx安装自行完成。

修改nginx配置

将nginx.conf原本的配置

location / {root   html;index  index.html index.htm;
}

修改为

location /sams/ {root   /data/;autoindex on;
}
location /edsp/ {root   /data/;autoindex on;
}

autoindex on;表示开启nginx自动文件索引功能。按照原来的设置访问nginx会进入到欢迎页,经过此番设置会展示目录下的文件资源。把samsedsp比作一个个不同的项目,只要往配置中添加即可。

nginx测试

在根目录下创建/data/sams和/data/edsp文件夹,里面放入yaml文件。本地修改完上传非常方便。

325044cb6d46df5b9c22f2c82261bdc6.png

然后我们通过访问会有如下效果,可以看出每个文件资源都有属于自己的链接地址。

4d64825fcda63ae7488e05f952a7f126.pngc5ed2124ee0568598285e3a70b08337e.png

做完上面的内容,说明资源文件清单服务器准备完毕。

集群域名解析

资源文件清单服务器ip地址写起来不太方便,我们可以将其写成域名的形式,比如:

# 由于在同一网络内,这里使用内网地址即可
echo "172.31.0.5  resource-inventory" >> /etc/hosts

集群内部署测试

[root@k8s-master ~]# kubectl apply -f http://resource-inventory/sams/namespace.yaml
namespace/hello created
[root@k8s-master ~]# kubectl apply -f http://resource-inventory/sams/nginx.yaml
pod/mynginx created
[root@k8s-master ~]#
[root@k8s-master ~]# kubectl get ns
NAME                              STATUS   AGE
default                           Active   4d2h
hello                             Active   12m
[root@k8s-master ~]# kubectl get pod
NAME                                      READY   STATUS    RESTARTS   AGE
mynginx                                   1/1     Running   0          11m
[root@k8s-master ~]#

成功创建了hello命名空间和mynginx的pod资源,测试完成!

84c340c53dbf13a5f08fa76781730ced.gif

往期推荐

Redis 内存优化神技,小内存保存大数据

Kubernetes 上容器的启动顺序如何把控?

Redis 内存满了怎么办?这样置才正确!

中间表是如何被消灭的?

db841c295cb6aeb057e4ab0bcf3acdce.gif

点分享

e32a5f65ade8bc08fa65e96ad7ad258d.gif

点收藏

31032d4d34a101890bf41d2a2a75a0b3.gif

点点赞

6f6f9dcecd8fc9622a56122b93afaa57.gif

点在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511415.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Dubbo-go 优雅上下线设计与实践

简介:在分布式场景下,微服务进程都是以容器的形式存在,在容器调度系统例如 k8s 的支持下运行,容器组 Pod 是 K8S 的最小资源单位。随着服务的迭代和更新,当新版本上线后,需要针对线上正在运行的服务进行替换…

华为鸿蒙网络,这回真翻脸了?被谷歌“除名”,官宣鸿蒙手机版,华为:走着瞧...

与电脑系统类似,手机操作系统如今也已经被安卓和苹果的iOS瓜分殆尽,根据数据,安卓和iOS已经占据了手机操作系统99%以上的市场份额。不过由于iOS是苹果自研的封闭系统,所以在智能手机这么多年发展下来,也就自然地形成了…

SaaS服务的私有化部署,这样做最高效|云效工程师指北

简介:为了能够有效且高效地同时管理SaaS版本和私有化版本的发布过程,云效团队也结合云原生的基础设施和标准化工具(比如helm)进行了一系列的探索和实践,并将其中一些通能的能力进行了产品化。本文从问题本身出发&#…

阿里 BladeDISC 深度学习编译器正式开源

简介:随着深度学习的不断发展,AI模型结构在快速演化,底层计算硬件技术更是层出不穷,对于广大开发者来说不仅要考虑如何在复杂多变的场景下有效的将算力发挥出来,还要应对计算框架的持续迭代。深度编译器就成了应对以上…

浪潮“源”AI大模型如何求解数学应用题

编辑 | 宋慧 供稿 | 浪潮 “源1.0”大模型是浪潮信息发布的中文巨量模型,参数量高达2457亿,在中文语言能力理解和生成评测基准CUGE总榜中取得榜首,并获得语言理解(篇章级)、语言生成、对话交互、多语言、数学推理等5…

Quick BI产品核心功能大图(五)移动端:让数据在更多业务场景中流通

简介:将数据更好的融入日常工作中,一个重要的前提条件就是多端多渠道的数据触达和办公协同能力。 Quick BI凭借移动端交互体验,帮助用户随时随地便捷查看报表,并通过在线协同方式,追踪策略的执行落地。让数据在企业中流…

html5点击切换选项卡,简单纯js实现点击切换TAB标签实例

一个不需要jQuery实现的tab选项卡切换效果,代码简洁易用。默认是鼠标悬停显示tab效果,可将其中的onmouseover 修改为 onclick 点击效果使用方法:1、将附件中的index.html中的css样式以及代码部分拷贝到你需要的地方即可相关链接:几…

Dataphin产品核心功能大图(六)发布中心:生产和开发隔离模式下的保护伞

简介:Dataphin,用中台方法论打造企业级好数据。Dataphin是阿里巴巴集团OneData数据治理方法论内部实践的云化输出,一站式提供数据采、建、管、用全生命周期的大数据能力,以助力企业显著提升数据治理水平,构建质量可靠、…

当英特尔 OpenVINO 遇上微软 Azure,AI在边云协同的新方案

作者 | 宋慧 出品 | CSDN云计算 数字化浪潮下,越来越多的终端 IoT 设备接入网络,边缘的数据量与分析需求也随之增加。根据 Eclipse 对边缘负载的分析显示,人工智能是边缘计算中占比最高的负载之一,高于控制逻辑、数据分析等负载所…

工程设计论——如何写好工程代码

简介:设计是在对需求的认知不完整的情况下,对被设计对象进行求解的一个过程。这就迫使我们需要一边认识被设计对象,一边进行求解。为了并行化地进行这一过程,也为了使得对被设计对象地认识有初步的研究工具和基础,我们…

阿里云能耗宝即将发布,助力中小企业绿色升级,参与碳中和万亿市场

阿里云能耗宝新品发布会由阿里云-企业云服务-能耗云团队主办,将于2022年2月23号举行,本期发布会将为企业呈现“双碳”背景下的一站式服务。通过阿里云能耗宝,企业如何更加高效便捷地核算碳排放量、制定节能降碳方案、规划碳中和路径。 2020年…

鸿蒙关键技术研究,鸿蒙内核源码分析(静态链接篇) | 完整小项目看透静态链接过程 | 百篇博客分析HarmonyOS源码 | v54.02...

百篇博客系列篇.本篇为:下图是一个可执行文件编译,链接的过程.本篇将通过一个完整的小工程来阐述ELF编译,链接过程,并分析.o和bin文件中各区,符号表之间的关系.从一个崭新的视角去看中间过程,阅读之前建议先看准备工作先得有个小工程,麻雀虽小,但五脏俱全,标准的文件夹和Makefi…

敏捷研发项目,我们该如何度量?

简介:作为项目负责人,我们如何及时获悉当前项目的最新进展和问题,了解项目的整体状况?作为项目管理人员,我们如何跟进和推进项目的正常进行?如何借助云效效能洞察平台 Insight,帮助项目管理者及…

iofsstat:帮你轻松定位 IO 突高,前因后果一目了然 | 龙蜥技术

简介:磁盘被打满到底是真实的业务需求量上来了呢?还是有什么野进程在占用 IO? iofsstat 帮你精准定位。 编者按:sysAK(system analyse kit),是龙蜥社区系统运维 SIG 下面的一个开源项目&#x…

html视频标签不显示,HTML视频标签无法正确显示视频

这里是我的JS:function video() {navigator.device.capture.captureVideo(onSuccess, onFail,{limit: 1,duration: constants.MAX_DURATION_OF_VIDEO});function onSuccess(mediaFiles) {console.log("MEDIA FILE");console.log(mediaFiles);var i, path,…

晋中计算机专业对口大学,山西晋中计算机专业好就业吗?,计算机专业

【山西大众技工学校】将学生的日常管理、学习成绩、操行考核融为一体,结合校园全封闭管理形成一套完整的学生管理办法,做到每个环节都有标准与要求,每个过程都有管理和考核。山西晋中计算机专业好就业吗?另一种称为“编译”&#…

实战 Kubectl 创建 Deployment 部署应用

作者 | 洲的学习笔记来源 | CSDN博客本篇文章主要是实战 Kubectl 创建 Deployment 部署应用。通过本期文章:我们将学习创建在 Kubernetes 集群上运行应用程序的 Deployment 所需的最常见的 Kubectl 命令。用 Kubectl 创建 Deployment当运行 Kubernetes 集群&#xf…

性能提升一倍,云原生网关支持 TLS 硬件加速

简介:业界在优化 HTTPS 的性能上也做了诸多探索,传统的软件优化方案有 Session 复用、OCSP Stapling、False Start、dynamic record size、TLS1.3、HSTS 等, 但软件层面如何优化也无法满足流量日益增长的速度,加上 CPU 摩尔定律已入暮年&…

Linux 中如何检查开放的端口

作者 | 刘光录来源 | TIAP无论你的服务器是用的Linux还是桌面系统,了解系统开放的端口,和正在使用的端口,在各种情况下都会有所帮助。比如,如果你的服务器中正在运行着 Apache或者Nginx,那么其端口应该为80或者443&…

微服务应用实现无损上下线实践

简介:本文是阿里云微服务引擎MSE在应用发布时提供的无损上下线和服务预热能力最佳实践介绍。 本文是阿里云微服务引擎MSE在应用发布时提供的无损上下线和服务预热能力最佳实践介绍。假设应用的架构由Zuul网关以及后端的微服务应用实例(Spring Cloud&…