k8s学习--YAML资源清单文件托管服务nginx

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: k8s学习--YAML资源清单文件托管服务nginx

@TOC


前言

nginx 是一个开源的高性能 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。在容器和 Kubernetes 的背景下,nginx 经常被用作静态文件服务器,它能够快速地提供静态资源(如 HTML、CSS、JavaScript 文件)的访问。在这种情况下,nginx 可以作为一个 YAML 资源清单文件的托管服务,简单地将静态文件托管在其中。

具体来说,你可以使用 nginx 将 YAML 资源清单文件(如 Kubernetes 的 Deployment、Service、ConfigMap 等配置文件)托管在服务器上,使得这些文件能够通过 HTTP 或 HTTPS 协议进行访问。这种做法在容器编排和自动化部署中非常常见,因为它提供了一种简单而可靠的方式来分发和管理配置文件。

应用

环境

虚拟机

Ip 主机名 cpu 内存 硬盘
192.168.10.11 master01 2cpu双核 4G 100G
192.168.10.12 worker01 2cpu双核 4G 100G
192.168.10.13 worker02 2cpu双核 4G 100G
192.168.10.18 nginx 2cp双核 2G 100G

版本 centos7.9
已部署k8s-1.27

具体实现步骤

1.安装源码nginx及相关模块

wget http://nginx.org/download/nginx-1.24.0.tar.gz
wget https://github.com/openresty/echo-nginx-module/archive/v0.61.tar.gz
wget https://github.com/aperezdc/ngx-fancyindex/releases/download/v0.5.2/ngx-fancyindex-0.5.2.tar.xz

这三个文件分别是:

nginx-1.24.0.tar.gz:
这是 nginx 的源代码压缩包,版本号为 1.24.0。nginx 是一个高性能的开源 Web 服务器和反向代理服务器。

echo-nginx-module-0.61.tar.gz:
这是 Echo 模块(echo-nginx-module)的源代码压缩包,版本号为 0.61。Echo 模块是一个用于 nginx 的第三方模块,可以用来进行高级的 HTTP 信息处理。

ngx-fancyindex-0.5.2.tar.xz:
这是 ngx-fancyindex 模块的源代码压缩包,版本号为 0.5.2。ngx-fancyindex 是一个 nginx 第三方模块,用于生成目录的漂亮索引页面,使得文件目录在 Web 界面上更加友好和易于浏览。

解压压缩包

tar xf v0.61.tar.gz 
tar xf ngx-fancyindex-0.5.2.tar.xz

安装nginx依赖包

yum -y install gcc prce-devel zlib-devel openssl-devel

解压安装包,配置,编译,安装

tar nginx-1.24.0.tar.gz
cd nginx-1.24.0
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --add-module=/root/ngx-fancyindex-0.5.2/ --add-module=/root/echo-nginx-module-0.61
make && make install

命令

./configure 配置 #检测软硬件环境,定制安装参数
make 编译 #将源码文件转换为二进制文件
make install 安装 #将二进制文件复制到安装目录,完成初始化

2.修改nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
解释
fancyindex on;
开启fancy索引

fancyindex_exact_size off;
不使用精确的大小,使用四舍五入Byte

index index;
此处默认索引页为index

3.启动验证

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
nginx
nginx -v

在这里插入图片描述

设置nginx随机启动:

echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

Windows浏览器测试:http://192.168.10.18
在这里插入图片描述
在这里插入图片描述

可以看到是一模一样的

4.测试

在nginx服务器上写一个yaml文件
vim /usr/local/nginx/html/deployment1.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx1
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx:1.20
          ports:
            - containerPort: 80

一个简单部署nginx的yaml文件

回到master节点
通过连接使用yaml文件

kubectl apply -f http://192.168.10.18/deployment1.yaml

在这里插入图片描述
查看

kubectl get deployments.apps

在这里插入图片描述

kubectl get pod

在这里插入图片描述
实验完成

总结

总结来说,nginx 是一个多功能的服务器软件,可以用于托管静态文件和服务,也可以用来托管 YAML 资源清单文件以供访问和部署。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
16小时前
|
Kubernetes 监控 测试技术
k8s学习--基于Ingress-nginx实现灰度发布系统
k8s学习--基于Ingress-nginx实现灰度发布系统
k8s学习--基于Ingress-nginx实现灰度发布系统
|
16小时前
|
Kubernetes 固态存储 调度
k8s学习--如何控制pod调度的位置
k8s学习--如何控制pod调度的位置
|
16小时前
|
Kubernetes API 调度
k8s学习--pod的所有状态详解(图例展示)
k8s学习--pod的所有状态详解(图例展示)
|
16小时前
|
存储 Kubernetes 调度
k8s学习--k8s群集部署zookeeper应用及详细解释
k8s学习--k8s群集部署zookeeper应用及详细解释
|
Python
Python编程:yaml文件读写
Python编程:yaml文件读写
131 0
|
Python
Python编程:yaml文件读写
Python编程:yaml文件读写
207 0
|
10天前
|
JSON Kubernetes API
深入理解Kubernetes配置:编写高效的YAML文件
深入理解Kubernetes配置:编写高效的YAML文件
|
4月前
|
存储 运维 Serverless
函数计算产品使用问题之在YAML文件中配置了环境变量,但在PHP代码中无法读取到这些环境变量,是什么原因
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
16小时前
ingress相关yaml文件报错且相关资源一切正常解决方法
ingress相关yaml文件报错且相关资源一切正常解决方法
ingress相关yaml文件报错且相关资源一切正常解决方法
|
17小时前
|
Kubernetes Docker Perl
k8s常见故障--yaml文件检查没有问题 pod起不来(一直处于创建中)
k8s常见故障--yaml文件检查没有问题 pod起不来(一直处于创建中)
下一篇
无影云桌面