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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 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搭建和管理企业级网站应用
相关文章
|
24天前
|
缓存 负载均衡 应用服务中间件
Nginx 学习
【10月更文挑战第17天】Nginx 是一款非常强大的工具,掌握它的使用和配置对于构建高性能、可靠的 Web 应用至关重要。随着技术的不断发展,Nginx 也在不断更新和完善,为我们提供更好的服务和支持。
|
1月前
|
存储 Kubernetes 持续交付
k8s学习
【10月更文挑战第1天】
82 4
|
1月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
145 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
1月前
|
缓存 负载均衡 算法
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个通用的 TCP/UDP 代理服务器,以及一个邮件代理服务器和通用的 HTTP 缓存服务器。
66 0
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
|
1月前
|
存储 Kubernetes 调度
|
1月前
|
Kubernetes API 调度
k8s学习--pod的所有状态详解(图例展示)
k8s学习--pod的所有状态详解(图例展示)
136 1
|
1月前
ingress相关yaml文件报错且相关资源一切正常解决方法
ingress相关yaml文件报错且相关资源一切正常解决方法
ingress相关yaml文件报错且相关资源一切正常解决方法
|
30天前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
137 0
|
1月前
|
Kubernetes 固态存储 调度
k8s学习--如何控制pod调度的位置
k8s学习--如何控制pod调度的位置
|
1月前
|
存储 Kubernetes 调度
k8s学习--k8s群集部署zookeeper应用及详细解释
k8s学习--k8s群集部署zookeeper应用及详细解释