1.26.4.2. 为服务网格配置分布式追踪安全性
分布式追踪平台使用 OAuth 进行默认身份验证。但是,Red Hat OpenShift Service Mesh 使用名为 htpasswd
的 secret 来实现依赖服务(如 Grafana、Kiali 和分布式追踪平台)之间的通信。当您在 ServiceMeshControlPlane
中配置分布式追踪平台时,Service Mesh 会自动配置安全设置以使用 htpasswd
。
如果要在 Jaeger 自定义资源中指定分布式追踪平台配置,您必须手动配置 htpasswd
设置并确保 htpasswd
secret 挂载到 Jaeger 实例中,以便 Kiali 能够与它通信。
1.26.4.2.1. 从 OpenShift 控制台为服务网格配置分布式追踪安全性
您可以修改 Jaeger 资源来配置分布式追踪平台安全性,以便在 OpenShift 控制台中用于 Service Mesh。
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。如果使用 Red Hat OpenShift Dedicated,则必须有一个具有dedicated-admin
角色的帐户。 - 必须安装 Red Hat OpenShift Service Mesh Operator。
-
部署到集群的
ServiceMeshControlPlane
。 - 访问 OpenShift Container Platform web 控制台。
流程
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform web 控制台。 -
导航到 Operators
Installed Operators。 -
点 Project 菜单,从列表中选择部署
ServiceMeshControlPlane
资源的项目,如istio-system
。 - 点 Red Hat OpenShift distributed tracing platform Operator。
- 在 Operator Details 页面中,点 Jaeger 标签页。
- 点 Jaeger 实例的名称。
-
在 Jaeger 详情页面上,点击
YAML
选项卡来修改您的配置。 编辑
Jaeger
自定义资源文件,以添加htpasswd
配置,如下例所示。-
spec.ingress.openshift.htpasswdFile
-
spec.volumes
spec.volumeMounts
显示
htpasswd
配置的 Jaeger 资源示例apiVersion: jaegertracing.io/v1 kind: Jaeger spec: ingress: enabled: true openshift: htpasswdFile: /etc/proxy/htpasswd/auth sar: '{"namespace": "istio-system", "resource": "pods", "verb": "get"}' options: {} resources: {} security: oauth-proxy volumes: - name: secret-htpasswd secret: secretName: htpasswd - configMap: defaultMode: 420 items: - key: ca-bundle.crt path: tls-ca-bundle.pem name: trusted-ca-bundle optional: true name: trusted-ca-bundle volumeMounts: - mountPath: /etc/proxy/htpasswd name: secret-htpasswd - mountPath: /etc/pki/ca-trust/extracted/pem/ name: trusted-ca-bundle readOnly: true
-
- 点 Save。