From 9c54d8e9c4cd31a20d1315abe31d4ae3af0a7d57 Mon Sep 17 00:00:00 2001 From: jiaominchao Date: Fri, 11 Jul 2025 14:49:20 +0800 Subject: [PATCH] feat: add redis_optimized_a8 Dockerfile Signed-off-by: jiaominchao --- OTHER/redis_optimized_a8/buildspec.yml | 34 +++++++++++++++++++ .../v1.1/anolis8/Dockerfile | 14 ++++++++ .../v1.1/anolis8/init_redis.sh | 25 ++++++++++++++ .../v1.1/anolis8/redis_keentune.sh | 8 +++++ OTHER/redis_optimized_a8/version.yml | 9 +++++ 5 files changed, 90 insertions(+) create mode 100644 OTHER/redis_optimized_a8/buildspec.yml create mode 100644 OTHER/redis_optimized_a8/v1.1/anolis8/Dockerfile create mode 100755 OTHER/redis_optimized_a8/v1.1/anolis8/init_redis.sh create mode 100755 OTHER/redis_optimized_a8/v1.1/anolis8/redis_keentune.sh create mode 100644 OTHER/redis_optimized_a8/version.yml diff --git a/OTHER/redis_optimized_a8/buildspec.yml b/OTHER/redis_optimized_a8/buildspec.yml new file mode 100644 index 0000000..7a54d15 --- /dev/null +++ b/OTHER/redis_optimized_a8/buildspec.yml @@ -0,0 +1,34 @@ +name: &NAME +version: &VERSION +image_type: &IMAGE_TYPE +baseos_version: &BASEOS_VERSION + +# 定义镜像仓库信息 +repository_info: + acr_alinux: &ACR_ALINUX alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3 + acr_anolis: &ACR_ANOLIS anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis + +# 定义镜像测试信息 +t-one: + # 配置测试信息 workspace 和模版 + workspace: &WORKSPACE container_ci_test + project: &PROJECT default_container_ci_test + test_suite: &TEST_SUITE image-ci-test + test_conf: &TEST_CONF group=application_container_func_test + test_case: &TEST_CASE application_container_func_test_default + cloud_server_tag: &CLOUD_SERVER_TAG [anolis-container-ci-x86, anolis-container-ci-arm] + +# 构建镜像配置 +images: + # 分组名称,支持自定义 + BuildNginxKeenTuneECSApplicationDockerImage: + # 定义是否构建参数 + build: true + docker_file: + path: OTHER/redis_optimized_a8/v1.1/anolis8/Dockerfile + scene: + args: [] + tags: [20250711-5.0.3-2.4.0] + registry: [*ACR_ANOLIS] + # 测试配置 + test_config: [(*WORKSPACE, *PROJECT, *TEST_SUITE, *TEST_CONF, *TEST_CASE, *CLOUD_SERVER_TAG[0], ''), (*WORKSPACE, *PROJECT, *TEST_SUITE, *TEST_CONF, *TEST_CASE, *CLOUD_SERVER_TAG[1], '')] diff --git a/OTHER/redis_optimized_a8/v1.1/anolis8/Dockerfile b/OTHER/redis_optimized_a8/v1.1/anolis8/Dockerfile new file mode 100644 index 0000000..e9894a5 --- /dev/null +++ b/OTHER/redis_optimized_a8/v1.1/anolis8/Dockerfile @@ -0,0 +1,14 @@ +FROM registry.openanolis.cn/openanolis/anolisos:8.10 + +LABEL \ + org.opencontainers.image.title="redis_keentune_a8" \ + org.opencontainers.image.version="20250711-5.0.3-2.4.0" \ + maintainer="OpenAnolis KeenTune SIG" + +COPY init_redis.sh /usr/local/bin/ +COPY redis_keentune.sh /usr/local/bin/ + +RUN yum install epel-release -y \ + && sed -i "s/enabled=0/enabled=1/" /etc/yum.repos.d/AnolisOS-Plus.repo; yum clean all; yum makecache +RUN yum install systemd procps-ng redis polkit ethtool irqbalance pciutils numactl python36 git keentuned keentune-target -y +RUN pip3 install pyudev requests -i https://pypi.tuna.tsinghua.edu.cn/simple diff --git a/OTHER/redis_optimized_a8/v1.1/anolis8/init_redis.sh b/OTHER/redis_optimized_a8/v1.1/anolis8/init_redis.sh new file mode 100755 index 0000000..715d44e --- /dev/null +++ b/OTHER/redis_optimized_a8/v1.1/anolis8/init_redis.sh @@ -0,0 +1,25 @@ +redis_port=9400 +instance_num=8 +yum install numactl -y +sed -i "s/^port .*/port $redis_port/" /etc/redis.conf; +sed -i "s/^bind.*/bind 0.0.0.0/" /etc/redis.conf; +sed -i "s#^pidfile.*#pidfile /var/run/redis_$redis_port.pid#" /etc/redis.conf + +for ((i=1;i<$instance_num;i++)) +do + redis_port=$(($redis_port + 1)) + cp /etc/redis.conf /etc/redis.conf$i + chown redis:root /etc/redis.conf$i + mkdir -p /var/lib/redis$i + + sed -i "s/^port .*/port $redis_port/" /etc/redis.conf$i; + sed -i "s#^pidfile.*#pidfile /var/run/redis_$redis_port.pid#" /etc/redis.conf$i; + sed -i "s#^logfile.*#logfile /var/log/redis/redis$i.log#" /etc/redis.conf$i; + sed -i "s#^dir.*#dir /var/lib/redis$i#" /etc/redis.conf$i + sed -i "s/^daemonize no/daemonize yes/" /etc/redis.conf$i; + + numactl -C $i /usr/bin/redis-server /etc/redis.conf$i +done + +numactl -C 0 /usr/bin/redis-server /etc/redis.conf + diff --git a/OTHER/redis_optimized_a8/v1.1/anolis8/redis_keentune.sh b/OTHER/redis_optimized_a8/v1.1/anolis8/redis_keentune.sh new file mode 100755 index 0000000..c8e5303 --- /dev/null +++ b/OTHER/redis_optimized_a8/v1.1/anolis8/redis_keentune.sh @@ -0,0 +1,8 @@ +#!/bin/bash +nohup keentuned > /dev/null & +nohup keentune-target > /dev/null & +sleep 5 +keentune profile set redis.conf + +bash init_redis.sh + diff --git a/OTHER/redis_optimized_a8/version.yml b/OTHER/redis_optimized_a8/version.yml new file mode 100644 index 0000000..a90cf9c --- /dev/null +++ b/OTHER/redis_optimized_a8/version.yml @@ -0,0 +1,9 @@ +# 版本关系依赖表,默认继承 version-base.yml 配置,可重写覆盖 +BaseDependency: ../version-base.yml +Dependency: + name: redis_optimized_a8 + image_type: other + versions: + 20250711-5.0.3-2.4.0: + baseos_version: *AnolisOS8.10 + -- Gitee