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