【Rancher Server + Kubernets】- Nginx-ingress日志持久化至宿主机

目录

【Rancher Server + Kubernets】- Nginx-ingress日志持久化至宿主机

本文主要是针对基于RancherServer搭建的Kubernets集群中,实现Nginx-ingress中的日志实现持久化,并保存至各Worker节点的目录。

一、环境准备

1、软件准备

序号 环境名称 说明 版本号
1 Rancher Server k8s运维平台 v2.5.7

2、环境规划

序号 IP HostName 操作系统 K8s角色 说明
1 192.168.255.141 rancher Anolis OS 8.9 x86 64位 Rancher服务 Kubernetes 管理平台
2 192.168.255.142 master Anolis OS 8.9 x86 64位 控制节点 Kubernetes Master
3 192.168.255.143 worker01 Anolis OS 8.9 x86 64位 工作节点 Kubernetes Master高可用节点,如果不需要高可用,可不部署此服务器
4 192.168.255.144 worker02 Anolis OS 8.9 x86 64位 工作节点 Kubernetes Worker

二、Nginx-ingress-controller服务日志持久化至宿主机目录配置

1、在宿主机创建日志挂载目录

(1)、创建日志挂载目录

在所有worker节点上执行下面命令

shell 复制代码
[root@worker01~]# mkdir /data/logs/nginx-ingress -p

(2)、确认运行容器的用户组

进入容器shell窗口

执行命令id,就会输出运行容器的用户及用户所在组的名称和id,如下图所示:用户和组名是:www-data,id:101

(3)、将目录挂载目录授权给nginx-ingress-controller容器内相同的用户组

通过上步可以得知运行容器【nginx-ingress-controller】的用户组信息

  • 用户名:www-data, 用户ID:101
  • 用户所属组:www-data, 组ID:101

本步骤非常关键,否则容器没有操作宿主机目录的权限

在所有worker节点操作系统中执行下面命令,本文方案中有两个work节点,分别是work01、work02

shell 复制代码
[root@worker01~]# groupadd -g 101 www-data
[root@worker01~]# useradd -u 101 -g 101 www-data
[root@worker01~]# chown -R 101:101 /data/nginx/logs
[root@worker01~]# chmod 755 /data/nginx/logs

2、配置nginx-ingress-controller服务

(1)、进入仪表盘

(2)、进入Daemonsets画面

只显示【ingress-nginx】命名空间

(2)、编辑【nginx-ingress-controller】的配置

(3)、编辑【nginx-ingress-controller】的配置

在【Container】->【Command】->Arguments添加日志配置

  • --log_dir=/var/log/nginx/
  • --logtostderr=false
  • --ingress-class=nginx

完整配置内容如下

shell 复制代码
/nginx-ingress-controller 
--configmap=$(POD_NAMESPACE)/nginx-ingress-configuration 
--election-id=ingress-controller-leader --ingress-class=nginx 
--tcp-services-configmap=$(POD_NAMESPACE)/tcp-services 
--udp-services-configmap=$(POD_NAMESPACE)/udp-services 
--annotations-prefix=nginx.ingress.kubernetes.io 
--log_dir=/var/log/nginx/ 
--logtostderr=false
--ingress-class=nginx

添加【挂载目录】


(4)、编辑【nginx-ingress-configuration】ConfigMaps

3、验证

xshell连接至work01和work02节点后,在/data/nginx/logs目录下输出了nginx容器的日志了

至此,nginx-ingress中的日志就持久至各宿主机目录上了。

相关推荐
Android系统攻城狮2 分钟前
Linux PipeWire深度解析之pw_context_add_spa_lib调用流程与实战(二十九)
linux·运维·服务器·音频进阶·pipewire音频进阶
Dovis(誓平步青云)18 分钟前
《如何在CentOS 7中添加Plex官方软件源:解决文件磁盘难管理难题》
linux·运维·服务器·后端·生成对抗网络·centos
草莓熊Lotso29 分钟前
【Linux网络】深入理解Linux IO多路复用:select服务器完善、内核原理与poll实战
linux·运维·服务器·c语言·网络·c++
网安老伯1 小时前
网络安全基础要点知识介绍(非常详细),零基础入门到精通,看这一篇就够了
运维·前端·网络协议·web安全·网络安全·职场和发展
迷茫中的自我1 小时前
GitHub Actions自动化运维实战:从CI/CD到云原生部署
运维·自动化·github
XH华1 小时前
Linux系统第二章:常见的Linux指令(上)
linux·运维·服务器
nVisual1 小时前
01-环境监控集成方案
运维·服务器·开发语言·网络·数据库·数据中心布线·综合布线管理软件
北龙云海11 小时前
案例分享 | 面向公网业务系统境内访问白名单配置实操方案
运维·网络·安全·网络安全·告警·数据泄露·入侵攻击
FoldWinCard11 小时前
D5 Linux 网络及端口命令
linux·运维·服务器
SakitamaX13 小时前
LVS(Linux Virtual Server)概念详解
linux·运维·lvs