OpenShiftが選ばれる理由
OpenShift Core Value
Container Value | Kubernetes Value | OpenShift Value |
開発スピードと安定性の両立Agility & Reliability | リソースの抽象化Declarative Configuration | 堅牢化されたコンテナ実行環境Trust with Red Hat |
どこでも実行出来るアプリApplication Portability | 自己回復性Self-healing | システムの自律運用化Manage with Simplicity |
一貫した環境の維持Consistent Environment | 自動オートスケールAuto-Scaling | コンテナアプリの本番適用Build fast. Ship first |
他社も同様の価値が言える | OpenShiftの製品価値 |
OpenShiftはKubernetesを補完する付加価値機能を提供
OpenShiftが選ばれる理由
- OpenShift では、Kubernetes コアには含まれてないが、実際には必要な 3rd Party コンポーネントを、パッケージし、サポートと伴に提供しています。
- コンテナの開発、運用に必要なツール類を提供 ( CI/CDツール、Integrated Regstry、Monitoring / Logging / Service Mesh等)。
- OSレイヤー、コンテナ・ベースイメージ(UBI)、基本的なミドルウェアライブラリまで、一貫したサポートを提供します。
- Kuberentes には存在しない、もしくはベータの機能であるような機能でも、拡張機能を提供する事で、エンタプライズ環境でも使いやすくしています。
- ベンダー依存を廃する事で、パブリック・クラウドから、オンプレミスまで、殆どの環境で使用できます。将来の環境変化に対する保険として、ハイブリットクラウドを目指した設計に最適な製品となっています。
Kubernetesが行わないこと
Kubernetesは開発者の基盤を構築するための構成要素を提供しますが、
開発コンポーネントは、ユーザーの選択と柔軟性を維持します。
- サポートするアプリケーションの種類を限定しません。 アプリケーションをコンテナ内で実行できる場合は、Kubernetes上でもうまく動作するはずです。
- ソースコードのデプロイやアプリケーションのビルドを行いません。 継続的インテグレーション、デリバリー、デプロイ(CI/CD)ワークフローは、技術選定がそうであるように、組織の文化や好みによって決まるからです。
- アプリケーションレベルの機能は組み込みでは提供しません。 ミドルウェア(例: Message Buses)、データ処理フレームワーク(例: Spark)、データベース(例: mysql)、キャッシュ、ストレージシステム(例: Ceph)。
- ロギング、モニタリング、アラートソリューションへの指示は行いません。 概念実証(PoC)としていくつかのインテグレーション、およびメトリックを収集およびエクスポートするためのメカニズムを提供します。
- 設定言語/システムを提供も強制もしません。 任意の形式の宣言仕様の対象となる可能性がある宣言APIを提供します。
- 基盤のインフラ構成、保守、管理、またはセルフヒーリングシステムは提供しません。
Kubernetesの適用範囲 (Platform on Platform)
Kubernetesはクラウドの「Linux」。
Kubernetes がカバーする範囲
Kubernetes を本番運用するために必要なもの
OpenShift と Kubernetes の違い
Kubernetes
OpenShift
開発・運用コンポーネント
Cluster services
monitoring, registry, logging
Application services
middleware, functions, ISV
Service mesh
Developer services
dev tools, automated builds, CI/CD, IDE
- 運用ツール群
- 監視、ログ収集、サービスメッシュ監視、CI/CDのための開発ツール
コンテナのベースイメージ + SWライブラリ
PHP, Python, Perl, Ruby, Node.js,, MariaDB, MongoDB, MySQL, PostgreSQL etc
- アプリケーションを作成するのに必要な、ライブラリ類
- PHP, Python, MySQL, Postgre 等の基本アプリケーション
Kubernetes 機能拡張
ocコマンド,OTA, Router (Ingress) , OpenShift Virtualization, Security
- Kuberetes コア単体では足りない部分の補強
-
- Kubernetes がプラグインを前提として本体に機能を持ってない部分。
- 実際の運用要件では足りない部分の機能拡張、追加機能
(専用UI、セキュリティ、テンプレート、OpenShift Virtualization,etc)。
Kubernetes環境を導入するためのOS
Enterprise linux CoreOS
- Kubernetes の Master Node / Worker Node 用の OS
- Kubernetes 環境をホストするためのコンテナ専用OS (CoreOS)
OpenShift 4.8 時点で RHEL 8.4ベース