概要描述
本文描述在安装TDC时没有部署Aquila后,如何手动对Aquila做安装
详细描述
安装前准备工作
1 检查tdc-operator
查看集群中是否有tdc-operator 实例, 并检查是否ready

2 检查 configmap(用于检查当前 Operator 支持安装的 Aquila 的版本)
例如安装 aquila 2.0.1版本, 需要检查 operator 对应的configmap是否有名称为 knowledge-aquila-2.0.1-x 的configmap对象, knowledge-aquila-2.0.1-x 保存了部署 Aquila 2.0.1 版本所需的模版文件
kubectl get cm -n tdc-operator

如果没有对应的configmap 请下载 TDC-operator 最新安装包, 并解压安装包执行 install.sh脚本更新 tdc-operator。
3 检查环境
由于tdc在部署租户的时候和Aquila有关联,目前需要aquila也部署在tdcsys这个namespace下面
aquila依赖TDC的guardian、guardian federation 以及kundb数据库(TDC 2.5.0 开始使用kundb), 需要确保tdc的组件运行正常
可以通过如下命令查看TDC 组件状态
kubectl get po -n tdcsys
上传Aquila镜像和Chart
下载并上传aquila镜像
下载AQUILA-Image-Registry-2.0.1-TDC-X86_64-final.tar.gz
tar -zxvf AQUILA-Image-Registry-2.0.1-TDC-X86_64-final.tar.gz
上传镜像
#!/bin/bash
for eachTag in $(jq -r '.manifests[].annotations."org.opencontainers.image.ref.name"' ./images/index.json)
do
echo $eachTag
skopeo --insecure-policy=true copy --dest-tls-verify=false oci:./images:$eachTag docker://172.18.131.146:5000/$eachTag
done
确认是否有Aquila Chart
https://172.18.131.146:30003/
默认用户名是 admin 密码是 Harbor12345 , harbor 的默认端口是 30003 协议是https

如果没有需要上传对应版本的chart
部署aquila
编辑部署Aquila 的配置文件
通过配置模版生成一个tdc 的配置文件
由于本次环境operator的版本是<1.8.0的,采用如下模版
apiVersion: tdc.transwarp.io/v1alpha1
kind: TranswarpApplication
metadata:
name: aquila
namespace: tdcsys
spec:
modules:
- aquila-basic
product: aquila
release: {{ 产品版本 }}
references:
- name: tdc
namespace: tdcsys
type: tdc
state: running
values:
clusterDomainName: {{集群域名}}
参数说明:
product: 产品名称
release: 产品版本 例如 aquila-2.0.1-final
modules: 填写你想部署的aquila 模块
clusterDomainName:tdc-installer 页面上选择的 clusterDomainName 的值。请根据现场情况填写相应的值!!!!
如果要安装audit,modules需要填写成 aquila-log
修改后示例( 部署 aquila 2.0.1 final )
apiVersion: tdc.transwarp.io/v1alpha1
kind: TranswarpApplication
metadata:
name: aquila
namespace: tdcsys
spec:
modules:
- aquila-basic
product: aquila
release: aquila-2.0.1-final
references:
- name: tdc
namespace: tdcsys
type: tdc
state: running
values:
clusterDomainName: transwarp.local
通过kubectl 命令部署 aquila 配置文件
配置文件是一个crd对象, tdc-operator 会list watch 这个crd对象, 并渲染部署模版,整个部署任务会被tdc-operator 拆分为若干个子任务。
kubectl apply -f aquila-2.0.1.yaml -n tdcsys

安装过程说明
此时 Operator 会自动开始执行升级流程。 整个安装过程会依据Aquila的部署模版的定义拆分成若干个子任务, 每个任务都会有对应的状态, 可以通过kubectl 命令来了解安装过程中的子任务
kubectl get warpapp aquila -n tdcsys -o yaml


必要情况下可以直接查看tdc-operator的日志了解部署的情况, 可以通过任务类型或者组件名称搜索相关组件或者任务的执行日志
# 查看实时日志
kubectl logs -f --tail=1000 -n tdc-operator tdc-operator-controller-manager-0
# 查看日志并筛选,例如筛选aquila相关的日志
kubectl logs -f -n tdc-operator tdc-operator-controller-manager-0 |grep aquila

status下的state字段会显示当前的集群状态, running 表示安装完成整个集群已经running, 安装过程中会表现为 deploying
切换为running之后,部署成功
