OpenShift とは?

OpenShift とは?

OpenShift は、開発者や運用エンジニア、さらには DevOps の専門家がコンテナー化されたアプリケーションやワークロードを実行できるようにするプラットフォームです。 内部では Kubernetes を利用していますが、DevOps チームの作業を簡素化する追加のアーキテクチャ レイヤーがあります。 OpenShift は、エンタープライズ ソフトウェアのスペシャリストである Red Hat が提供するもので、アプリケーションの実行場所に関係なく、さまざまな自動化オプションとライフサイクル管理を提供します。

OpenShift の定義

OpenShift は、クラウドベースのコンテナー オーケストレーション プラットフォームとして最もよく説明されていますが、「オンプレミス」バージョンを入手することもできます。 Red Hat の OpenShift いくつかの異なる「フレーバー」があります。 IBMは彼らを呼びたがります. を搭載したオープンソース版があります 大丈夫D または元のキーの配布。 OpenShift の有料バージョンには専用のサポートが付属していますが、バージョン ライフサイクル内のみです。 たとえば、OpenShift 4.12 は 17 年 2023 月 2025 日に公開され、XNUMX 年 XNUMX 月までサポートされます。

OpenShift アーキテクチャはあらゆる環境で動作します。 OSは通常Linuxですが、Centosも利用できます。 その上がスタンダード Kubernetes 層。 ただし、Kubernetes を OpenShift に変換する追加のレイヤーもあります。 

OpenShift は、アプリケーションの開発、展開、およびスケーリングをサポートすると同時に、開発インフラストラクチャを保護し、高レベルの セキュリティ。 考慮 サイバー攻撃が 38% 増加 2022 年に世界中で、これは多くの開発者にとって重要なメリットです。

OpenShift と他のコンテナー オーケストレーション プラットフォームの違い

他のコンテナ オーケストレーション プラットフォームは、個人の開発者から中小企業まであらゆる人を対象としていますが、OpenShift は大企業向けに販売されています。 このプラットフォームには、迅速な導入を促進するように設計された機能に加えて、OpenShift Dedicated や OpenShift on IBM Cloud などの一連のサービスが含まれています。 

OpenShift は、企業がクラウドネイティブ開発に移行し、継続的な統合とデリバリーを完全に受け入れることを可能にします (CI / CD)。 さまざまなレベルの自動化により、日常のタスクが簡素化され、DevOps が解放されて他のタスクに時間を費やすことができます。

OpenShift は、すぐに使える一連のエンタープライズ対応サービスを提供します。 Amazon EKS や Google Kubernetes Engine (GKE) など、利用可能なコンテナ オーケストレーション サービスは他にもたくさんあります。 ただし、これらのいずれにも、完全な展開および配信ソリューションとして役立つようにするために、企業が投資する必要がある追加のサービスが複数あることがよくあります。 

OpenShift は、単一のプラットフォームを使用して迅速に構築、デプロイ、スケーリングできるようにしたい企業にとって、より望ましいソリューションです。

OpenShift の主な機能

OpenShift はイメージ ストリームを利用して、コンテナー イメージをクラスターにシフトします。 イメージ ストリームを使用すると、自動化によって変更を行うことができます。 基本的に、ソース コードに何らかの変更が加えられるとすぐに、イメージ ストリームにより、開発者は最小限のアプリケーション ダウンタイムでそれらの変更をプッシュできます。

OpenShift はクラウドベースであるため、あらゆるインフラストラクチャで動作し、マルチプラットフォーム開発に最適です。 開発者は、さまざまなエコシステムに合わせてコーディング方法を常に変更する必要はありません。

OpenShift にはアップストリームの Kubernetes と Linux CoreOS がすぐに使えるため、ワンストップ ソリューションです。

OpenShift 4.12 の新機能には、IBM Secure Execution の組み込み、OpenShift Container Platform を既存の VPC にインストールする機能、およびクラスターのインストール時に機能セットを有効にする機能が含まれます。

OpenShift によるスケーリング

アプリがより多くのユーザー ベースを獲得したり、追加のタスクを実行する必要がある場合、スケーラビリティは課題になる可能性があります。 OpenShift は、大規模なクラスターまたは追加のホストの展開をサポートし、 推奨されるベストプラクティス アプリケーションが大きくなっても、持続的な高いパフォーマンスを保証します。 たとえば、デフォルトのクラスタ ネットワークは次のとおりです。

cidr 10.128.0.0/14

ただし、このネットワークでは、最大 500 ノードのクラスターしか許可されません。 OpenShift のドキュメントでは、次のいずれかのネットワークに切り替える方法について説明しています。

10.128.0.0 / 12または10.128.0.0 / 10

これらのネットワークは、500 を超えるノードを持つクラスターの作成をサポートします。

