UiPath Documentation
automation-suite
2.2510
true
Linux 版 Automation Suite 安装指南
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。

管理证书

将自签名证书替换为 CA 签名证书,并在 Automation Suite 中管理证书生命周期。

重要提示:

安装流程会代表您生成自签名证书。这些证书符合 FIPS 标准,并将在 90 天后过期。安装完成后,您必须将这些证书替换为由受信任的证书颁发机构 (CA) 签名的证书。如果不更新证书,安装将在 90 天后停止工作。

如果您在启用 FIPS 的主机上安装了 Automation Suite,并想要更新证书,请确保它们与 FIPS 兼容。

安装捆绑包提供了一个集群管理工具,使您能够在安装后更新证书。 要访问该工具,请导航到安装程序捆绑包的位置:

cd /opt/UiPathAutomationSuite/
cd /opt/UiPathAutomationSuite/

生成证书签名请求 (CSR) 和私钥

要生成 CSR 和私钥,请运行以下命令:

# copy the machine openssl configuration locally
cp /etc/pki/tls/openssl.cnf ./openssl.tmp.cnf

# Replace the [AUTOMATION_SUITE_FQDN] value. For example, "automationsuite.corp.com"
AS_FQDN=[AUTOMATION_SUITE_FQDN]
cat >> ./openssl.tmp.cnf <<EOF
[SAN]
subjectAltName=DNS:$AS_FQDN,DNS:alm.$AS_FQDN,DNS:monitoring.$AS_FQDN,DNS:registry.$AS_FQDN,DNS:objectstore.$AS_FQDN,DNS:insights.$AS_FQDN,DNS:apps.$AS_FQDN
EOF

# create the certificate request
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -subj "/C=xx/ST=xx/O=xx/OU=xx/CN=$AS_FQDN" -reqexts SAN -config openssl.tmp.cnf -out ${AS_FQDN}.csr
# copy the machine openssl configuration locally
cp /etc/pki/tls/openssl.cnf ./openssl.tmp.cnf

# Replace the [AUTOMATION_SUITE_FQDN] value. For example, "automationsuite.corp.com"
AS_FQDN=[AUTOMATION_SUITE_FQDN]
cat >> ./openssl.tmp.cnf <<EOF
[SAN]
subjectAltName=DNS:$AS_FQDN,DNS:alm.$AS_FQDN,DNS:monitoring.$AS_FQDN,DNS:registry.$AS_FQDN,DNS:objectstore.$AS_FQDN,DNS:insights.$AS_FQDN,DNS:apps.$AS_FQDN
EOF

# create the certificate request
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -subj "/C=xx/ST=xx/O=xx/OU=xx/CN=$AS_FQDN" -reqexts SAN -config openssl.tmp.cnf -out ${AS_FQDN}.csr

您的 IT 团队使用获取的值生成签名证书。 生成的私钥保留在本地。

管理服务器证书

要查看有关服务器证书的更多信息,请运行以下命令:

./bin/uipathctl config tls-certificates --help
./bin/uipathctl config tls-certificates --help

输出:

************************************************************************************

Manage tls certificates

Usage:
  uipathctl config tls-certificates [flags]
  uipathctl config tls-certificates [command]

Available Commands:
  get         Get the current tls certificates
  update      Update tls certificates

Flags:
  -h, --help   help for tls-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
  -f, --force               override all user prompts to true
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "info")
  -q, --quiet                disable progress indicators (emoji/formatted status messages)
      --timeout duration    timeout of the command (default: 90 minutes) (default 1h30m0s)
      --versions string     optional path to versions file

Use "uipathctl config tls-certificates [command] --help" for more information about a command.

************************************************************************************
************************************************************************************

Manage tls certificates

Usage:
  uipathctl config tls-certificates [flags]
  uipathctl config tls-certificates [command]

Available Commands:
  get         Get the current tls certificates
  update      Update tls certificates

Flags:
  -h, --help   help for tls-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
  -f, --force               override all user prompts to true
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "info")
  -q, --quiet                disable progress indicators (emoji/formatted status messages)
      --timeout duration    timeout of the command (default: 90 minutes) (default 1h30m0s)
      --versions string     optional path to versions file

Use "uipathctl config tls-certificates [command] --help" for more information about a command.

************************************************************************************

以下部分描述了可以使用 uipathctl config tls-certificates 命令执行的操作。

