編集済み 3 数か月前 によって ExtremeHow 編集チーム
オープンシフトクバネティスコンテナデプロイメントデブオプスレッドハットクラウド設定コマンドラインマルチクラスター
翻訳が更新されました 5 数か月前
OpenShiftは、コンテナ化されたアプリケーションを簡単にオーケストレーションおよび管理するために設計された、人気のあるオープンソースのコンテナアプリケーションプラットフォームです。Kubernetesを基盤とし、OpenShiftはその機能をエンタープライズ対応の追加機能で拡張します。これにより、開発者やITチームがハイブリッド環境でアプリケーションを継続的にデプロイしたい場合に強力なソリューションとなります。このガイドでは、Linuxオペレーティングシステム上でOpenShiftを使用してアプリケーションをデプロイするために必要なステップを探求します。私たちの目標は、基本的な知識を持つユーザーでも理解し実施できるような、明確で簡単な指示を提供することです。
デプロイメントの具体的な方法に入る前に、OpenShiftが特別なプラットフォームである理由を理解することが重要です。OpenShiftは、Red Hatが提供するDockerコンテナとKubernetesに基づくPlatform-as-a-Service (PaaS)の製品です。これはつまり、OpenShiftはコンテナ化を使用してアプリケーションがより効率的に開発、出荷、およびデプロイされることを保証し、Kubernetesはオーケストレーションを提供し、これらすべてのコンテナを効果的に管理します。
OpenShiftは、開発者がコードを書くことに集中できる環境を提供し、プラットフォームがスケーリング、モニタリング、ロードバランシングなどの運用面を処理します。
OpenShiftでアプリケーションをデプロイし始める前に、いくつかの前提条件を満たす必要があります:
oc
コマンドラインツールとしても知られる)がマシンにインストールされていること。これらの前提条件が整ったら、OpenShiftにアプリケーションをデプロイするプロセスに進むことができます。
最初に、OpenShiftクラスターにログインする必要があります。このためにはoc
コマンドラインツールを使用します。ターミナルを開いて次のコマンドを入力します:
$ oc login https://<your-openshift-api-url> --token=<your-login-token>
<your-openshift-api-url>
と<your-login-token>
を、特定のAPIサーバーURLおよび認証トークンに置き換える必要があります。認証トークンは通常、OpenShiftコンソールのユーザー設定で見つけることができます。
OpenShiftでは、アプリケーションはプロジェクト内にデプロイされます。プロジェクトをリソース、ユーザー、およびアプリケーションを管理できる作業空間またはサンドボックスとして考えてください。
次のコマンドを使用して新しいプロジェクトを作成します:
$ oc new-project my-nodejs-app --display-name="My NodeJS App" --description="This project deploys a NodeJS application"
このコマンドは、my-nodejs-app
という名前の新しいプロジェクトを、ディスプレイ名と説明付きで作成します。
OpenShiftはアプリケーションをデプロイするためのいくつかの方法を提供しています。一番簡単な方法はoc new-app
コマンドを使用することです。
例えば、あなたがNode.jsのアプリケーションを持っているとします。それを次のようにデプロイできます:
$ oc new-app nodejs:12~https://github.com/username/my-nodejs-app.git
このコマンドはOpenShiftに、Node.jsバージョン12を使用して指定したGitHubリポジトリから取得する新しいアプリケーションを作成するよう指示します。チルダ記号(~
)は、OpenShiftが指定されたリポジトリのソースコードからイメージをビルドするためにSource-to-Image(S2I)を使用することを示します。
デフォルトでは、OpenShift上にデプロイされたアプリケーションは外部からアクセスできません。インターネット経由でアプリにアクセスするためには、アプリのルートを作成する必要があります。
次のコマンドを使用してサービスを公開します:
$ oc expose svc/my-nodejs-app
これにより、サービスに基づいたOpenShiftルートが作成され、アプリケーションが外部URLからアクセス可能になります。URLを確認するには、次を使用します:
$ oc get route
ブラウザを開いてURLにアクセスし、アプリケーションが正しく実行されているか確認してください。
OpenShiftは、トラフィックが増えた時にアプリケーションを簡単にスケーリングすることができます。スケーリングは、アプリケーションのニーズに基づいてコンテナインスタンス(レプリカ)の数を増減させるプロセスです。
インスタンスの数を増やすには、次を使用します:
$ oc scale --replicas=3 deployment/my-nodejs-app
これにより、デプロイメントは3つのインスタンスに増えます。より多くのレプリカがあることで、OpenShiftは各レプリカに渡る負荷を効果的にバランスできます。
OpenShiftは、Horizontal Pod Auto-Scaler機能を使用したCPU使用量に基づく自動スケーリングのオプションも提供しています。
本番環境でのアプリケーション監視は重要です。OpenShiftは監視のためのいくつかのツールとインターフェースを提供しています。
oc logs <pod-name>
を使って特定のコンテナのログを表示します。これにより問題をデバッグし、アプリケーションの流れを検査するのに役立ちます。これらの監視ツールを使用して、アプリケーションがスムーズに動作しているか確認し、発生する可能性のある問題をトラブルシュートしてください。
OpenShiftを使用する利点の1つは、アプリケーション更新のプロセスが簡素化されることです。自動的にアプリケーションに更新をデプロイする継続的インテグレーションおよび配信(CI/CD)パイプラインを実装することができます。
手動で更新する場合、アプリケーションを更新したい場合、通常ソースイメージを更新することを意味します。Gitリポジトリに新しい変更を加えた場合、OpenShiftで新しいビルドをトリガーします:
$ oc start-build my-nodejs-app
このコマンドは、アプリケーションの新しいビルドを開始します。ビルドが完了すると、OpenShiftは実行中のインスタンスに変更を自動的に配信します。
LinuxでOpenShiftを使用してアプリケーションをデプロイすることは、コンテナ化されたアプリケーションのスケーラビリティ、安定性、および簡単な管理を活用する強力な方法です。このガイドで説明した通りの構造化された設定とデプロイメントに従うことにより、OpenShiftの可能性を最大限に活用することができます。
これはあくまで始まりに過ぎません。OpenShiftは、ステートフルなアプリケーションの実行、複雑なネットワーク設定、他のサービスとの統合を含む幅広い機能をサポートしています。基本的なデプロイメントに慣れてきたら、これらの高度な機能を探求して、OpenShiftを最大限に活用してください。
強力なコミュニティと充実したドキュメントがあるため、OpenShiftでアプリケーションをデプロイする際に直面する可能性のあるあらゆる課題や要件を解決するのに良い手助けになります。
記事の内容に誤りがある場合, あなたは