部署一个管道

学习如何部署RDI管道

以下部分解释了在创建所需的配置后如何部署管道。

设置密钥

在部署您的管道之前,您必须为源数据库和目标数据库设置认证密钥。每个密钥都有一个对应的属性名称,您可以将其传递给 redis-di set-secret 命令(VM部署)或 kubectl create secret generic (K8s部署)来设置属性的值。然后,您可以在config.yaml中使用语法"${PROPERTY_NAME}"来引用这些属性 (示例config.yaml文件展示了这些属性的使用)。

下表显示了每个密钥的属性名称。请注意,源和目标需要用户名和密码,但其他密钥仅与TLS/mTLS连接相关。

属性名称 描述
SOURCE_DB_USERNAME 源数据库的用户名
SOURCE_DB_PASSWORD 源数据库的密码
SOURCE_DB_CACERT (仅适用于TLS)源数据库信任证书
SOURCE_DB_KEY (仅适用于mTLS)源数据库私钥
SOURCE_DB_CERT (仅适用于mTLS)源数据库公钥
SOURCE_DB_KEY_PASSWORD (仅适用于mTLS)源数据库私钥密码
TARGET_DB_USERNAME 目标数据库的用户名
TARGET_DB_PASSWORD 目标数据库的密码
TARGET_DB_CACERT (仅适用于TLS)目标数据库信任证书
TARGET_DB_KEY (仅适用于mTLS)目标数据库私钥
TARGET_DB_CERT (仅适用于mTLS)目标数据库公钥
TARGET_DB_KEY_PASSWORD (仅适用于mTLS)目标数据库私钥密码

设置虚拟机部署的密钥

使用 redis-di set-secret 来为虚拟机部署设置密钥。例如,您可以使用以下命令行将源数据库用户名设置为 myUserName

redis-di set-secret SOURCE_DB_USERNAME myUserName

为K8s/Helm部署设置密钥

使用 kubectl create secret generic 为K8s/Helm部署设置密钥。命令的一般模式是

kubectl create secret generic <DB> \
--namespace=rdi \
--from-literal=<SECRET-NAME>=<SECRET-VALUE>

其中 source-db 用于源密钥或 target-db 用于目标密钥。 源密钥的具体命令行如下:

# Without source TLS
# Create or update source-db secret
kubectl create secret generic source-db --namespace=rdi \
--from-literal=SOURCE_DB_USERNAME=yourUsername \
--from-literal=SOURCE_DB_PASSWORD=yourPassword \
--save-config --dry-run=client -o yaml | kubectl apply -f -

# With source TLS
# Create of update source-db secret
kubectl create secret generic source-db --namespace=rdi \
--from-literal=SOURCE_DB_USERNAME=yourUsername \
--from-literal=SOURCE_DB_PASSWORD=yourPassword \
--from-literal=SOURCE_DB_CACERT=/etc/certificates/source_db/ca.crt \
--save-config --dry-run=client -o yaml | kubectl apply -f -
# Create or update source-db-ssl secret
kubectl create secret generic source-db-ssl --namespace=rdi \
--from-file=ca.crt=/path/to/myca.crt \
--save-config --dry-run=client -o yaml | kubectl apply -f -

# With source mTLS
# Create or update source-db secret
kubectl create secret generic source-db --namespace=rdi \
--from-literal=SOURCE_DB_USERNAME=yourUsername \
--from-literal=SOURCE_DB_PASSWORD=yourPassword \
--from-literal=SOURCE_DB_CACERT=/etc/certificates/source_db/ca.crt \
--from-literal=SOURCE_DB_CERT=/etc/certificates/source_db/client.crt \ 
--from-literal=SOURCE_DB_KEY=/etc/certificates/source_db/client.key \
--from-literal=SOURCE_DB_KEY_PASSWORD=yourKeyPassword \ # add this only if SOURCE_DB_KEY is password-protected
--save-config --dry-run=client -o yaml | kubectl apply -f -
# Create or update source-db-ssl secret
kubectl create secret generic source-db-ssl --namespace=rdi \
--from-file=ca.crt=/path/to/myca.crt \
--from-file=client.crt=/path/to/myclient.crt \
--from-file=client.key=/path/to/myclient.key \
--save-config --dry-run=client -o yaml | kubectl apply -f -

目标密钥对应的命令行是:

# Without target TLS
# Create or update target-db secret
kubectl create secret generic target-db --namespace=rdi \
--from-literal=TARGET_DB_USERNAME=yourUsername \
--from-literal=TARGET_DB_PASSWORD=yourPassword \
--save-config --dry-run=client -o yaml | kubectl apply -f -

# With target TLS
# Create of update target-db secret
kubectl create secret generic target-db --namespace=rdi \
--from-literal=TARGET_DB_USERNAME=yourUsername \
--from-literal=TARGET_DB_PASSWORD=yourPassword \
--from-literal=TARGET_DB_CACERT=/etc/certificates/target_db/ca.crt \
--save-config --dry-run=client -o yaml | kubectl apply -f -
# Create or update target-db-ssl secret
kubectl create secret generic target-db-ssl --namespace=rdi \
--from-file=ca.crt=/path/to/myca.crt \
--save-config --dry-run=client -o yaml | kubectl apply -f -

# With target mTLS
# Create or update target-db secret
kubectl create secret generic target-db --namespace=rdi \
--from-literal=TARGET_DB_USERNAME=yourUsername \
--from-literal=TARGET_DB_PASSWORD=yourPassword \
--from-literal=TARGET_DB_CACERT=/etc/certificates/target_db/ca.crt \
--from-literal=TARGET_DB_CERT=/etc/certificates/target_db/client.crt \ 
--from-literal=TARGET_DB_KEY=/etc/certificates/target_db/client.key \
--from-literal=TARGET_DB_KEY_PASSWORD=yourKeyPassword \ # add this only if TARGET_DB_KEY is password-protected
--save-config --dry-run=client -o yaml | kubectl apply -f -
# Create or update target-db-ssl secret
kubectl create secret generic target-db-ssl --namespace=rdi \
--from-file=ca.crt=/path/to/myca.crt \
--from-file=client.crt=/path/to/myclient.crt \
--from-file=client.key=/path/to/myclient.key \
--save-config --dry-run=client -o yaml | kubectl apply -f -

部署一个管道

当你创建了你的配置,包括jobs,使用redis-di deploy命令来部署它们:

redis-di deploy --dir <path to pipeline folder>

你也可以使用Redis Insight部署一个管道。

RATE THIS PAGE
Back to top ↑