更新服务器证书

在线安装:如何查找服务器证书

证书在 Istio 级别存储为机密。 您可以在istio-system命名空间的istio-ingressgateway-certs名称下找到证书。

请参阅以下列表中的证书文件:

  • 服务器 TLS 证书存储为tls.crt
  • 作为tls.key的服务器 TLS 私钥
  • CA 捆绑包存储为ca.crt

您可以使用以下命令验证密码:

kubectl -n istio-system get secrets istio-ingressgateway-certs -o yaml
kubectl -n istio-system get secrets istio-ingressgateway-certs -o yaml

证书也存储在 UiPath 命名空间中。这适用于需要证书信息以信任传入调用的所有 UiPath™ 产品。有关详细信息,请参阅了解与证书相关的容器架构

离线安装:如何查找服务器证书

除了在线部署所需的证书之外,离线部署还有两个附加位置,这两个位置使用相同的rootCA.crttls.crt :ArgoCD 和 Docker 注册表。然后,证书将存储在 Docker 和 ArgoCD 命名空间中。

您可以使用以下命令验证密码:

# For docker registry
kubectl -n docker-registry get secrets docker-registry-tls -o yaml
# For Argocd
argocd login alm.cluster_fqnd --username argocd_username --password argocd_password
argocd cert list --cert-type https
# For docker registry
kubectl -n docker-registry get secrets docker-registry-tls -o yaml
# For Argocd
argocd login alm.cluster_fqnd --username argocd_username --password argocd_password
argocd cert list --cert-type https

如何更新服务器证书

重要提示:

在更新服务器证书之前,您必须解密证书密钥。 跳过解密步骤将导致错误。

要解密证书密钥,请运行以下命令:

# replace /path/to/encrypted/cert/key to absolute file path of key
# replace /path/to/decrypt/cert/key to store decrypt key
# Once prompted, please entry the passphrase or password to decrypt the key

openssl rsa -in /path/to/encrypted/cert/key -out /path/to/decrypt/cert/key
# replace /path/to/encrypted/cert/key to absolute file path of key
# replace /path/to/decrypt/cert/key to store decrypt key
# Once prompted, please entry the passphrase or password to decrypt the key

openssl rsa -in /path/to/encrypted/cert/key -out /path/to/decrypt/cert/key

证书链的组合方式

运行uipathctl config tls-certificates update命令时, uipathctl会从两个单独的输入文件组合完整证书链:

  • server.crt - PEM 格式的完整公共服务器证书链:叶服务器证书、后跟的中间 CA 证书和根 CA 构成该叶证书的签名路径。仅包含属于叶证书实际签名链的证书,不包含同级 CA 证书、不相关证书、重复证书或备用 CA 证书。
  • ca.crt - 完整的 CA 链,包括所有中间证书和根 CA。该文件必须仅包含用于对 TLS 服务器证书进行签名的证书。包括其他任何内容都会导致失败。

uipathctl在运行时合并这些文件。

要更新证书,请提供三个证书文件中每一个的路径。所有证书文件必须为PEM格式。

  • 证书颁发机构捆绑包- 用于对 TLS 服务器证书进行签名的完整 CA 链。包括所有中间证书和根 CA。不要包含分支证书或未用于对 TLS 服务器证书进行签名的任何其他证书,因为包含其他任何证书都会导致失败。链式证书上限为最多九个证书。
  • 服务器证书- PEM 格式的完整公共服务器证书链,从分支服务器证书开始,然后是中间 CA 证书和根 CA。仅包括形成叶证书实际签名链的证书。
  • 私钥- 服务器证书的私钥。
./bin/uipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.key
./bin/uipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.key

有关 TLS 证书验证错误的故障排除,请参阅TLS 证书验证错误

以下文件存储在/directory/path/to/store/certificate位置。

访问 TLS 证书

要打印证书文件,请运行以下命令,并指定存储证书的目录。

./bin/uipathctl config tls-certificates get --show-details
./bin/uipathctl config tls-certificates get --show-details

将 CA 证书添加到主机信任存储

您负责确保生成的证书受信任。

当您的环境使用并不全局受信任的私有 CA 或自签名证书时,必须执行此步骤。如果 Linux 主机信任存储中尚不存在私有 CA,则源自主机节点的调用将失败,并显示 SSL 错误。如果您的 CA 已受主机信任,则可以跳过此步骤。

