首页主机资讯CentOS Stream 8容器化技术应用

CentOS Stream 8容器化技术应用

时间2026-01-21 02:29:04发布访客分类主机资讯浏览521
导读:CentOS Stream 8 容器化技术应用与落地 一 适用场景与运行时选型 面向开发与测试:优先使用 Docker CE 或 Podman,上手快、生态完善,适合本地开发、CI/CD 构建与多容器联调。 面向生产编排:以 Contai...

CentOS Stream 8 容器化技术应用与落地

一 适用场景与运行时选型

  • 面向开发与测试:优先使用 Docker CEPodman,上手快、生态完善,适合本地开发、CI/CD 构建与多容器联调。
  • 面向生产编排:以 Containerd 为容器运行时,配合 Kubernetes 使用,符合云原生主流实践(K8s 自 v1.20+ 起取消对 Docker shim 的维护,直接使用 CRI 对接 Containerd)。
  • 系统与服务形态:CentOS Stream 8 是 RHEL 的上游公共开发分支,位于 FedoraRHEL 之间,适合滚动验证新特性;同时需注意其生命周期已于 2024-05-31 结束,生产环境建议规划迁移至 RHEL、Rocky Linux 或 AlmaLinux 等替代发行版。

二 在 CentOS Stream 8 上部署容器运行时

  • Docker CE 快速部署(适合开发与单机编排)
    1. 更新与依赖
      sudo dnf update -y & & sudo dnf install -y dnf-plugins-core
    2. 添加仓库并安装
      sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
      sudo dnf install -y docker-ce docker-ce-cli containerd.io
    3. 启动与自启
      sudo systemctl enable --now docker
    4. 验证
      docker --version & & docker run --rm hello-world
    5. 国内加速(可选)
      sudo mkdir -p /etc/docker & & sudo tee /etc/docker/daemon.json < < -‘EOF’
      { “registry-mirrors”: [“https://< 你的加速器地址> .mirror.aliyuncs.com”] }
      EOF
      sudo systemctl daemon-reload & & sudo systemctl restart docker
    6. 免 sudo 使用(可选)
      sudo usermod -aG docker $USER & & newgrp docker
  • Containerd 部署(适合 Kubernetes 与标准化运行时)
    1. YUM 安装
      sudo dnf install -y yum-utils & & sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      sudo dnf install -y containerd.io
    2. 生成默认配置并启动
      sudo mkdir -p /etc/containerd & & containerd config default | sudo tee /etc/containerd/config.toml
      sudo systemctl enable --now containerd
    3. 验证
      ctr version
    4. 可选:安装 nerdctl(Docker 兼容 CLI)与 crictl(K8s CRI 调试工具)以完善日常运维体验。

三 典型应用与命令示例

  • 应用快速上线(以 Nginx 为例)
    • Docker:
      docker run -d --name web -p 80:80 nginx:1.24
    • Podman(无守护进程、rootless 友好):
      podman run -d --name web -p 80:80 nginx:1.24
  • 数据持久化与目录挂载
    • Docker:
      docker run -d --name db -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Passw0rd mysql:8.0
    • Podman:
      podman run -d --name db -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Passw0rd mysql:8.0
  • 多容器编排(Docker Compose)
    • 安装:sudo dnf install -y docker-compose-plugin
    • 编排示例(docker-compose.yml):
      version: “3.8”
      services:
      web:
      image: nginx:1.24
      ports: [“80:80”]
      volumes: [“./html:/usr/share/nginx/html:ro”]
      db:
      image: mysql:8.0
      environment:
      MYSQL_ROOT_PASSWORD: Passw0rd
      volumes: [“/data/mysql:/var/lib/mysql”]
    • 启动:docker compose up -d
  • 生产级运行建议
    • 镜像与标签:避免使用 latest,使用 明确版本标签
    • 资源限制:为容器设置 CPU/内存 限额,避免资源抢占;
    • 日志与监控:集中采集容器日志,监控 CPU/内存/网络/存储 I/O

四 生产部署与运维要点

  • 安全与最小权限
    • 优先选择 rootless 容器(Podman)或在容器内以 非 root 用户运行应用;
    • 如需 systemd 托管容器,使用 Podman 生成 unit:
      podman generate systemd --files --name < 容器名>
      sudo cp container-< 容器名> .service /etc/systemd/system/
      sudo systemctl daemon-reload & & sudo systemctl enable --now container-< 容器名> .service
    • SELinux 场景:必要时为挂载目录设置正确的 安全上下文,或使用布尔值/策略模块放行(如 httpd 网络访问场景)。
  • Kubernetes 场景(Containerd + K8s)
    • 前置:关闭交换分区(swapoff -a 并注释 /etc/fstab 中 swap 项)、确保主机名/MAC/Product UUID 唯一;
    • 端口:放行 6443、2379-2380、10250、10259、10257(控制面)与 10250、10256、30000-32767(工作节点);
    • 运行时:使用 Containerd 作为 CRI 运行时,按需配置 crictl 进行节点侧调试。
  • 故障排查与网络
    • 服务状态:systemctl status docker/containerd;日志:journalctl -u docker/containerd;
    • 镜像拉取慢:配置 registry-mirrors
    • 端口连通性:ss -lntp | grep < 端口> / telnet/curl 验证;
    • 防火墙:firewall-cmd --list-ports 与 --add-port 按需放行。

五 生命周期与迁移建议

  • 生命周期提醒:CentOS Stream 8 已于 2024-05-31 结束生命周期,后续不再获得常规更新与修复;若需长期生产支持,建议迁移至 RHEL、Rocky Linux 或 AlmaLinux,并同步评估容器运行时与 Kubernetes 版本的兼容矩阵。
  • 迁移要点
    • 镜像与构建链:验证现有 Dockerfile/Containerfile 与目标发行版基础镜像的兼容性;
    • 仓库与依赖:替换 CentOS 8 Stream 软件源为替代发行版的 BaseOS/AppStreamEPEL 源;
    • 配置与策略:复核 systemd 单元、SELinux/防火墙策略、日志采集与监控告警规则;
    • 渐进式切换:先在测试环境验证,再分批灰度切换生产节点,确保回滚路径可用。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS Stream 8容器化技术应用
本文地址: https://pptw.com/jishu/787979.html
CentOS Stream 8日志分析工具推荐 CentOS Stream 8网络配置常见问题

游客 回复需填写必要信息