4.3. 永続ストレージの設定
メータリングは非推奨の機能です。非推奨の機能は依然として OpenShift Container Platform に含まれており、引き続きサポートされますが、本製品の今後のリリースで削除されるため、新規デプロイメントでの使用は推奨されません。
OpenShift Container Platform で非推奨となったか、または削除された主な機能の最新の一覧については、OpenShift Container Platform リリースノートの 非推奨および削除された機能セクションを参照してください。
メータリングでは、メータリング Operator によって収集されるデータを永続化し、レポートの結果を保存するための永続ストレージが必要です。数多くの異なるストレージプロバイダーおよびストレージ形式がサポートされています。ストレージプロバイダーを選択し、設定ファイルのサンプルを変更して、メータリングのインストール用に永続ストレージを設定します。
4.3.1. Amazon S3 でのデータの保存
メータリングは既存の Amazon S3 バケットを使用するか、またはストレージのバケットを作成できます。
メータリングは S3 バケットデータを管理したり、削除したりしません。メータリングデータを保存するために使用される S3 バケットを手動でクリーンアップする必要があります。
手順
s3-storage.yaml
ファイルのspec.storage
セクションを編集します。例:
s3-storage.yaml
ファイルapiVersion: metering.openshift.io/v1 kind: MeteringConfig metadata: name: "operator-metering" spec: storage: type: "hive" hive: type: "s3" s3: bucket: "bucketname/path/" 1 region: "us-west-1" 2 secretName: "my-aws-secret" 3 # Set to false if you want to provide an existing bucket, instead of # having metering create the bucket on your behalf. createBucket: true 4
- 1
- データを格納するバケットの名前を指定します。オプション: バケット内でパスを指定します。
- 2
- バケットのリージョンを指定します。
- 3
data.aws-access-key-id
およびdata.aws-secret-access-key
フィールドに AWS 認証情報を含むメータリング namespace のシークレットの名前。詳細は、以下のSecret
オブジェクトのサンプルを参照してください。- 4
- 既存の S3 バケットを指定する必要がある場合や、
CreateBucket
パーミッションを持つ IAM 認証情報を指定する必要がない場合は、このフィールドをfalse
に設定します。
以下の
Secret
オブジェクトをテンプレートとして使用します。AWS
Secret
オブジェクトの例apiVersion: v1 kind: Secret metadata: name: my-aws-secret data: aws-access-key-id: "dGVzdAo=" aws-secret-access-key: "c2VjcmV0Cg=="
注記aws-access-key-id
およびaws-secret-access-key
の値は base64 でエンコードされる必要があります。シークレットを作成します。
$ oc create secret -n openshift-metering generic my-aws-secret \ --from-literal=aws-access-key-id=my-access-key \ --from-literal=aws-secret-access-key=my-secret-key
注記このコマンドは、
aws-access-key-id
とaws-secret-access-key
の値を自動的に base64 でエンコードします。
aws-access-key-id
および aws-secret-access-key
認証情報には、バケットへの読み取りおよび書き込みアクセスがなければなりません。以下の aws/read-write.json
ファイルは、必要なパーミッションを付与する IAM ポリシーを示しています。
aws/read-write.json
ファイルの例
{ "Version": "2012-10-17", "Statement": [ { "Sid": "1", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:HeadBucket", "s3:ListBucket", "s3:ListMultipartUploadParts", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::operator-metering-data/*", "arn:aws:s3:::operator-metering-data" ] } ] }
spec.storage.hive.s3.createBucket
を true
に設定しているか、または s3-storage.yaml
ファイルで未設定にされている場合、バケットの作成および削除のためのパーミッションが含まれる aws/read-write-create.json
ファイルを使用する必要があります。
aws/read-write-create.json
ファイルの例
{ "Version": "2012-10-17", "Statement": [ { "Sid": "1", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:HeadBucket", "s3:ListBucket", "s3:CreateBucket", "s3:DeleteBucket", "s3:ListMultipartUploadParts", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::operator-metering-data/*", "arn:aws:s3:::operator-metering-data" ] } ] }