要将证书添加到主机虚拟机信任存储区,请在集群中的所有节点上运行以下命令:

# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/

# 2. Update the trust store configuration
update-ca-trust
# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/

# 2. Update the trust store configuration
update-ca-trust

管理其他 CA 证书

要查看有关其他 CA 证书的更多信息,请运行以下命令:

./bin/uipathctl config additional-ca-certificates --help
./bin/uipathctl config additional-ca-certificates --help

输出:

***************************************************************************************

Manage additional ca certificates

Usage:
  uipathctl config additional-ca-certificates [flags]
  uipathctl config additional-ca-certificates [command]

Available Commands:
  get         Get the current additional ca certificates
  update      Update additional ca certificates

Flags:
  -h, --help   help for additional-ca-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
  -f, --force               override all user prompts to true
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "info")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default: 90 minutes) (default 1h30m0s)
      --versions string     optional path to versions file

Use "uipathctl config additional-ca-certificates [command] --help" for more information about a command.

***************************************************************************************
***************************************************************************************

Manage additional ca certificates

Usage:
  uipathctl config additional-ca-certificates [flags]
  uipathctl config additional-ca-certificates [command]

Available Commands:
  get         Get the current additional ca certificates
  update      Update additional ca certificates

Flags:
  -h, --help   help for additional-ca-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
  -f, --force               override all user prompts to true
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "info")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default: 90 minutes) (default 1h30m0s)
      --versions string     optional path to versions file

Use "uipathctl config additional-ca-certificates [command] --help" for more information about a command.

***************************************************************************************

以下部分描述了可以使用 uipathctl config additional-ca-certificates 命令执行的操作。

更新 CA 证书

当您的环境依赖私有 CA 或自签名证书时,请使用此命令。添加 CA 证书可让 Automation Suite 服务与使用该 CA 签名证书的外部组件(例如 SQL Server、对象存储或 SMTP 服务器)安全地通信。

要更新 CA 证书,请执行以下步骤:

  1. 更新cluster_config.json文件,使其指向具有additional_ca_certs文件。有关详细信息,请参阅证书配置

  2. 应用清单:

    ./bin/uipathctl manifest apply cluster_config.json --versions versions.json
    ./bin/uipathctl manifest apply cluster_config.json --versions versions.json
    

    此命令可能会失败,并显示如下错误:

    Error: [failed to wait for application argocd/<app-name1>: timed out waiting for the condition,
    failed to wait for application argocd/<app-name2>: timed out waiting for the condition]]
    Error: [failed to wait for application argocd/<app-name1>: timed out waiting for the condition,
    failed to wait for application argocd/<app-name2>: timed out waiting for the condition]]
    

    无论失败原因如何,请继续执行步骤 3 以重新启动部署并稳定环境。

  3. 手动重新启动uipath命名空间中的所有部署和状态集:

    kubectl rollout restart deployment -n <uipath>
    kubectl rollout restart sts -n <uipath>
    kubectl rollout restart deployment -n <uipath>
    kubectl rollout restart sts -n <uipath>
    
备注:

要附加旧证书,您必须使用访问 CA 证书部分中的get命令,并将其附加到 CA 证书.pem文件中,您必须在additional_ca_certs字段中提供该文件。CA 证书捆绑包文件应为有效的.pem格式,并且可以包含多个证书。

访问 CA 证书

要下载已配置的 CA 证书,请运行以下命令:

 ./bin/uipathctl config additional-ca-certificates get
 ./bin/uipathctl config additional-ca-certificates get

将 CA 证书添加到主机信任存储

您负责确保生成的证书受信任。

当您的环境使用并不全局受信任的私有 CA 或自签名证书时,必须执行此步骤。如果 Linux 主机信任存储中尚不存在私有 CA,则源自主机节点的调用将失败,并显示 SSL 错误。如果您的 CA 已受主机信任,则可以跳过此步骤。

要将证书添加到主机虚拟机信任存储区,请在集群中的所有节点上运行以下命令:

# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/

# 2. Update the trust store configuration
update-ca-trust
# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/

# 2. Update the trust store configuration
update-ca-trust

对于 Windows 环境,请参阅本指南以安装受信任的根证书。

管理身份令牌签名证书

Automation Suite 提供了两种方法来管理身份令牌签名证书的轮换:自动和手动。

要查看有关身份令牌签名证书的更多信息,请运行以下命令:

