1. OpenShiftの概要
OpenShift とは、Red Hat社が提供しているエンタープライズ対応のKubernetesコンテナプラットフォームで、Docker、Kubernetes、Dockerレジストリなどで構成されるCaaS(Container as a Service)基盤です。CaaSとはPaaS(Platform as a Service)の中でも、特にコンテナサービスに重点を置いたサービスを意味します。
OpenShiftを利用することで、短時間で簡単にアプリケーションを構築、開発、提供することができます。
OpenShiftはいくつかの製品(サービス)に分かれています。
- OKD (Origin Community Distribution)
OSS版で、無償で利用できます。OpenShiftをローカル環境で試すためのMinishiftというツールも提供されており、小規模での利用に向いています。
OpenShift Originのバージョン3.10リリース時(2018/08/03)に、OKD (Origin Community Distribution)に名称を変更しました。 - OpenShift Container Platform、OpenShift Kubernetes Engine
社内のデータセンターなどにCaaSを構築するための製品であり、エンタープライズレベルのKubernetesをデプロイするためのパッケージです。また、Red Hat社がサポートを提供しています。 - OpenShift Dedicated
Red Hat社の提供するパブリッククラウド上に、一社向けにCaaSを提供する製品であり、Red Hat社がサポートを提供しています。ネットワーク接続の安全性を担保しつつ、AWSやGCPと容易に連携させることができるのが特徴です。 - Amazon Red Hat OpenShift、OpenShift Microsoft Azure、Red Hat OpenShift on IBM Cloud
Red Hat社とAWS社・Microsoft社・IBM社が共同で開発、運用、サポート提供しているOpenShiftの高可用性クラスタで、各社のクラウド上にホスティングされるフルマネージドサービス製品です。 - OpenShift Online
Red Hat社の提供するパブリックCaaSを利用することができ、Red Hat社がサポートを提供しています。
2. 特徴
OpenShiftはDevOpsの促進を目的として開発されたため、OpenShiftの利用は開発者と運用者の両方にとってメリットがあります。
開発者は、ローカルに開発環境をセットアップする必要がなくなり、クラウド環境または社内のデータセンターに素早く、容易に開発環境をセットアップすることができるようになります。また、開発したアプリケーションはdocker imageとしてデプロイされるため、その後の運用も容易になります。
OpenShiftはMasterとNodeという2つのホストで構成されます。Masterは複数のNodeを管理するホストで、ユーザの認証、アプリケーションの管理、ノード間の通信などを行います。また、Nodeはユーザアプリケーションを実行するホストで複数のコンテナから成り立っています。
3. 提供しているイメージ
OpenShift Container Platformは60種類近くのイメージをサポートしています。
Jenkins、Httpd、node、Elasticsearch、Ruby、PHP、Perl、Python、.NET、MySQL、MariaDB、MongoDBなど主要なコンテンツにはほとんど対応しています。より詳細な内容については以下のURLを参考にしてください。
https://access.redhat.com/articles/2176281
4. 機能
OpenShiftではKubernetesで実装されている機能が利用できることに加えて独自のコンポーネントを備えています。
- Integrated Docker Registry
OpenShiftではDocker imageを内部で保持します。そのためのリポジトリがIntegrated Docker Registryです。 - Software Defined Network
この機能を用いることで、サーバをまたいだコンテナ間の通信を一つのオーバレイネットワーク上で利用するシングルテナントか、プロジェクトごとにオーバレイネットワークを分けるマルチテナントで構成することできます。 - Build Configuration
Docker imageを作成するための設定です。 - Deployment Configuration
Kubernetesを拡張したコンテナ型アプリケーションのデプロイするための設定です。 - Source to Image
既に存在するコンテナイメージに別のソースコードからビルドしたアプリケーションをデプロイし、新しいDocker imageを作成します。 - Image Stream
OpenShiftがビルドしたDocker image、外部のDocker imageへのポインターを保持します。 - Route
OpenShift上で動作しているアプリケーションをURLでアクセスできるようにします。
5. 動作環境
- OS要件
主要なLinuxディストーション
Windows
MacOSX - ブラウザ要件
Webコンソールにアクセス可能なブラウザのバージョンに関しては、下記URLをご参照ください。
https://access.redhat.com/articles/2176281
https://docs.okd.io/3.11/architecture/infrastructure_components/web_console.html#architecture-infrastructure-components-web-console
ハードウェアの最低動作保証環境
Masters | On-Premisのサーバ又は、その上で動作している仮想環境、もしくは、パブリック、プライベートのクラウド環境 |
Base OS: "Minimal" installation のFedora 21, CentOS 7.4, RHEL 7.4 又はそれ以降のバージョン、もしくは RHEL Atomic Host 7.4.5 以上 | |
4 vCPU (4個以上のvCPUを推奨). | |
16 GB RAM (16GB以上のRAMを推奨, 特にetcd をMastersに配置している場合). | |
/var/.に40 GBの空きスペース | |
Minimum 1 GB hard disk space for the file system containing /usr/local/bin/. | |
/usr/local/bin/.に1 GB の空きスペース | |
Masters with a co-located etcd require a minimum of 4 cores. Two-core systems do not work. | |
Nodes | On-Premisのサーバ又は、その上で動作している仮想環境、もしくは、パブリック、プライベートのクラウド環境 |
Base OS: "Minimal" installation のFedora 21, CentOS 7.4, RHEL 7.4 又はそれ以降のバージョン、もしくは RHEL Atomic Host 7.4.5 以上 | |
NetworkManager 1.0以上 | |
1 vCPU. | |
8 GB RAM. | |
/var/.に15 GBの空きスペース | |
/usr/local/bin/.に1 GB の空きスペース | |
/tmp/などの一時ディレクトリに1 GB の空きスペース | |
各コンテナ毎に 15 GB の空きスペース | |
External etcd Nodes | etcd data用に20 GBの空きスペース |
下記のCoreOS etcdの推奨ハードウェア情報を参照 https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/hardware.md#hardware-recommendations |
|
多くのNodesを管理する場合にはetcdをSSDと潤沢なRAMが搭載されたマシンで可動させることを推奨 | |
Ansible controller | 実行するAnsible playbook毎に75MiBの空きRAM |
より詳細なシステム要件を確認される場合は、下記URLをご参照ください。
https://docs.okd.io/latest/install/prerequisites.html#install-config-install-prerequisites
OpenShiftの参考情報
OpenShiftのサポート
- 現在、OpenShiftのサポートは提供していません。