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

Posted CSDN云计算

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 nginx 轻松管理 kubernetes 资源文件相关的知识,希望对你有一定的参考价值。

作者 | 江小南

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

引言

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

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

总体思路

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

环境准备

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

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文件。本地修改完上传非常方便。

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

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

集群域名解析

资源文件清单服务器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资源,测试完成!

往期推荐

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

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

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

中间表是如何被消灭的?

点分享

点收藏

点点赞

点在看

以上是关于使用 nginx 轻松管理 kubernetes 资源文件的主要内容,如果未能解决你的问题,请参考以下文章

Kubernetes nginx ingress rabbitmq 管理和kibana

k8s宝典2022年12月份Kubernetes 认证管理员CKA轻松通过攻坚克难技巧

k8s宝典2022年12月份Kubernetes 认证管理员CKA轻松通过攻坚克难技巧

Kubernetes 使用 Ingress-nginx 实现灰度发布功能

使用 Helm 3 包管理器在 Kubernetes 集群上安装软件

使用 Helm 3 包管理器在 Kubernetes 集群上安装软件