使用脚本安装定制版
该 shce.sh 脚本可协助您安装自托管定制版( Kubernetes 或 Red Hat OpenShift Container Platform )。 该工具基于 Helm 图表和数值,支持根据您的需求进行定制化安装。 该脚本仅支持 x86_64 和 ARM64 架构。
先决条件
确保满足下列先决条件:
Helm 已安装用于部署 Helm 图表。 安装 Helm:
curl -fsSL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash集群上已设置默认存储类。 若未指定存储类,数据存储的安装将失败。 Instana 需要 ReadWriteMany (RWX)或 ReadWriteOnce (RWO)存储空间用于原始跨度和监控数据。 要验证默认存储类:
kubectl get storageclass -o=jsonpath='{.items[?(@.metadata.annotations.storageclass\.kubernetes\.io/is-default-class=="true")].metadata.name}'如果未设置默认存储类,请运行:
kubectl patch storageclass <storageclass_name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'Kubernetes 版本
已安装 Kubectl 1.25 或更高版本。
要安装最新稳定版本:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" chmod +x kubectl sudo mv kubectl /usr/local/bin/验证您的 kubectl 安装:
kubectl version --client=trueKubernetes 版本必须大于 1.25。 检查服务器版本:
kubectl version要在 Red Hat OpenShift Container Platform (OCP)上部署Custom Edition,需要安装 OpenShift 命令行工具(oc)以及OCP 4.13 或更高版本。
要检查 Red Hat OpenShift Container Platform 版本:
oc versionyq可用于解析 YAML 文件。在 Mac 上
yq安装(Homebrew):brew install yq要在 Ubuntu 或 Debian 上
yq安装:sudo snap install yq要检查版本
yq:yq --version
过程
克隆 Git 仓库,该仓库包含自定义版安装所需的文件:
git clone https://github.com/instana/self-hosted-custom-edition-setup.git导航至您克隆的 Git 存储库中的以下目录:
cd ./self-hosted-custom-edition-setup/deploy创建配置环境文件:
vim config.env以下示例展示了输出样本:
DOWNLOAD_KEY=<download_key> AGENT_KEY=<agent_key> SALES_KEY=<sales_key> CLUSTER_TYPE=ocp INSTANA_UNIT_NAME=unit0 INSTANA_TENANT_NAME=tenant0参数 描述 下载密钥 用于从 Instana 存储库下载 Instana 代理程序包的验证密钥。 代理密钥 用于通过 Instana 后端验证代理身份,并将代理关联至特定租户的关键凭证。 销售密钥 销售团队提供的密钥。 集群类型 表示集群的类型 INSTANA_UNIT_NAME Instana 中的参数,用于表示代理的逻辑分组。 INSTANA_租户名称 Instana 中的参数,用于标识与某个代理相关的租户或组织。 {: 表1. config.env参数" 标题位置="顶部"}为 Instana 租户和单元设置用户名和密码:
vim values/unit/custom-values.yaml以下示例展示了输出样本:
initialAdminUser: admin@instana.local initialAdminPassword: "mypass" properties: [] componentConfigs: [] priorityClassName: "" env: [] coreName: "instana-core" coreNamespace: "instana-core"参数 描述 initialAdminUser Instana 监控代理的初始管理员用户。 initialAdminPassword Instana 监控代理的初始管理员密码。 属性 一个空数组,用于存储与 Instana 监控代理相关的附加属性。 componentConfigs 一个空数组,用于存储 Instana 监控代理中各个组件的配置详情。 priorityClassName 将 Instana 监控代理的优先级类名称设置为空字符串,表示未分配特定优先级类。 env 用于存储 Instana 监控代理环境变量的空数组。 coreName Instana 监控代理的核心组件名称。 coreNamespace Instana 监控代理核心组件的命名空间。 有关在 中设置值的更多信息,
custom-values.yaml请参阅 README。您可以根据需求运行以下命令:
- 安装数据存储库和 Instana 后端:
./shce.sh apply- 卸载数据存储和 Instana 后端:
./shce.sh delete- 仅安装后端组件(操作员、核心、单元):
./shce.sh backend apply- 仅卸载后端组件(操作员、核心、单元):
./shce.sh backend delete- 仅安装数据存储:
./shce.sh datastores apply- 安装独立数据存储,例如: Kafka 或 Postgres :
./shce.sh datastores apply kafka ./shce.sh datastores apply postgres- 卸载单个数据存储,例如: Kafka 或 Postgres :
./shce.sh datastores delete kafka ./shce.sh datastores delete postgres要获取有关
shce.sh命令的帮助:./shce.sh help有关脚本
shce.sh的更多信息,请参阅 README。添加负载均衡器详细信息及 DNS ,请参阅设置负载均衡器和 DNS。