18.4. LDAP グループを自動的に同期する
cron ジョブを設定することにより、LDAP グループを定期的に自動的に同期できます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 LDAP ID プロバイダー (IDP) を設定しました。
この手順は、
ldap-secret
という名前の LDAP シークレットとca-config-map
という名前の設定マップを作成したことを前提としています。
手順
cron ジョブを実行するプロジェクトを作成します。
oc new-project ldap-sync
$ oc new-project ldap-sync
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- この手順では、
ldap-sync
というプロジェクトを使用します。
LDAP ID プロバイダーの設定時に作成したシークレットマップと設定マップを見つけて、この新しいプロジェクトにコピーします。
シークレットマップと設定マップは
openshift-config
プロジェクトに存在し、新しいldap-sync
プロジェクトにコピーする必要があります。サービスアカウントを定義します。
例:
ldap-sync-service-account.yaml
kind: ServiceAccount apiVersion: v1 metadata: name: ldap-group-syncer namespace: ldap-sync
kind: ServiceAccount apiVersion: v1 metadata: name: ldap-group-syncer namespace: ldap-sync
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスアカウントを作成します。
oc create -f ldap-sync-service-account.yaml
$ oc create -f ldap-sync-service-account.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターのロールを定義します。
例:
ldap-sync-cluster-role.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターロールを作成します。
oc create -f ldap-sync-cluster-role.yaml
$ oc create -f ldap-sync-cluster-role.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターロールバインディングを定義して、クラスターロールをサービスアカウントにバインドします。
例:
ldap-sync-cluster-role-binding.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターロールバインディングを作成します。
oc create -f ldap-sync-cluster-role-binding.yaml
$ oc create -f ldap-sync-cluster-role-binding.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 同期設定ファイルを指定する設定マップを定義します。
例:
ldap-sync-config-map.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定マップを作成します。
oc create -f ldap-sync-config-map.yaml
$ oc create -f ldap-sync-config-map.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cron ジョブを定義します。
例:
ldap-sync-cron-job.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- cron ジョブの設定を設定します。cron ジョブ設定の詳細は、「cron ジョブの作成」を参照してください。
- 2
- cron 形式 で指定されるジョブのスケジュール。この例の cron ジョブは 30 分ごとに実行されます。同期の実行にかかる時間を考慮して、必要に応じて周波数を調整します。
- 3
- 完了したジョブを保持する時間 (秒単位)。これは、失敗した以前のジョブを消去して不要なアラートを発生させないように、ジョブスケジュールの期間と同じにする必要があります。詳細は、Kubernetes ドキュメントの TTL-after-finished Controller を参照してください。
- 4
- cron ジョブを実行するための LDAP 同期コマンド。設定マップで定義された同期設定ファイルを渡します。
- 5
- このシークレットは、LDAP IDP が設定されたときに作成されました。
- 6
- この設定マップは、LDAP IDP が設定されたときに作成されました。
cron ジョブを作成します。
oc create -f ldap-sync-cron-job.yaml
$ oc create -f ldap-sync-cron-job.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow