4.3. 영구 스토리지 구성
미터링은 더 이상 사용되지 않는 기능입니다. 더 이상 사용되지 않는 기능은 여전히 OpenShift Container Platform에 포함되어 있으며 계속 지원됩니다. 그러나 이 기능은 향후 릴리스에서 제거될 예정이므로 새로운 배포에는 사용하지 않는 것이 좋습니다.
OpenShift Container Platform에서 더 이상 사용되지 않거나 삭제된 주요 기능의 최신 목록은 OpenShift Container Platform 릴리스 노트에서 더 이상 사용되지 않고 삭제된 기능 섹션을 참조하십시오.
미터링에는 Metering Operator에서 수집한 데이터를 유지하고 보고서 결과를 저장하기 위해 영구 스토리지가 필요합니다. 다양한 스토리지 공급자 및 스토리지 형식이 지원됩니다. 스토리지 공급자를 선택하고 예제 구성 파일을 수정하여 미터링 설치에 대한 영구 스토리지를 구성합니다.
4.3.1. Amazon S3에 데이터 저장
미터링은 기존 Amazon S3 버킷을 사용하거나 스토리지에 버킷을 생성할 수 있습니다.
Metering 작업은 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
다음
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" ] } ] }
4.3.2. S3 호환 스토리지에 데이터 저장
Noobaa와 같은 S3 호환 스토리지를 사용할 수 있습니다.
절차
아래
s3-compatible-storage.yaml
파일 예에서spec.storage
섹션을 편집합니다.s3-compatible-storage.yaml
파일의 예apiVersion: metering.openshift.io/v1 kind: MeteringConfig metadata: name: "operator-metering" spec: storage: type: "hive" hive: type: "s3Compatible" s3Compatible: bucket: "bucketname" 1 endpoint: "http://example:port-number" 2 secretName: "my-aws-secret" 3
다음
Secret
오브젝트를 템플릿으로 사용합니다.S3 호환
Secret
오브젝트의 예apiVersion: v1 kind: Secret metadata: name: my-aws-secret data: aws-access-key-id: "dGVzdAo=" aws-secret-access-key: "c2VjcmV0Cg=="
4.3.3. Microsoft Azure에 데이터 저장
데이터를 Azure Blob 스토리지에 저장하려면 기존 컨테이너를 사용해야 합니다.
프로세스
azure-blob-storage.yaml
파일에서spec.storage
섹션을 편집합니다.azure-blob-storage.yaml
파일 예apiVersion: metering.openshift.io/v1 kind: MeteringConfig metadata: name: "operator-metering" spec: storage: type: "hive" hive: type: "azure" azure: container: "bucket1" 1 secretName: "my-azure-secret" 2 rootDirectory: "/testDir" 3
다음
Secret
오브젝트를 템플릿으로 사용합니다.Azure
Secret
오브젝트의 예apiVersion: v1 kind: Secret metadata: name: my-azure-secret data: azure-storage-account-name: "dGVzdAo=" azure-secret-access-key: "c2VjcmV0Cg=="
시크릿을 생성합니다.
$ oc create secret -n openshift-metering generic my-azure-secret \ --from-literal=azure-storage-account-name=my-storage-account-name \ --from-literal=azure-secret-access-key=my-secret-key
4.3.4. Google Cloud Storage에 데이터 저장
데이터를 Google Cloud Storage에 저장하려면 기존 버킷을 사용해야 합니다.
프로세스
아래
gcs-storage.yaml
파일 예에서spec.storage
섹션을 편집합니다.gcs-storage.yaml
파일 예apiVersion: metering.openshift.io/v1 kind: MeteringConfig metadata: name: "operator-metering" spec: storage: type: "hive" hive: type: "gcs" gcs: bucket: "metering-gcs/test1" 1 secretName: "my-gcs-secret" 2
다음
Secret
오브젝트를 템플릿으로 사용합니다.Google Cloud Storage
Secret
오브젝트의 예apiVersion: v1 kind: Secret metadata: name: my-gcs-secret data: gcs-service-account.json: "c2VjcmV0Cg=="
시크릿을 생성합니다.
$ oc create secret -n openshift-metering generic my-gcs-secret \ --from-file gcs-service-account.json=/path/to/my/service-account-key.json