|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
バックアップ環境設定
*バックアップ:作成*ページでは、スケジュールを設定し、暗号化を有効にし、バックアップの保存場所を指定できます。
まず、インストールし、`rancher-backup`オペレーターをインストールする必要があります。そうした後、*バックアップにアクセスできます。作成*ページ:
スケジュール
最初のオプションを選択すると、一時的なバックアップを実行できます。2番目のオプションを選択すると、定期的なバックアップをスケジュールできます。*定期的なバックアップ*を選択すると、次の2つのフィールドを設定できます:
-
スケジュール:このフィールドは受け入れます
-
標準の cron式、例えば`"0 * * * *"`のように
-
ディスクリプタ、例えば`"@midnight"`または`"@every 1h30m"`のように
-
-
保持数:この値は、保持する必要があるバックアップファイルの数を指定します。ファイルが指定された保持数を超えると、最も古いファイルが削除されます。デフォルト値は10です。
| YAMLディレクティブ名 | 説明 |
|---|---|
|
定期的なバックアップのスケジュール用のcron文字列を提供してください。 |
|
保持するバックアップファイルの数を提供してください。 |
ResourceSet
カスタムアプリケーションをバックアップするために独自のResourceSetsを作成できますが、Rancherのバックアップ専用の2つのResourceSetsは、`rancher-backup`オペレーターによって公式に管理され、デフォルトで作成されます。これらを`rancher-resource-set-basic`および`rancher-resource-set-full`と呼びます。 それらの違いは、バックアップにシークレットが含まれているかどうかです。
`rancher-resource-set-basic`は、機密情報を保護するためにバックアップファイルにシークレットを含めません。あなたは、シークレットを記録し、安全に再デプロイする責任があります。
`rancher-resource-set-full`は、復元または移行後にRancherがスムーズに動作し続けるために、バックアップファイルにすべての重要なシークレットを含めています。機密情報を平文で保存しないように、強力なキーでの暗号化を有効にすることを強くお勧めします。
| YAMLディレクティブ名 | 説明 |
|---|---|
|
このバックアップに含めるリソースを定義するために、ResourceSetの名前を提供してください。 |
暗号化
rancher-backupは、kube-apiserverへの呼び出しを行うことでリソースを収集します。apiserverから返されたオブジェクトは復号化されるため、 静止時の暗号化が有効になっていても、バックアップによって収集された暗号化されたオブジェクトも平文になります。
平文で保存しないように、静止時の暗号化に使用されたのと同じ`EncryptionConfiguration`ファイルを使用して、バックアップ内の特定のリソースを暗号化できます。
|
重要:
バックアップ内のオブジェクトを暗号化する際には、`EncryptionConfiguration`ファイルを将来の使用のために保存する必要があります。なぜなら、それはrancher-backupオペレーターによって保存されないからです。 例えば、Rancherを新しいクラスターに移行する際に、このファイルは新しいクラスターでシークレットを再作成するために使用されます。 |
オペレーターは、`EncryptionConfiguration`を`cattle-resources-system`ネームスペースのシークレットデータ内の`encryption-provider-config.yaml`という名前のキーのKubernetes Secretとして使用します。
`EncryptionConfiguration`については、 Kubernetesドキュメントに提供されているサンプルファイルを使用できます。
秘密で正しいキーが使用されることを保証するために、暗号化設定ファイルは`encryption-provider-config.yaml`という名前でなければなりません。以下のコマンドは、正しいキー名でシークレットを作成するために`--from-file`フラグを使用します。
`EncryptionConfiguration`を`encryption-provider-config.yaml`という名前のファイルに保存し、このコマンドを実行してください:
kubectl create secret generic encryptionconfig \
--from-file=./encryption-provider-config.yaml \
-n cattle-resources-system
これにより、シークレットには`encryption-provider-config.yaml`という名前のキーが含まれ、オペレーターはこのキーを使用して暗号化設定を取得します。
`Encryption Config Secret`のドロップダウンは、この正確なキーを持つシークレットのみをフィルタリングしてリストします。
上記の例のコマンドでは、名前`encryptionconfig`は任意のものに変更できます。
| YAMLディレクティブ名 | 説明 |
|---|---|
|
暗号化設定ファイルを含む`cattle-resources-system`ネームスペースの秘密の名前を提供してください。 |
ストレージ場所
バックアップにStorageLocationが指定されている場合、オペレーターはその特定のS3バケットからバックアップ場所を取得します。指定されていない場合、オペレーターはデフォルトのオペレーターレベルのS3ストアおよびオペレーターレベルのPVCストアでこのファイルを探そうとします。デフォルトのストレージ場所は、`rancher-backup`オペレーターのデプロイ時に設定されます。
最初のオプションを選択すると、このバックアップはrancher-backupチャートをインストールする際に設定されたストレージ場所に保存されます。2番目のオプションでは、バックアップを保存するために異なるS3互換ストレージプロバイダーを設定できます。
S3
|
S3バックアップターゲットを使用する場合は、すべてのクラスターに独自のバケットまたはフォルダーがあることを確認してください。Rancherは、そのクラスターに設定されたS3バケットまたはフォルダーにリストされている利用可能なスナップショットからスナップショット情報を取得します。 |
S3ストレージ場所には、次の設定フィールドが含まれています:
-
Credential Secret(オプション):S3バケットにアクセスするためにAWSアクセスキーまたはシークレットキーが必要な場合は、シークレットを作成し、キーとディレクティブを`accessKey`および`secretKey`という名前で指定してください。シークレットは任意の名前空間に存在できます。シークレットの例はこちらです。オペレーターを実行しているノードがEC2にあり、IAMのS3アクセス権限が割り当てられている場合、このディレクティブは不要です。*Credential Secret*のドロップダウンには、すべてのネームスペースのシークレットがリストされています。
-
バケット名:バックアップファイルが保存されるS3バケットの名前です。
-
リージョン(オプション):S3バケットが存在するAWS リージョンです。このフィールドはMinIOの設定には必要ありません。
-
フォルダー(オプション):バックアップファイルが保存されるS3バケット内のフォルダーの名前。ネストされたフォルダー(例:
rancher/cluster1)はサポートされていません。このフィールドが空のままにされると、デフォルトの動作はバックアップファイルをS3バケットのルートフォルダーに保存することです。 -
エンドポイント:バケットのリージョンでS3にアクセスするために使用される エンドポイント。
-
エンドポイント CA(オプション):これはBase64エンコードされたCA証明書である必要があります。例については、例のS3互換設定を参照してください。
-
TLS検証をスキップ(オプション):TLSを使用していない場合はtrueに設定してください。
YAMLディレクティブフィールド
| YAMLディレクティブ名 | 説明 | 必須 |
|---|---|---|
|
S3バケットにアクセスするためにAWSアクセスキーまたはシークレットキーが必要な場合は、シークレットを作成し、`accessKey`および`secretKey`という名前のキーとディレクティブを用いて資格情報を設定してください。シークレットは任意のネームスペースに存在できます。例のシークレットはこちらです。オペレーターを実行しているノードがEC2上にあり、S3にアクセスするためのIAM権限が設定されている場合、このディレクティブは不要です。詳細はthis section.を参照してください。 |
|
|
S3にアクセスするための資格情報を含むシークレットのネームスペース。オペレーターを実行しているノードがEC2にあり、S3にアクセスするためのIAM権限が設定されている場合、このディレクティブは不要です。詳細はthis section.を参照してください。 |
|
|
バックアップファイルが保存されるS3バケットの名前です。 |
✓ |
|
バックアップファイルが保存されるS3バケット内のフォルダーの名前。ネストされたフォルダー(例: |
|
|
S3バケットが存在するAWS リージョンです。 |
✓ |
|
バケットのリージョンでS3にアクセスするために使用される エンドポイント。 |
✓ |
|
これはBase64エンコードされたCA証明書である必要があります。例については、例のS3互換設定を参照してください。 |
|
|
TLSを使用していない場合はtrueに設定してください。 |
例 S3 ストレージ設定
s3:
credentialSecretName: s3-creds
credentialSecretNamespace: default
bucketName: rancher-backups
folder: rancher
region: us-west-2
endpoint: s3.us-west-2.amazonaws.com
例 MinIO 設定
s3:
credentialSecretName: minio-creds
bucketName: rancherbackups
endpoint: minio.35.202.130.254.xip.io
endpointCA: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURHakNDQWdLZ0F3SUJBZ0lKQUtpWFZpNEpBb0J5TUEwR0NTcUdTSWIzRFFFQkN3VUFNQkl4RURBT0JnTlYKQkFNTUIzUmxjM1F0WTJFd0hoY05NakF3T0RNd01UZ3lOVFE1V2hjTk1qQXhNREk1TVRneU5UUTVXakFTTVJBdwpEZ1lEVlFRRERBZDBaWE4wTFdOaE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCjA4dnV3Q2Y0SEhtR2Q2azVNTmozRW5NOG00T2RpS3czSGszd1NlOUlXQkwyVzY5WDZxenBhN2I2M3U2L05mMnkKSnZWNDVqeXplRFB6bFJycjlpbEpWaVZ1NFNqWlFjdG9jWmFCaVNsL0xDbEFDdkFaUlYvKzN0TFVTZSs1ZDY0QQpWcUhDQlZObU5xM3E3aVY0TE1aSVpRc3N6K0FxaU1Sd0pOMVVKQTZ6V0tUc2Yzc3ByQ0J2dWxJWmZsVXVETVAyCnRCTCt6cXZEc0pDdWlhNEEvU2JNT29tVmM2WnNtTGkwMjdub3dGRld3MnRpSkM5d0xMRE14NnJoVHQ4a3VvVHYKQXJpUjB4WktiRU45L1Uzb011eUVKbHZyck9YS2ZuUDUwbk8ycGNaQnZCb3pUTStYZnRvQ1d5UnhKUmI5cFNTRApKQjlmUEFtLzNZcFpMMGRKY2sxR1h3SURBUUFCbzNNd2NUQWRCZ05WSFE0RUZnUVU5NHU4WXlMdmE2MTJnT1pyCm44QnlFQ2NucVFjd1FnWURWUjBqQkRzd09ZQVU5NHU4WXlMdmE2MTJnT1pybjhCeUVDY25xUWVoRnFRVU1CSXgKRURBT0JnTlZCQU1NQjNSbGMzUXRZMkdDQ1FDb2wxWXVDUUtBY2pBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxRwpTSWIzRFFFQkN3VUFBNElCQVFER1JRZ1RtdzdVNXRQRHA5Q2psOXlLRW9Vd2pYWWM2UlAwdm1GSHpubXJ3dUVLCjFrTkVJNzhBTUw1MEpuS29CY0ljVDNEeGQ3TGdIbTNCRE5mVVh2anArNnZqaXhJYXR2UWhsSFNVaWIyZjJsSTkKVEMxNzVyNCtROFkzelc1RlFXSDdLK08vY3pJTGh5ei93aHRDUlFkQ29lS1dXZkFiby8wd0VSejZzNkhkVFJzNwpHcWlGNWZtWGp6S0lOcTBjMHRyZ0xtalNKd1hwSnU0ZnNGOEcyZUh4b2pOKzdJQ1FuSkg5cGRIRVpUQUtOL2ppCnIvem04RlZtd1kvdTBndEZneWVQY1ZWbXBqRm03Y0ZOSkc4Y2ZYd0QzcEFwVjhVOGNocTZGeFBHTkVvWFZnclMKY1VRMklaU0RJd1FFY3FvSzFKSGdCUWw2RXBaUVpWMW1DRklrdFBwSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t
例 credentialSecret
apiVersion: v1
kind: Secret
metadata:
name: creds
type: Opaque
data:
accessKey: <base64-encoded access key>
secretKey: <base64-encoded secret key>
|
エンコーディングの問題を避けるために、
|
EC2 ノードが S3 にアクセスするための IAM 権限
rancher-backup オペレーターを設定して S3 をバックアップストレージ場所として使用する方法は二つあります。
一つの方法は、バックアップカスタムリソース内で credentialSecretName を設定し、S3 にアクセスできる AWS 認証情報を参照することです。
クラスター ノードが Amazon EC2 にある場合、EC2 ノードに IAM 権限を割り当てて S3 にアクセスできるようにすることでも S3 アクセスを設定できます。
ノードが S3 にアクセスできるようにするには、 AWS ドキュメント の指示に従って EC2 用の IAM ロールを作成します。ロールにカスタムポリシーを追加する際は、以下の権限を追加し、Resource をバケット名に置き換えてください。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::rancher-backups"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::rancher-backups/*"
]
}
]
}
ロールが作成され、対応するインスタンスプロファイルが EC2 インスタンスにアタッチされた後は、バックアップカスタムリソース内の credentialSecretName ディレクティブは空のままにできます。
例
例えば、バックアップカスタムリソースについては、このページを参照してください。