📜  OpenShift-概述(1)

📅  最后修改于: 2023-12-03 15:33:18.317000             🧑  作者: Mango

OpenShift - 概述

OpenShift 是一个基于 Kubernetes 的容器应用平台,由红帽公司维护和开发,它支持基于 Docker 和 Kubernetes 的应用容器化打包、部署、运行和管理。

OpenShift 的特点
  • 开源免费:OpenShift Origin 为开源版本,使用 OpenShift 可以省去购买商业容器平台的费用。
  • 多种语言支持:Java、Node.js、Python、Ruby、PHP、C# 等都可以使用 OpenShift 构建和部署应用。
  • 定制化:OpenShift 提供了多种方案来适应各种不同的应用场景,灵活定制、扩展容器平台能力。
  • 集成化:OpenShift 集成了 JBoss、Tomcat、MySQL、MongoDB、PostgreSQL、RabbitMQ 等多种开源组件,可以轻松构建完整的应用。
  • DevOps:OpenShift 提供了开发环境、构建环境、测试环境、预发布环境、生产环境等多种环境,实现全流程自动化 DevOps。
OpenShift 的架构

OpenShift 的架构包括 Master 节点和 Node 节点两部分。

  • Master 节点:OpenShift 的主控节点,包括 API Server、Controller Manager、Scheduler、ETCD 等组件,用于管理和控制 Node 节点。
  • Node 节点:运行共享同一个 Kubernetes 集群的容器工作负载,包括 Docker、Pod、Service、ReplicationController、Deployment、路由器、Registry 等组件。
OpenShift 的应用部署流程
  1. 搭建 OpenShift 集群
  2. 创建项目
  3. 选择构建镜像方式:Source-to-Image(S2I)、Dockerfile
  4. 构建应用镜像
  5. 部署应用
  6. 应用发布
OpenShift 建议的最佳实践
  • 应用镜像应包含最小可用操作系统。
  • 应用镜像应包含进程管理工具(如 systemd、Supervisord)。
  • Pod 的数量不应过多,以避免 Node 节点过载和管理困难。
  • 应尽量避免使用 root 用户启动容器。
  • 应用容器不建议使用动态 IP。
总结

OpenShift 是一个开源、免费、多语言、定制化、集成化和支持 DevOps 的容器应用平台,其分为 Master 节点和 Node 节点两部分。使用 OpenShift 可以轻松构建和部署应用。开发者应该遵从 OpenShift 最佳实践,提高应用性能和安全性。