1.4. デフォルトの Argo CD インスタンスを設定する


Operator は openshift-gitops namespace にデフォルトの Argo CD インスタンスを作成しますが、アプリケーションのデプロイやクラスター設定で便利に使用するためには設定が必要です。

  • ロールベースのアクセス制御 (RBAC) を設定する: Argo CD は独自の RBAC 設定を使用します。ユーザーが割り当てられている OpenShift Container Platform クラスターグループによっては、Operator が設定するデフォルトの権限では不十分な可能性があります。
  • 権限を設定する: Operator は、デフォルトインスタンスにデフォルトの Kubernetes 権限セットを設定します。しかし、ただし、リアルタイム環境でアプリケーションをデプロイする場合、これらの権限では不十分です。したがって、このデフォルトインスタンスに追加の権限を付与する必要があります。

1.4.1. RBAC の設定

ユーザーに、デフォルトインスタンスを操作するために十分なアクセス権を付与するには、RBAC を設定する必要があります。

インスタンスの defaultPolicy は空の文字列です。つまり、ロールは自動的に割り当てられません。ユーザーはインスタンスにログインできますが、Argo CD UI または CLI で何かを表示したりタスクを実行したりする権限はありません。

インスタンスには次の 2 つのグループが含まれます。

  • system:cluster-admins: このグループは一時的な kube-admin 認証情報にのみ適用されるため、無視できます。
  • cluster-admins: ユーザーをこのグループに追加すると、Argo CD Web コンソールでアプリケーションのデプロイなどのタスクを実行できるようになります。
注記

デフォルト権限の制限:

defaultPolicy パラメーターに付与された権限は取り消すことができないため、必ず空の文字列または deny-all タイプのロールを使用してください。つまり、権限の付与方法として defaultPolicy パラメーターを設定することは推奨されません。

前提条件

  • cluster-admin 権限で OpenShift Container Platform クラスターにアクセスするためのログイン認証情報がある。
  • oc CLI をインストールした。

手順

  1. Operator がデフォルトインスタンスに設定した RBAC を表示します。

    $ oc get argocd openshift-gitops -n openshift-gitops -o=jsonpath='{.spec.rbac}'
    Copy to Clipboard Toggle word wrap

    出力

    {"defaultPolicy":"","policy":"g, system:cluster-admins, role:admin\ng, cluster-admins, role:admin\n","scopes":"[groups]"}
    Copy to Clipboard Toggle word wrap

  2. cluster-admins グループが存在するか確認します。

    $ oc get groups
    Copy to Clipboard Toggle word wrap
  3. 以下のいずれかの手順を実行します。

    • グループが存在しない場合は、グループを作成してユーザーを追加します。

      $ oc adm groups new cluster-admins <user>
      Copy to Clipboard Toggle word wrap

      ここでは、以下のようになります。

      <user>

      そのグループに追加するユーザーを示します。

      出力例

      group.user.openshift.io/cluster-admins created
      Copy to Clipboard Toggle word wrap

    • グループが存在する場合は、前に実行した oc get groups コマンドの出力で、ユーザーがそのグループに属しているか確認します。ユーザーがグループに属していない場合は、ユーザーをグループに追加します。

      $ oc adm groups add-users cluster-admins <user>
      Copy to Clipboard Toggle word wrap

      ここでは、以下のようになります。

      <user>

      そのグループに追加するユーザーを示します。

      出力例

      group.user.openshift.io/cluster-admins added: "<user>"
      Copy to Clipboard Toggle word wrap

検証

  • cluster-admins グループが存在し、ユーザーがそのグループに属していることを確認します。

    $ oc get groups cluster-admins
    Copy to Clipboard Toggle word wrap

    出力では、cluster-admins グループが表示され、そこにユーザーが割り当てられています。

重要

cluster-admins グループを作成または編集した後は、グループをユーザーに関連付けるために、Argo CD Web コンソールからログアウトしてから再度ログインします。User Info ページで、ユーザーが Argo CD 内の cluster-admins グループに属していることを確認してください。

1.4.2. 権限の設定

デフォルトの Argo CD インスタンスにはデフォルトの Kubernetes 権限セットが自動的に設定されますが、クラスター設定に必要なすべてのリソースをデプロイするには、追加の権限を付与する必要があります。逆に、デフォルトインスタンスに対してより制限的な権限を設定して特定のリソースのみをデプロイする必要がある場合は、追加の設定を通じてそれを実現できます。

注記

デフォルトの Kubernetes 権限セットの詳細は、「関連情報」を参照してください。

クラスター設定にデフォルトインスタンスを使用する場合は、Argo CD アプリケーションコントローラーサービスアカウントに cluster-admin 権限を付与します。その場合は、openshift-gitops-argocd-application-controller サービスアカウントの ClusterRoleBinding オブジェクトを作成します。なぜなら、デフォルトインスタンスは、Kubernetes API と対話してリソースをデプロイするためにこのアカウントを使用するからです。

前提条件

  • cluster-admin 権限で OpenShift Container Platform クラスターにアクセスするためのログイン認証情報がある。
  • oc CLI をインストールした。

手順

  • 以下のコマンドを実行します。

    $ oc adm policy add-cluster-role-to-user --rolebinding-name="openshift-gitops-cluster-admin" cluster-admin -z openshift-gitops-argocd-application-controller -n openshift-gitops
    Copy to Clipboard Toggle word wrap

    出力例

    clusterrole.rbac.authorization.k8s.io/cluster-admin added: "openshift-gitops-argocd-application-controller"
    Copy to Clipboard Toggle word wrap

検証

  • 作成された ClusterRoleBinding オブジェクトを表示します。

    $ oc get clusterrolebinding openshift-gitops-cluster-admin -o yaml
    Copy to Clipboard Toggle word wrap

    出力例

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: openshift-gitops-cluster-admin
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
      - kind: ServiceAccount
        name: openshift-gitops-argocd-application-controller
        namespace: openshift-gitops
    Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat