第2章 プロジェクト
2.1. プロジェクトの使用
プロジェクト を使用することにより、あるユーザーコミュニティーは、他のコミュニティーと切り離された状態で独自のコンテンツを整理し、管理することができます。
openshift-
および kube-
で始まる名前のプロジェクトは デフォルトプロジェクト です。これらのプロジェクトは、Pod として実行されるクラスターコンポーネントおよび他のインフラストラクチャーコンポーネントをホストします。そのため、OpenShift Container Platform では oc new-project
コマンドを使用して openshift-
または kube-
で始まる名前のプロジェクトを作成することができません。クラスター管理者は、oc adm new-project
コマンドを使用してこれらのプロジェクトを作成できます。
デフォルト namespace (default
、kube-system
、kube-public
、openshift-node
、openshift-infra
、openshift
) のいずれかに作成された Pod に SCC を割り当てることはできません。これらの namespace は Pod またはサービスを実行するために使用することはできません。
2.1.1. Web コンソールを使用したプロジェクトの作成
クラスター管理者が許可する場合、新規プロジェクトを作成できます。
openshift-
および kube-
で始まる名前のプロジェクトは OpenShift Container Platform によって重要 (Critical) と見なされます。そのため、OpenShift Container Platform では、Web コンソールを使用して openshift-
で始まる名前のプロジェクトを作成することはできません。
デフォルト namespace (default
、kube-system
、kube-public
、openshift-node
、openshift-infra
、openshift
) のいずれかに作成された Pod に SCC を割り当てることはできません。これらの namespace は Pod またはサービスを実行するために使用することはできません。
手順
-
Home
Projects に移動します。 - Create Project をクリックします。
- プロジェクトの詳細を入力します。
- Create をクリックします。
2.1.2. Web コンソールでの開発者パースペクティブを使用したプロジェクトの作成
OpenShift Container Platform Web コンソールの Developer パースペクティブを使用し、クラスターでプロジェクトを作成できます。
openshift-
および kube-
で始まる名前のプロジェクトは OpenShift Container Platform によって重要 (Critical) と見なされます。そのため、OpenShift Container Platform では、Developer パーステクティブを使用して、 openshift-
または kube-
で始まる名前のプロジェクトを作成することはできません。クラスター管理者は、oc adm new-project
コマンドを使用してこれらのプロジェクトを作成できます。
デフォルト namespace (default
、kube-system
、kube-public
、openshift-node
、openshift-infra
、openshift
) のいずれかに作成された Pod に SCC を割り当てることはできません。これらの namespace は Pod またはサービスを実行するために使用することはできません。
前提条件
- OpenShift Container Platform のプロジェクト、アプリケーション、および他のワークロードを作成するために適切なロールおよびパーミッションがあることを確認します。
手順
以下のように、Developer パースペクティブを使用してプロジェクトを作成できます。
Project ドロップダウンメニューをクリックし、利用可能なすべてのプロジェクトの一覧を表示します。Create Project を選択します。
図2.1 Create project
-
Create Project ダイアログボックスで、Name フィールドに、
myproject
などの一意の名前を入力します。 - オプション: プロジェクトの Display Name および Description の詳細を追加します。
- Create をクリックします。
- 左側のナビゲーションパネルを使用して Project ビューに移動し、プロジェクトのダッシュボードを確認します。
オプション。
- 画面上部の Project ドロップダウンメニューで、all projects を選択し、クラスターのすべてのプロジェクトを一覧表示します。
- Details タブを使用してプロジェクトの詳細を表示します。
- プロジェクトに対する適切なパーミッションがある場合は、Project Access タブを使用して、プロジェクトの administrator、edit、および view 権限を提供するか、または取り消します。
2.1.3. CLI を使用したプロジェクトの作成
クラスター管理者が許可する場合、新規プロジェクトを作成できます。
openshift-
および kube-
で始まる名前のプロジェクトは OpenShift Container Platform によって重要 (Critical) と見なされます。そのため、OpenShift Container Platform では oc new-project
コマンドを使用して openshift-
または kube-
で始まる名前のプロジェクトを作成することができません。クラスター管理者は、oc adm new-project
コマンドを使用してこれらのプロジェクトを作成できます。
デフォルト namespace (default
、kube-system
、kube-public
、openshift-node
、openshift-infra
、openshift
) のいずれかに作成された Pod に SCC を割り当てることはできません。これらの namespace は Pod またはサービスを実行するために使用することはできません。
手順
以下を実行します。
$ oc new-project <project_name> \ --description="<description>" --display-name="<display_name>"
以下に例を示します。
$ oc new-project hello-openshift \ --description="This is an example project" \ --display-name="Hello OpenShift"
作成できるプロジェクトの数は、システム管理者によって制限される場合があります。上限に達すると、新規プロジェクトを作成できるように既存プロジェクトを削除しなければならない場合があります。
2.1.4. Web コンソールを使用したプロジェクトの表示
手順
-
Home
Projects に移動します。 表示するプロジェクトを選択します。
このページで、Workloads をクリックして、プロジェクトのワークロードを確認します。
2.1.5. CLI を使用したプロジェクトの表示
プロジェクトを表示する際は、認証ポリシーに基づいて、表示アクセスのあるプロジェクトだけを表示できるように制限されます。
手順
プロジェクトの一覧を表示するには、以下を実行します。
$ oc get projects
CLI 操作について現在のプロジェクトから別のプロジェクトに切り換えることができます。その後の操作についてはすべて指定のプロジェクトが使用され、プロジェクトスコープのコンテンツの操作が実行されます。
$ oc project <project_name>
2.1.6. 開発者パースペクティブを使用したプロジェクトに対するアクセスパーミッションの提供
Developer パースペクティブで Project ビューを使用し、プロジェクトに対するアクセスを付与したり、取り消したりできます。
手順
ユーザーをプロジェクトに追加し、Admin、Edit、または View アクセスをユーザーに付与するには、以下を実行します。
- Developer パースペクティブで、Project ビューに移動します。
- Project ページで、Project Access タブを選択します。
Add Access をクリックして、パーミッションの新規の行をデフォルトパーミッションに追加します。
図2.2 プロジェクトパーミッション
- ユーザー名を入力し、Select a role ドロップダウンリストをクリックし、適切なロールを選択します。
- Save をクリックして新規パーミッションを追加します。
以下を使用することもできます。
- Select a role ドロップダウンリストを使用して、既存ユーザーのアクセスパーミッションを変更できます。
- Remove Access アイコンを使用して、既存ユーザーのプロジェクトへのアクセスパーミッションを完全に削除できます。
高度なロールベースのアクセス制御は、Administrator パースペクティブの Roles および Roles Binding ビューで管理されます。
2.1.7. 開発者パースペクティブを使用した利用可能なクラスターロールのカスタマイズ
プロジェクトのユーザーは、アクセス制御に基づいてクラスターロールに割り当てられます。Project
プロジェクトのクラスターロールを追加または編集するには、クラスターの YAML コードをカスタマイズできます。
手順
プロジェクトの異なるクラスターロールをカスタマイズするには、以下を実行します。
-
Search ビューで、Resources ドロップダウンリストを使用して
Console
を検索します。 利用可能なオプションから、Console
operator.openshift.io/v1
を選択します。図2.3 コンソールリソースの検索
- Name リストで cluster を選択します。
- YAML タブに移動し、YAML コードを表示し、編集します。
spec
の YAML コードで、availableClusterRoles
の一覧を追加または編集し、変更を保存します。spec: customization: projectAccess: availableClusterRoles: - admin - edit - view
2.1.8. プロジェクトへの追加
手順
- Web コンソールのナビゲーションメニューの上部にあるコンテキストセレクターから Developer を選択します。
- +Add をクリックします。
- ページの上部で、追加するプロジェクトの名前を選択します。
- プロジェクトに追加する方法をクリックし、ワークフローに従います。
また、クイック検索を使用してコンポーネントをトポロジーに追加することもできます。
2.1.9. Web コンソールを使用したプロジェクトステータスの確認
手順
-
Home
Projects に移動します。 - ステータスを確認するプロジェクトを選択します。
2.1.10. CLI を使用したプロジェクトステータスの確認
手順
以下を実行します。
$ oc status
このコマンドは、コンポーネントとそれらの各種の関係を含む現在のプロジェクトの概要を示します。
2.1.11. Web コンソールを使用したプロジェクトの削除
OpenShift Container Platform Web コンソールを使用してプロジェクトを削除できます。
プロジェクトを削除するパーミッションがない場合は、Delete Project オプションが選択できなくなります。
手順
-
Home
Projects に移動します。 - プロジェクトの一覧から削除するプロジェクトを見つけます。
- プロジェクト一覧の右側にある Options メニュー から Delete Project を選択します。
- Delete Project ペインが開いたら、フィールドから削除するプロジェクトの名前を入力します。
- Delete をクリックします。
2.1.12. CLI を使用したプロジェクトの削除
プロジェクトを削除する際に、サーバーはプロジェクトのステータスを Active から Terminating に更新します。次に、サーバーは Terminating 状態のプロジェクトからすべてのコンテンツをクリアしてから、最終的にプロジェクトを削除します。プロジェクトのステータスが Terminating の場合、新規のコンテンツをプロジェクトに追加することはできません。プロジェクトは CLI または Web コンソールから削除できます。
手順
以下を実行します。
$ oc delete project <project_name>