./bin/uipathctl config token-signing-certificates --help
./bin/uipathctl config token-signing-certificates --help

输出:

************************************************************************************

Manage token signing certificates

Usage:
  uipathctl config token-signing-certificates [flags]
  uipathctl config token-signing-certificates [command]

Available Commands:
  automatic-key-management Manage key management
  get                      Get the current token signing certificate
  rotate                   Rotate token signing certificates
  update                   Update future token signing certificate

Flags:
  -h, --help   help for token-signing-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
  -f, --force               override all user prompts to true
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "info")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default: 90 minutes) (default 1h30m0s)
      --versions string     optional path to versions file

Use "uipathctl config token-signing-certificates [command] --help" for more information about a command.

************************************************************************************
************************************************************************************

Manage token signing certificates

Usage:
  uipathctl config token-signing-certificates [flags]
  uipathctl config token-signing-certificates [command]

Available Commands:
  automatic-key-management Manage key management
  get                      Get the current token signing certificate
  rotate                   Rotate token signing certificates
  update                   Update future token signing certificate

Flags:
  -h, --help   help for token-signing-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
  -f, --force               override all user prompts to true
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "info")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default: 90 minutes) (default 1h30m0s)
      --versions string     optional path to versions file

Use "uipathctl config token-signing-certificates [command] --help" for more information about a command.

************************************************************************************
重要提示:

您可以使用最大密钥长度 4096 位对证书进行签名。 作为最佳实践,我们强烈建议您使用至少 512 位(64 字节)长度的密钥。

下一节将详细介绍可以使用uipathctl config token-signing-certificates命令执行的操作。

自动证书轮换

自动证书轮换意味着 Automation Suite 管理签名密钥的生命周期。 这包括每 90 天轮换一次密钥,在轮换前 14 天宣布新密钥,轮换后将旧密钥保留 14 天,然后在 14 天的期限结束时将其删除。

如果要从旧版本升级到 2.2510,默认情况下会禁用自动证书轮换。要启用自动密钥管理,请运行以下命令:

./bin/uipathctl config token-signing-certificates automatic-key-management enable
./bin/uipathctl config token-signing-certificates automatic-key-management enable
重要提示:

启用自动证书轮换可能会导致长达一小时的停机。

默认情况下,为全新 Automation Suite 安装启用证书自动轮换。要禁用自动密钥管理,请运行以下命令:

./bin/uipathctl config token-signing-certificates automatic-key-management disable
./bin/uipathctl config token-signing-certificates automatic-key-management disable

如果禁用了自动管理功能,则需要手动更新和轮换签名证书。有关手动密钥管理的详细信息,请参阅有关手动更新和轮换证书的文档。

手动更新证书

备注:

以下命令不会替换现有令牌签名证书。

确保您提供的证书为.pem格式。server.crt文件必须包含整个链,如以下示例所示:

-----server cert-----
-----root ca chain-----
-----server cert-----
-----root ca chain-----

要上传新证书以对令牌进行签名,请运行以下命令:

./bin/uipathctl config token-signing-certificates update --cert server.crt --key server.key
./bin/uipathctl config token-signing-certificates update --cert server.crt --key server.key

手动轮换证书

要轮换旧证书或将其替换为新证书,请运行以下命令:

./bin/uipathctl config token-signing-certificates rotate
./bin/uipathctl config token-signing-certificates rotate
备注:

证书更新和轮换之间应有大约 24 到 48 小时的前置时间。

我们需要这个提前期来继续支持由旧证书签名的缓存令牌的身份验证。

如果在缓存令牌过期之前过早轮换证书可能会导致停机。您可能需要重新启动所有机器人。

紧急证书轮换

重要提示:

以下过程仅适用于紧急情况。 您应该在证书到期日期之前轮换证书

