AWSのIAMロール
Chartの外部オブジェクトストレージのデフォルト設定は、アクセスキーとシークレットキーを使用することです。kube2iamまたはkiamと組み合わせてIAMロールを使用することも可能です。
IAMロール
IAMロールは、S3バケットの読み取り、書き込み、リスト権限を必要とします。 バケットごとにロールを持つか、それらを組み合わせるかを選択できます。
チャート構成
IAM ロールは、アノテーションを追加し、以下のように秘密を変更することで指定できます:
レジストリ
IAMロールはアノテーション・キーで指定できます:
--set registry.annotations."iam\.amazonaws\.com/role"=<role name>
registry-storage.yaml
シークレットを作成する際は、アクセスキーとシークレットキーを省略します:
s3:
bucket: gitlab-registry
v4auth: true
region: us-east-1
注意: キーペアを指定した場合、IAMロールは無視されます。 詳細はAWSのドキュメントを参照してください。
LFS、アーティファクト、アップロード、パッケージ、仮名遣い
LFS、アーティファクト、アップロード、パッケージ、および仮名化については、webservice
およびsidekiq
設定の注釈キーで IAM ロールを指定できます:
--set gitlab.sidekiq.annotations."iam\.amazonaws\.com/role"=<role name>
--set gitlab.webservice.annotations."iam\.amazonaws\.com/role"=<role name>
object-storage.yaml
secretについては、アクセスキーとシークレットキーを省略します。 GitLabのRailsコードベースはS3ストレージにFogを使用しているため、Fogがロールを使用するにはuse_iam_profileキーを追加する必要があります:
provider: AWS
use_iam_profile: true
region: us-east-1
バックアップ
task-runner
、S3にバックアップをアップロードするためのアノテーションを設定することができます:
--set gitlab.task-runner.annotations."iam\.amazonaws\.com/role"=<role name>
s3cmd.configのシークレットは、アクセスキーとシークレットキーなしで作成されます:
[default]
bucket_location = us-east-1