《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.1.Elastic Stack 安装部署——3.4.1.8. ECK 安装(13) https://developer.aliyun.com/article/1231268
keystore 添加 OSS 凭证
每台 Elasticsearch 节点都要在 keystore 中添加 OSS 的登录凭证,包括 AccessKey 和
AccessKeySecret。
# 分别在每个 Elasticsearch pod 中创建 OSS 的 AccessKey 和 AccessKeySecret > kubectl exec -it \ snapshot-elasticsearch-es-snapshot-elasticsearch-0 bash > bin/elasticsearch-keystore add s3.client.default.access_key Enter value for s3.client.default.access_key: #输入 AccessKeyId > bin/elasticsearch-keystore add s3.client.default.secret_key Enter value for s3.client.default.secret_key: #输入 AccessKeySecret
elasticsearch-1 和 elasticsearch-2 节点也按上面所示操作一遍。
查看在 keystore 中创建的 OSS 登录凭证。
> bin/elasticsearch-keystore list keystore.seed #阿里云 OSS 登录凭证 s3.client.default.access_key s3.client.default.secret_key
在每一台 Elasticsearch 节点的 keystore 中添加 OSS 登录凭证后,执行以下命令重新加载安全设置,加载过程中无需重启 Elasticsearch。
POST _nodes/reload_secure_settings { "secure_settings_password": "" #我们没有为 keystore 设置加密密码,因此这里留空 }
创建 repository
创建一个 S3 类型的 repository。base_path 是 OSS 中的目录名,创建 repository 的时候会自动在阿里云 bucket 中创建该目录。
PUT _snapshot/eck-repository { "type": "s3", "settings": { "bucket": "eck-bucket", "base_path": "eck-snapshot", "endpoint": "oss-cn-hongkong.aliyuncs.com" } }
查看刚刚创建的 repository,状态为 Connected 表示连接 OSS 正常。
在阿里云 OSS 界面可以看到自动创建了 base_path 中指定的目录名,在这个 repository 中创建的快照都会存在这个目录中。
创建 snapshot
创建 snapshot_1 对 my-index 索引做快照,相关参数含义如下:
l indices:做快照的索引。
l wait_for_completion=true:是否等待完成快照后再响应,如果为 true 会等快照完成后才响应。(默认为 false,不等快照完成立即响应)
l ignore_unavailable: 设置为 true 时,当创建快照时忽略不可用的索引。
l include_global_state: 设置为 false 时,当某个索引所有的主分片不是全部的都可用时,也继续完成快照。
PUT /_snapshot/eck-repository/snapshot_1?wait_for_completion=true { "indices": "my-index", "ignore_unavailable": true, "include_global_state": false }
《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.1.Elastic Stack 安装部署——3.4.1.8. ECK 安装(15) https://developer.aliyun.com/article/1231266