暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PolarDB-X CN 容器概览

PolarDB 2025-10-27
19

PolarDB-X CN 容器概览

本文将介绍 PolarDB-X 的 Docker 容器化策略和部署架构,包括 Docker 环境中运行 PolarDB-X SQL 计算节点(CN)的高层容器设计、流程管理和操作流程。

关于容器构建流程和镜像构建、运行时配置管理和环境变量、日志管理和健康监控等运维任务的详细信息,未来将分篇详细介绍。

容器架构概述

PolarDB-X SQL 计算节点使用多层架构打包为 Docker 容器,该架构将应用程序运行时、操作工具和配置管理分开。

Docker容器结构

容器遵循结构化方法,其中基于 Java 的 PolarDB-X Server 作为主进程运行,由基于 shell 的进程管理器管理,负责生命周期管理、健康监控和自动重启。

进程管理架构

容器化部署使用entrypoint.sh
脚本中实现的复杂流程管理系统,提供自动恢复和监控功能。

进程生命周期管理

进程管理系统实现了几个关键函数:

函数
目的
实现
polardbx_sql_pid()
搜索进程PID
搜索 TddlLauncher Java 进程
kill_and_clean()
进程清理
终止现有进程并删除 PID 文件
start_process()
进程启动
推出具有 Wisp 线程的 PolarDB-X 服务
report_pid()
健康检查
监控进程状态并报告状态
watch()
持续监控
实施健康检查循环

容器镜像构建和部署流程

Docker 部署遵循标准化构建管道,该管道与 Maven 构建系统集成并生成可部署的容器映像。

构建流程

构建过程分为两个主要阶段:

1、Maven 构建阶段:编译源代码并生成 polardbx-server 分发包

2、Docker 构建阶段:使用 Dockerfile 中定义的多阶段操作组装容器镜像

容器配置策略

Docker 部署实现了分层配置方法,将系统级设置与应用程序特定配置分开。

配置类型
来源
目的
系统配置
docker/etc/*
日志轮转、cron 作业、系统服务
应用程序脚本
docker/admin/bin/*
操作实用程序和维护工具程序
流程管理
docker/entrypoint.sh
容器生命周期和流程监管
运行时环境
容器环境
JVM 设置和应用程序属性

配置系统使用基于文件的部署,在 Docker 构建过程中将配置工件复制到特定的系统位置

这种方法可确保日志轮转和计划维护等操作工具在容器启动时自动可用。

内置运维功能

容器化的 PolarDB-X 部署包括内置的运维功能:

  • 自动恢复:进程重启,可配置重试次数限制和间隔
  • 健康监测:通过基于 PID 的检测持续检查过程状态
  • 日志管理:集成日志轮换和清理计划
  • 干净关机:优雅地终止进程并清理资源

容器以 非 root admin 用户身份运行,以确保安全合规性,并包含全面的流程管理,可处理计划内和计划外的服务中断.

欢迎关注PolarDB公众号.

如需“商务咨询“或”开源交流“, 速加小编微信.


文章转载自PolarDB,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论