3.4. プロジェクトとユーザー
3.4.1. ユーザー
OpenShift Online との対話はユーザーに関連付けられます。OpenShift Online ユーザーオブジェクトは、システムでパーミッションを付与できるアクターを表します。
ユーザーにはいくつかのタイプが存在します。
regular user (通常ユーザー) |
これは、大半の対話型の OpenShift Online ユーザーが表示される方法です。通常ユーザーは、初回ログイン時にシステムに自動的に作成され、API で作成できます。通常ユーザーは、 |
system user (システムユーザー) |
これらの多くは、インフラストラクチャーが API と安全に対話できるようにすることを主な目的として定義される際に自動的に作成されます。これらには、クラスター管理者 (すべてのものへのアクセスを持つ)、ノードごとのユーザー、ルーターおよびレジストリーで使用できるユーザー、その他が含まれます。最後に、非認証要求に対してデフォルトで使用される |
service account (サービスアカウント) |
プロジェクトに関連付けられる特殊なシステムユーザーがあります。それらの中には、プロジェクトの初回作成時に自動作成されるものもあれば、プロジェクト管理者が各プロジェクトのコンテンツへのアクセスを定義するために追加で作成するものもあります。サービスアカウントは |
それぞれのユーザーには、OpenShift Online にアクセスするために何らかの認証が必要になります。認証がないか、無効な認証を持つ API 要求は、匿名
システムユーザーによって要求される際に認証されます。認証が実行されると、認可されているユーザーの実行内容がポリシーによって決定されます。
3.4.2. Namespace
Kubernetes namespace はクラスターのリソースのスコープを設定するメカニズムを提供します。OpenShift Online では、プロジェクトは追加のアノテーションを含む Kubernetes namespace です。
Namespace は以下の一意のスコープを提供します。
- 基本的な命名の衝突を避けるための名前付きリソース。
- 信頼されるユーザーに委任された管理権限。
- コミュニティーリソースの消費を制限する機能。
システム内の大半のオブジェクトのスコープは namespace で設定されますが、一部はノードやユーザーを含め、除外され、namaspace が設定されません。
namespace の詳細は、Kubernetes ドキュメントを参照してください。
3.4.3. プロジェクト
プロジェクトは追加のアノテーションを持つ Kubernetes namespace であり、通常ユーザーのリソースへのアクセスが管理される中心的な手段です。プロジェクトはユーザーのコミュニティーが他のコミュニティーとは切り離してコンテンツを編成し、管理することを許可します。ユーザーには、管理者によってプロジェクトへのアクセスが付与される必要があり、許可される場合はプロジェクトを作成でき、それらの独自のプロジェクトへのアクセスが自動的に付与されます。
プロジェクトには、別個の名前
、displayName
、および説明
を含めることができます。
-
必須の
name
はプロジェクトの一意の ID であり、CLI ツールまたは API を使用する場合に最も明確に表示されます。名前の最大長さは 63 文字です。 -
オプションの
displayName
はプロジェクトが Web コンソールで表示される方法を示します (デフォルトはname
に設定されます)。 -
オプションの
description
には、プロジェクトのさらに詳細な記述を施与うでき、これも Web コンソールで表示できます。
各プロジェクトは、以下の独自のセットのスコープを設定します。
Objects | Pod、サービス、レプリケーションコントローラーなど。 |
Policies | ユーザーがオブジェクトに対してアクションを実行できるか、できないかについてのルール。 |
Constraints | 制限を設定できるそれぞれの種類のオブジェクトのクォータ。 |
service account (サービスアカウント) | サービスアカウントは、プロジェクトのオブジェクトへの指定されたアクセスで自動的に機能します。 |
クラスター管理者はプロジェクトを作成でき、プロジェクトの管理者権限をユーザーコミュニティーの任意のメンバーに委任できます。クラスター管理者は、開発者が独自のプロジェクトを作成することも許可できます。
開発者および管理者は、CLI または Web コンソールを使用してプロジェクトとの対話を実行できます。
3.4.3.1. インストール時にプロビジョニングされるプロジェクト
OpenShift Online には追加設定なしで使用できる数多くのプロジェクトが含まれますが、 openshift
はユーザーにとって最も重要なプロジェクトになります。
openshift
ユーザーに表示されるプロジェクトで、主に日常的なタスクのオブジェクトを格納するために使用されます。これらには、テンプレートやイメージなどの複数プロジェクトでアクセスされるアプリケーションオブジェクトが含まれます。これらのオブジェクトは、Pod 間の通信を必要としないものである必要があります。
3.4.4. プロジェクトのアイドリング
OpenShift Online Starter では、24 時間を超えて非アクティブな状態が続くプロジェクトがアイドル状態になります。プロジェクトのネットワークアクティビティーが設定されたしきい値を下回ると、プロジェクトは非アクティブとみなされます。プロジェクトがアイドル状態になる場合、レプリカ数は 0
に設定され、すべての Pod が削除されます。プロジェクトの永続ボリューム (PV) および Persistent Volume Claim(永続ボリューム要求、PVC)はすべて変更されないままになります。ネットワークトラフィックを受信すると、レプリカ数はアイドル状態になる前の値にスケーリングされます。
Web コンソールでは、デプロイメントが 非アクティブのためのアイドル状態 として表示され、デプロイメントのスケールアップは手動で実行できます。
ネットワークトラフィックがプロジェクトのレプリカ数を復元しない場合、デプロイメントを手動でスケールアップする必要がある場合があります。
3.4.5. アカウントのプルーニング
OpenShift Online Starter アカウントが非アクティブである場合 (3 日間プロジェクトに実行中の Pod がない場合)、アカウントのプロビジョニング解除について警告メールが送信されます。修正アクションを実行せず、Pod を 5 日以内に作成しないと、アカウントは自動的にプロビジョニング解除されます。アカウントのプロビジョニングが解除されると、再度登録できます。