- 发行说明
- 要求
- 安装
- 入门指南
- 项目
- 数据集
- ML 包
- 管道
- ML 技能
- ML 日志
- AI Fabric 中的 Document Understanding
- 基本故障排除指南
更新 AI Fabric 证书
在安装过程中,您可以选择使用自己的证书,也可以跳过该步骤并使用自签名证书。如果您之后需要更改证书,请执行以下步骤。
首先,请确保您拥有证书,SSL 文件和私钥必须是两个单独的文件。
下一步是连接到 AI Fabric Linux 计算机并运行以下命令
kubectl -n default annotate secret kotsadm-tls acceptAnonymousUploads=1
kubectl -n default annotate secret kotsadm-tls acceptAnonymousUploads=1
然后,您需要重新启动 kurl 代理服务器。为此,请先使用以下命令检索此代理服务器的名称:
kubectl get pods -A | grep kurl-proxy | awk '{print $2}'
kubectl get pods -A | grep kurl-proxy | awk '{print $2}'
这将输出 kurl 代理服务器的名称,该名称应类似于 kurl-proxy-kotsadm-XXX。因此,下一步是删除此 Pod(它将自动重新启动)。
kubectl delete pods kurl-proxy-kotsadm-XXX
kubectl delete pods kurl-proxy-kotsadm-XXX
您可以通过运行 get pods 命令来检查该 Pod 是否已重新启动:
kubectl get pods
kubectl get pods
在该 Pod 旁边,您应该会看到“1/1”和“正在运行”。
一旦准备就绪,您可以删除配置映射:
kubectl -n aifabric delete configmap is-client-config
kubectl -n aifabric delete configmap is-client-config
然后连接到 KotsAdmin 用户界面,记住 URL 应类似于 https://<aif-machine>:8800/tls。此页面用于上传新证书(可按需更改关联的域名)。
单击“上传并继续”按钮,然后前往配置页面。根据需要更改 HostIP/FQDN,生成新的访问令牌,然后单击“保存”。完成预检后,单击“部署”以重新部署 AI Fabric 应用程序。安装后,AI Fabric 将使用新证书。
重新部署 AI Fabric 后,运行以下命令以使更改生效:
kubectl -n istio-system rollout restart deployment istio-ingressgateway
kubectl -n istio-system rollout restart deployment istio-ingressgateway
从 20.10.2 开始,我们的安装程序将使用证书管理器自动处理证书,但如果您首先安装了 20.10.1,您的证书可能会在某个时间过期以进行修复,因此您需要按照以下步骤操作。首先下载并打开新安装程序捆绑包(我们不安装新的捆绑包):
curl -O https://download.uipath.com/aifabric/online-installer/v2020.10.2/aifabric-installer-v20.10.2.tar.gz
tar -xvf aifabric-installer-v20.10.2.tar.gz
cd ./aifabric-installer-v20.10.2/infra/azure/aks-arm
curl -O https://download.uipath.com/aifabric/online-installer/v2020.10.2/aifabric-installer-v20.10.2.tar.gz
tar -xvf aifabric-installer-v20.10.2.tar.gz
cd ./aifabric-installer-v20.10.2/infra/azure/aks-arm
然后像这样创建脚本文件“update_cert.sh”
USER_EMAIL=<enter certificate owner email here>
sed -i "s/email.address@org.com/$USER_EMAIL/g" cert-manager-crd/letsencrypt-clusterissuer.yaml
INGRESS_HOST=$(kubectl -n istio-system get svc istio-ingressgateway -o json | jq -r ".status.loadBalancer.ingress[0].ip")
IP_NAME="$(az network public-ip list --query "[?ipAddress=='$INGRESS_HOST']|[0].name" | sed 's/"//g')"
INGRESS_DOMAIN="$(az network public-ip list --query "[?ipAddress=='$INGRESS_HOST']|[0].dnsSettings.fqdn" | sed 's/"//g')"
sed "s/{{INGRESS_DOMAIN}}/${INGRESS_DOMAIN}/g" cert-manager-crd/letsencrypt-istiocert.yaml > cert-manager-crd/letsencrypt-istiocert-temp.yaml
kubectl apply -f cert-manager-crd/letsencrypt-clusterissuer.yaml
kubectl apply -f cert-manager-crd/letsencrypt-istiocert-temp.yaml
kubectl -n istio-system \)\)
patch gateway istio-autogenerated-k8s-ingress --type=json \)\)
-p='[{"op": "replace", "path": "/spec/servers/1/tls", "value": {"credentialName": "aifabric-ingressgateway-certs", "mode": "SIMPLE", "privateKey": "sds", "serverCertificate": "sds"}}]'
kubectl -n istio-system rollout restart deployment istio-ingressgateway
USER_EMAIL=<enter certificate owner email here>
sed -i "s/email.address@org.com/$USER_EMAIL/g" cert-manager-crd/letsencrypt-clusterissuer.yaml
INGRESS_HOST=$(kubectl -n istio-system get svc istio-ingressgateway -o json | jq -r ".status.loadBalancer.ingress[0].ip")
IP_NAME="$(az network public-ip list --query "[?ipAddress=='$INGRESS_HOST']|[0].name" | sed 's/"//g')"
INGRESS_DOMAIN="$(az network public-ip list --query "[?ipAddress=='$INGRESS_HOST']|[0].dnsSettings.fqdn" | sed 's/"//g')"
sed "s/{{INGRESS_DOMAIN}}/${INGRESS_DOMAIN}/g" cert-manager-crd/letsencrypt-istiocert.yaml > cert-manager-crd/letsencrypt-istiocert-temp.yaml
kubectl apply -f cert-manager-crd/letsencrypt-clusterissuer.yaml
kubectl apply -f cert-manager-crd/letsencrypt-istiocert-temp.yaml
kubectl -n istio-system \)\)
patch gateway istio-autogenerated-k8s-ingress --type=json \)\)
-p='[{"op": "replace", "path": "/spec/servers/1/tls", "value": {"credentialName": "aifabric-ingressgateway-certs", "mode": "SIMPLE", "privateKey": "sds", "serverCertificate": "sds"}}]'
kubectl -n istio-system rollout restart deployment istio-ingressgateway
然后执行以下脚本:
./update_cert.sh
./update_cert.sh