OpenShift を使用すると、開発者はパフォーマンスや速度を低下させることなく、コンテナーの「スタック」を作成できます。

OpenShift は、Ansible Playbook などのスケーリングをサポートするために、技術スタック内の他のツールも利用しています。 Ansible はインフラストラクチャ自動化のためのオープンソース ツールであり、最初は Red Hat によって開発されました。 Ansible Playbook を利用することで、OpenShift を使用すると、開発者は新しいホストを迅速に作成してクラスターに取り込むことができるため、スケールアップまたはスケールダウンがこれまでになく簡単になります。

OpenShift のユースケース

OpenShift は、既存のアプリをモダナイズするだけでなく、新しいアプリを作成するのにも理想的です。 アップグレードと変更の展開を変換し、容易なスケーリングを可能にします。 OpenShift はあらゆるクラウドで実行されるため、アプリケーションの安全性と安定性を確保しながら、アプリケーションの将来性を効果的に保証します。 ユースケースは次のとおりです。

  • 既存の Web アプリをコンテナー化された環境にリフト アンド シフトする
  • クラウドネイティブ アプリケーションの開発
  • 分散型マイクロサービスによるアプリの作成
  • 新しいサービスや機能を既存のアプリにすばやく追加する

この最後のポイントは、継続的インテグレーションと継続的デリバリー (CI/CD) の重要な機能であり、熱心なユーザー ベースを維持するために不可欠です。 たとえば、ペルーの金融機関である Caja Municipal Ica は、定期的に OpenShift を使用して ユーザーが利用できるサービスの数を増やす そのため、取引ごとに銀行に行く必要はありませんでした。 これにより、すべての移行コストが 3% 削減されました。

継続的インテグレーションとデリバリー (CI/CD) の実装

CI/CD は、自動化を使用してアプリケーションの更新と調整を最小限のダウンタイムで可能な限り迅速に行う、成長している開発アプローチです。 コンテナー化された開発環境は、展開前にテストを分離して実行できるようにすることで、継続的な統合 (小さなコード変更の迅速なテストと展開) を既にサポートしています。 OpenShift は、簡素化されたインターフェースにより人的エラーのリスクを軽減し、開発者が一貫したプロセスを維持できるようにすることで、CI/CD パイプラインをさらに効率的にします。

研究ショー CI/CD の利点は明らかですが、すべての組織がこの移行を行う能力に自信を持っているわけではありません。 OpenShift は、開発者が CI/CD 文化を受け入れ、アプリをより迅速にユーザーに提供できるようにすることで、企業のデジタル トランスフォーメーションの取り組みを最大化するのに役立ちます。

OpenShift はオブジェクトのテンプレートを提供し、Jenkins のジョブとパイプラインを利用して自動化を改善し、すべてのアプリケーションの開発と展開の CI/CD を促進します。

OpenShift クラスターを使用してセットアップおよびデプロイする方法

まず、開発者または DevOps の専門家が OpenShift にアクセスする必要があります。 無料版は自分でダウンロードして管理できますが、完全管理版は Red Hat から購入する必要があります。 ホストされたバージョンの OpenShift をサブスクライブすると、OpenShift 環境を使用してデプロイするために必要な安全な資格情報が得られます。 

OpenShift を操作する最も簡単な方法は、Web コンソールを使用することです。 oc コマンドライン ツールもあります。 

あらゆるタイプのアプリケーションをデプロイする前に、「プロジェクト」を作成する必要があります。 これには、アプリケーションに関連するすべてが含まれます。

この時点で、Web コンソールを使用してコラボレーターを追加することもできます。

次のようなさまざまな方法で、アプリケーションを OpenShift クラスターにデプロイできます。

  • OpenShift クラスターの外部でホストされている既存のコンテナー イメージを使用する
  • OpenShift クラスター内のイメージ レジストリにインポートされた既存のコンテナー イメージを使用する
  • Git リポジトリ ホスティング サービスのソース コードを使用する

OpenShift は、複数のコンポーネントを含むアプリの展開を簡素化するためのテンプレートも提供します。 テンプレート内に独自のパラメーターを設定して、展開プロセスを完全に制御します。 これらにアクセスするには、コンソールの「プロジェクトに追加」機能を使用します。 ここには、CI/CD に特化したセクション全体があります。 

コンソールの「Deploy Image」タブまたは CLI の「oc new-app」を使用して、イメージ ストリーム タグを入力します。 ここから、そのコンテナー イメージのインスタンスをさらに追加することで、監視やスケールアップを行うことができます。 Red Hat は多くの 無料のリソース OpenShift の展開に関心のあるすべてのユーザー向け。 多くの企業にとって、OpenShift によってアプリの開発と配信プロセスの信頼性と効率が飛躍的に向上することは明らかです。