「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- コンテナベースのソフトウェアの配備・管理のRed Hat製品。
- 具体的には、
- DockerコンテナとDevOps?ツールを使用して、アプリケーション開発を高速化する。
- 豊富な機能を備えたポータルとコマンドラインツールが同梱し、
デプロイされたアプリケーションを操作するためのUI/UXをユーザに提供する。
経緯 †
アーキテクチャ †
v2以前 †
コンポーネントは、大分すると、BrokerとNodeに分けられる。
Broker †
アプリケーションのデプロイ、認証・認可、各種データの保存などを担っている。
Node †
アプリケーションやサービスのホスト。
- Webブラウザなどからのアプリケーションへのアクセスは、
Nodeごとのリバースプロキシを経由し、各Gearに分配される。
- Cartridgeと呼ばれる、各種実行環境のテンプレートが用意されており、
それを基にGearと呼ばれるアプリケーションの実行単位を構成する。
- データベースもCartridgeの1つとして用意され、
アプリケーションごとにGearとして動作する仕組み。
- 対応言語、フレームワーク、データベースを追加したい場合、Cartridgeを追加する。
v3以降 †
Docker関連 †
OpenShiftがノードのDockerデーモンにイメージの実行を要求する。
Dockerイメージ †
概要 †
- 展開された "vanilla"(標準的の意味) Dockerイメージを
取得するために実行する必要があるのは、これらのコマンドのほんの一部。
- ベストプラクティスに従うすべてのDockerイメージで機能する。
- EXPOSEポートの定義
- ルートユーザまたは特定のユーザ名として実行しない
- 開始時に実行する1つの非終了CMDなど
root †
- デフォルトでrootとして実行されるDockerイメージの展開を許可していない。
- root(または特定のユーザ)として実行されることを想定した
Dockerイメージの展開を許可したい場合、小さな構成変更が必要になる。
プロジェクト †
展開を整理するのに役立つ最上位コンセプト。
- ユーザーが他のユーザーとは別に、
コンテンツを整理して管理することができる。
- 各プロジェクトには、独自の
- リソース、ポリシー(アクションを実行できるかどうか)
- 制約(リソースのクォータと制限など)
などがある。
ocコマンド †
ファースト・ステップで説明されていたコマンド。
oc login †
ログインする。
oc new-project †
プロジェクトを作成する。
oc new-project <projectname>
new-app †
- 外部アクセスのため一意のIPアドレスとポートのペアが割り当てられる。
- ただし、既定では、作成したサービスは外部に公開されない。
- サービスIPは、サービスの生存期間中は決して変更されない。
- また、内部プロキシ/ロードバランサとしても機能する。
oc get †
以下のオプションを指定して取得できる。
project(s) †
- projects
- project ProjectName?
pod(s) †
service(s) †
- services
- service ServiceName?
route(s) †
oc describe †
以下のオプションを指定して描画できる。
project(s) †
- projects
- project ProjectName?
pod(s) †
service(s) †
- services
- service ServiceName?
route(s) †
oc expose service †
参考 †