|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
OpenShift 安装
在开始之前
|
安装时的额外说明:
|
在开始安装SUSE® Observability之前:
-
检查您的OpenShift环境是否满足要求
-
确保您已安装OpenShift命令行工具(
oc) -
将SUSE® Observability helm储存库添加到本地helm客户端:
helm repo add suse-observability https://charts.rancher.com/server-charts/prime/suse-observability
helm repo update
安装 SUSE® Observability
|
对于没有互联网访问的环境,也称为隔离的环境,请首先遵循这些额外说明。 此外,请确保在每个步骤中遵循隔离的安装说明(如果存在)。 |
创建项目
首先创建您希望安装SUSE® Observability的项目。在我们的演练中,我们将使用名称空间 suse-observability:
oc new-project suse-observability
|
项目名称在`helm`和`kubectl`命令中作为`--namespace`标志指定的名称空间 |
创建 values.yaml 配置文件
values.yaml 文件包含部署 SUSE® Observability 所需的所有配置,包括您的许可证密钥、基础 URL、管理员密码和大小配置文件。
|
*在继续之前:*确保您拥有最新版本的 Helm 图表和 |
-
推荐的方法
-
遗留方法(已弃用)
|
从版本 |
创建一个具有 global.suseObservability 配置结构的 values.yaml 文件:
global:
# Optional: Override image registry (defaults to registry.rancher.com)
# Only needed for air-gapped environments or custom registries
# imageRegistry: "your-private-registry.example.com"
# Optional: Override storage class (uses cluster default if not set)
# storageClass: "your-storage-class"
suseObservability:
# Required: Your {stackstate-product-name} license key
license: "YOUR-LICENSE-KEY"
# Required: Base URL for {stackstate-product-name}
# Use http://localhost:8080 if ingress is not configured yet
baseUrl: "https://observability.example.com"
# Required: Sizing profile
# Available: trial, 10-nonha, 20-nonha, 50-nonha, 100-nonha,
# 150-ha, 250-ha, 500-ha, 4000-ha
sizing:
profile: "150-ha"
# Required: Plain text Admin password
adminPassword: "your-password"
# Instead of adminPassword you can provide a bcrypt hashed password with adminPasswordBcrypt
# Generate with: htpasswd -bnBC 10 "" "your-password" | tr -d ':\n'
# adminPasswordBcrypt: "$2a$10$..."
# Optional: Receiver API key (auto-generated if not provided)
# receiverApiKey: "your-receiver-api-key"
# Optional: Pull secret for private registry
# pullSecret:
# username: "registry-user"
# password: "registry-pass"
要生成bcrypt密码哈希,请使用:htpasswd -bnBC 10 "" "your-password" | tr -d ':\n'
|
有关更多配置选项,包括亲和性设置,请参见 配置 Kubernetes 亲和性。
|
此方法已弃用。对于新安装,请使用上述推荐的方法。对于使用此方法的现有安装,请参见 迁移指南 以过渡到新的配置格式。 |
您可以通过运行单独的Helm Chart来生成SUSE® Observability、baseConfig_values.yaml、`sizing_values.yaml`和`affinity_values.yaml`文件。`suse-observability/suse-observability-values`图表。示例命令行是:
export VALUES_DIR=.
helm template \
--set license='<your license>' \
--set baseUrl='<suse-observability-base-url>' \
--set sizing.profile='<sizing.profile>' \
suse-observability-values \
suse-observability/suse-observability-values --output-dir $VALUES_DIR
此命令生成包含安装SUSE® Observability Helm Chart所需配置的文件`$VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml`、$VALUES_DIR/suse-observability-values/templates/sizing_values.yaml`和$VALUES_DIR/suse-observability-values/templates/affinity_values.yaml`。
|
SUSE® Observability 管理员密码将由上述命令自动生成,并作为注释输出到生成的 |
可以传递给此图表的值包括:
| 配置 | 值 | 说明 |
|---|---|---|
基本配置生成 |
|
开启或关闭 |
接收者 API 密钥 |
|
SUSE® Observability 用于从代理接收数据的 API 密钥。这是一个应保持私密的密钥。如果您省略此项,将为您生成一个随机密钥。 |
基础 URL |
|
此 |
用户名和密码** |
|
SUSE® Observability 用于拉取镜像的用户名和密码。对于隔离环境,这需要是本地 Docker 注册表的用户名和密码。 |
许可证密钥 |
|
SUSE® Observability 许可证密钥。 |
默认密码 |
|
默认用户 ( |
映像注册表 |
|
托管 SUSE® Observability 镜像的注册表。如果未提供,默认值将为 'quay.io'。 |
拉取密钥用户名 |
|
用于从托管 SUSE® Observability 镜像的 Docker 注册表拉取镜像的用户名。 |
拉取密钥密码 |
|
用于从托管 SUSE® Observability 镜像的 Docker 注册表拉取镜像的密码。 |
大小生成 |
|
开启或关闭 |
大小配置文件 |
|
OneOf 试用,10-nonha,20-nonha,50-nonha,100-nonha,150-ha,250-ha,500-ha。根据这些控制文件,您可以生成包含默认大小的`sizing_values.yaml`文件,用于SUSE® Observability资源的配置,以在高可用模式或非高可用模式下进行部署。例如,10-nonha 生成一个 |
Pod 反亲和性 |
|
强制同一数据服务的副本调度到不同的 Kubernetes 节点。仅适用于 |
|
安全存储生成的 |
|
SUSE® Observability 值图生成亲和性配置,您可以与主 SUSE® Observability 图表一起使用,以控制 Pod 调度行为。有关更多信息,请参阅 配置 Kubernetes 亲和性 文档。 |
创建 openshift-values.yaml
由于 OpenShift 的安全模型比普通 Kubernetes 更严格,部署中的所有标准安全上下文都需要被禁用。
创建一个 Helm 值文件 openshift-values.yaml,内容如下,并将其存放在生成的 values.yaml 文件旁边。这包含了 OpenShift 部署所需的值。
elasticsearch:
prometheus-elasticsearch-exporter:
podSecurityContext: ""
sysctlInitContainer:
enabled: false
scc:
enabled: true
使用 Helm 部署 SUSE® Observability
推荐的 SUSE® Observability 部署是一个可用于生产用途的高可用性设置,运行多个冗余服务。如果需要,也可以在非冗余设置中运行 SUSE® Observability,其中每个服务只有一个副本。此设置仅建议用于测试环境。
对于隔离的环境,请遵循隔离的安装说明。
-
推荐的方法
-
推荐方法(隔离的环境)
-
遗留方法(已弃用)
-
传统方法(隔离的环境)
在 OpenShift 上以高可用性设置部署 SUSE® Observability:
-
在您部署之前:
-
使用以下命令将最新的 SUSE® Observability 版本部署到
suse-observability名称空间:
helm upgrade \
--install \
--namespace suse-observability \
--values values.yaml \
--values openshift-values.yaml \
--set "clickhouse.sidecars[0].securityContext.runAsUser=null" \
suse-observability \
suse-observability/suse-observability
在 OpenShift 上以隔离的设置部署 SUSE® Observability:
-
在您部署之前:
-
使用以下命令将最新的 SUSE® Observability 版本部署到
suse-observability名称空间:
helm upgrade \
--install \
--namespace suse-observability \
--values local-docker-registry.yaml \
--values values.yaml \
--values openshift-values.yaml \
--set "clickhouse.sidecars[0].securityContext.runAsUser=null" \
suse-observability \
suse-observability/suse-observability
|
此方法已弃用。对于新安装,请使用上述推荐的方法。对于使用此方法的现有安装,请参见 迁移指南 以过渡到新的配置格式。 |
在 OpenShift 上以高可用性设置部署 SUSE® Observability:
-
在您部署之前:
-
使用以下命令将最新的 SUSE® Observability 版本部署到
suse-observability名称空间:
helm upgrade \
--install \
--namespace suse-observability \
--values $VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml \
--values $VALUES_DIR/suse-observability-values/templates/sizing_values.yaml \
--values $VALUES_DIR/suse-observability-values/templates/affinity_values.yaml \
--values openshift-values.yaml \
suse-observability \
suse-observability/suse-observability
|
此方法已弃用。对于新安装,请使用上述推荐的方法。对于使用此方法的现有安装,请参见 迁移指南 以过渡到新的配置格式。 |
在 OpenShift 上以隔离的设置部署 SUSE® Observability:
-
在您部署之前:
-
使用以下命令将最新的 SUSE® Observability 版本部署到
suse-observability名称空间:
helm upgrade \
--install \
--namespace suse-observability \
--values local-docker-registry.yaml \
--values $VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml \
--values $VALUES_DIR/suse-observability-values/templates/sizing_values.yaml \
--values $VALUES_DIR/suse-observability-values/templates/affinity_values.yaml \
--values openshift-values.yaml \
--set "clickhouse.sidecars[0].securityContext.runAsUser=null" \
suse-observability \
suse-observability-A.B.C.tgz
安装后,SUSE® Observability 发布应在 SUSE® Observability 名称空间中列出,所有 pod 应该正在运行:
# Check the release is listed
helm list --namespace suse-observability
# Check pods are running
# It may take some time for all pods to be installed or available
kubectl get pods --namespace suse-observability
访问 SUSE® Observability 用户界面
在 SUSE® Observability 部署后,您可以检查所有 pod 是否正常运行:
kubectl get pods --namespace suse-observability
当所有的 pod 启动后,您可以启用端口转发:
kubectl port-forward service/suse-observability-router 8080:8080 --namespace suse-observability
SUSE® Observability 现在可以在您的浏览器中访问 https://localhost:8080。使用用户名 admin 和 values.yaml 文件中提供的默认密码登录。
后续步骤是
手动创建 SecurityContextConfiguration 对象
如果您无法使用管理员帐户在 OpenShift 上安装 SUSE® Observability,请请求您的管理员应用以下 SecurityContextConfiguration 对象。
apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
metadata:
name: {{ template "common.fullname.short" . }}-{{ .Release.Namespace }}
labels:
{{- include "common.labels.standard" . | nindent 4 }}
annotations:
helm.sh/hook: pre-install
suse-observability.io/note: "Ignored by helm uninstall, has to be deleted manually"
fsGroup:
type: RunAsAny
groups:
- system:serviceaccounts:{{ .Release.Namespace }}
runAsUser:
type: RunAsAny
seLinuxContext:
type: MustRunAs
supplementalGroups:
type: RunAsAny
volumes:
- configMap
- downwardAPI
- emptyDir
- ephemeral
- persistentVolumeClaim
- projected
- secret
allowHostDirVolumePlugin: false
allowHostIPC: false
allowHostNetwork: false
allowHostPID: false
allowHostPorts: false
allowPrivilegeEscalation: true
allowPrivilegedContainer: false
readOnlyRootFilesystem: false
seccompProfiles:
- runtime/default
另请参见
-
有关其他配置和管理选项,请参阅 Kubernetes 文档 - 管理 SUSE® Observability Kubernetes 安装