要执行紧急证书更新,请执行以下步骤:

  1. 获取新证书或创建自签名证书,并将其复制到用于执行后续轮换步骤的集群服务器节点。 要创建新的自签名证书,请运行以下命令:

    openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout identityserver.key -out identityserver.crt
    openssl pkcs12 -export -out identityserver.pfx -inkey identityserver.key -in identityserver.crt
    openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout identityserver.key -out identityserver.crt
    openssl pkcs12 -export -out identityserver.pfx -inkey identityserver.key -in identityserver.crt
    
  2. 如果IdentityServer1.pfx已过期,请轮换并更新证书。有关说明,请参阅轮换证书

  3. 如果 IdentityServer2.pfx 已过期,请更新证书。

  4. 如果两个证书均已过期,请再次更新、轮换和更新。

  5. 重新启动所有部署。有关说明,请参阅故障排除

  6. 清除所有浏览器缓存。 如果您在隐身模式或隐私模式下运行,则可以跳过此步骤。

  7. 对于 Firefox,请按CTRL + SHIFT + DEL ,选择“缓存” ,然后选择“确定”

  8. 对于 Chrome,请按CTRL+SHIFT+DEL ,选择“缓存的图像和文件” ,然后选择“清除数据”

访问证书

运行以下命令以下载当前的令牌签名证书:

./bin/uipathctl config token-signing-certificates get --show-details
./bin/uipathctl config token-signing-certificates get --show-details

管理 RKE2 证书

默认情况下,RKE2 证书将在 12 个月后过期。在到期日期前的 90 天内,当您重新启动 RKE2 时,证书将轮换。

有关详细信息,请参阅RKE2 - 高级选项 - 证书轮换

检查 RKE2 证书到期日期

要检查 RKE2 证书的到期日期,请在任意节点上运行以下命令:

if [[ -d "/var/lib/rancher/rke2/server/tls" ]]; then
  dir="/var/lib/rancher/rke2/server/tls"
elif [[ -d "/var/lib/rancher/rke2/agent/tls" ]]; then
  dir="/var/lib/rancher/rke2/agent/tls"
else
dir="/var/lib/rancher/rke2/agent/"
fi
# Loop through each .crt file in the directory
for file in "$dir"/*.crt; do
# Extract the expiry date from the certificate
expiry=$(openssl x509 -enddate -noout -in "$file" | cut -d= -f 2-)
# Get the file name without the path
filename=$(basename "$file")
# Print the filename and expiry date in a pretty format
printf "%-30s %s\n" "$filename:" "$expiry"
done
if [[ -d "/var/lib/rancher/rke2/server/tls" ]]; then
  dir="/var/lib/rancher/rke2/server/tls"
elif [[ -d "/var/lib/rancher/rke2/agent/tls" ]]; then
  dir="/var/lib/rancher/rke2/agent/tls"
else
dir="/var/lib/rancher/rke2/agent/"
fi
# Loop through each .crt file in the directory
for file in "$dir"/*.crt; do
# Extract the expiry date from the certificate
expiry=$(openssl x509 -enddate -noout -in "$file" | cut -d= -f 2-)
# Get the file name without the path
filename=$(basename "$file")
# Print the filename and expiry date in a pretty format
printf "%-30s %s\n" "$filename:" "$expiry"
done

获取的输出应类似于下图所示内容:

轮换 RKE2 证书

默认情况下,RKE2 证书将在 12 个月后过期。在到期日期前的 90 天内,当您重新启动 RKE2 时,证书将轮换。但是,如果证书的有效期超过 90 天,则必须按照RKE2 - 高级选项 - 证书轮换中提到的步骤手动轮换证书。

如果要自定义 RKE2 证书的过期期限以满足特定要求,可以在为服务器节点和代理节点重新启动 RKE2 服务之前执行此操作。

要轮换 RKE2 证书,您必须首先在服务器节点上执行一系列操作,然后在代理节点上继续执行一些步骤。

在服务器节点上执行以下步骤:

  1. 停止 RKE2 服务器:

    systemctl stop rke2-server.service
    systemctl stop rke2-server.service
    
  2. 清除所有剩余的 RKE2 流程:

    rke2-killall.sh
    rke2-killall.sh
    
  3. 删除位于 /var/lib/rancher/rke2/server/tls/dynamic-cert.json 文件。

  4. 要自定义 RKE2 证书的过期期限,请使用以下命令。 请注意,此示例将有效期设置为 1000 天,但您可以根据要求更改此值。

    SERVICE_NAME="rke2-server.service"
    conf_file_path="/etc/systemd/system/${SERVICE_NAME}.d/cert.conf"
    mkdir -p /etc/systemd/system/"${SERVICE_NAME}".d/
    
    cat > "$conf_file_path" <<EOF
    [Service]
    Environment="CATTLE_NEW_SIGNED_CERT_EXPIRATION_DAYS=1000"
    EOF
    
    systemctl daemon-reload
    SERVICE_NAME="rke2-server.service"
    conf_file_path="/etc/systemd/system/${SERVICE_NAME}.d/cert.conf"
    mkdir -p /etc/systemd/system/"${SERVICE_NAME}".d/
    
    cat > "$conf_file_path" <<EOF
    [Service]
    Environment="CATTLE_NEW_SIGNED_CERT_EXPIRATION_DAYS=1000"
    EOF
    
    systemctl daemon-reload
    
  5. 重新启动 RKE2 服务器:

    systemctl start rke2-server.service
    systemctl start rke2-server.service
    
    备注:

    如果集群具有多个服务器节点,则可能无法完全执行步骤 1-4,因为 etcd 可能无法完成领导者选择。如果发生这种情况,请在其他服务器节点上重复步骤 1-4。

  6. kube-system 命名空间中删除 rke2-serving 密码:

    kubectl delete secret -n kube-system rke2-serving
    kubectl delete secret -n kube-system rke2-serving
    
    备注:

    在多节点部署中,在必要数量的服务器节点上完成前四个操作之前,您可能无法运行 kubectl 命令。这是为了满足 etcd 法定人数要求。您可以在 RKE2 服务器启动后立即删除 rke2-serving 密码。

当 etcd 达到法定人数,RKE2 服务器就可以启动其余的控制平面 Pod。然后,您应该会看到已成功执行 kubectl get nodes 命令。服务器节点准备就绪后,您可以前往代理节点重新生成证书。

在代理节点上执行以下步骤:

  1. 停止 RKE2 服务器:

    systemctl stop rke2-agent.service
    systemctl stop rke2-agent.service
    
  2. 清除所有剩余的 RKE2 流程:

    rke2-killall.sh
    rke2-killall.sh
    
  3. 要自定义 RKE2 证书的过期期限,请使用以下命令。 请注意,此示例将有效期设置为 1000 天,但您可以根据要求更改此值。

    SERVICE_NAME="rke2-agent.service"
    conf_file_path="/etc/systemd/system/${SERVICE_NAME}.d/cert.conf"
    mkdir -p /etc/systemd/system/"${SERVICE_NAME}".d/
    
    cat > "$conf_file_path" <<EOF
    [Service]
    Environment="CATTLE_NEW_SIGNED_CERT_EXPIRATION_DAYS=1000"
    EOF
    
    systemctl daemon-reload
    SERVICE_NAME="rke2-agent.service"
    conf_file_path="/etc/systemd/system/${SERVICE_NAME}.d/cert.conf"
    mkdir -p /etc/systemd/system/"${SERVICE_NAME}".d/
    
    cat > "$conf_file_path" <<EOF
    [Service]
    Environment="CATTLE_NEW_SIGNED_CERT_EXPIRATION_DAYS=1000"
    EOF
    
    systemctl daemon-reload
    
  4. 重新启动 RKE2 服务器:

    systemctl start rke2-agent.service
    systemctl start rke2-agent.service
    

管理符合 OCI 的外部注册表证书

要在安装后更新符合 OCI 的外部注册表的证书,请执行以下步骤:

  1. 更新cluster_config.json文件中的registry_ca_cert标志。有关详细信息,请参阅符合外部 OCI 的注册表配置

  2. 通过在所有节点上运行以下命令,更新外部符合 OCI 的注册表使用的根 CA:

    ./bin/uipathctl rke2 generate-registries cluster_config.json --current-config-path /etc/rancher/rke2/registries.yaml > /etc/rancher/rke2/registries.yaml.tmp
    mv -f /etc/rancher/rke2/registries.yaml.tmp /etc/rancher/rke2/registries.yaml
    systemctl restart rke2-server || systemctl restart rke2-agent
    ./bin/uipathctl rke2 generate-registries cluster_config.json --current-config-path /etc/rancher/rke2/registries.yaml > /etc/rancher/rke2/registries.yaml.tmp
    mv -f /etc/rancher/rke2/registries.yaml.tmp /etc/rancher/rke2/registries.yaml
    systemctl restart rke2-server || systemctl restart rke2-agent
    
  3. 更新外部符合 OCI 的注册表的 ArgoCD 受信任 CA 证书:

    ./bin/uipathctl config argocd ca-certificates update --cacert [PATH]
    ./bin/uipathctl config argocd ca-certificates update --cacert [PATH]
    

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新