首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不删除Prometheus ServiceMonitor对象

不删除Prometheus ServiceMonitor对象
EN

Stack Overflow用户
提问于 2020-07-07 03:10:52
回答 1查看 784关注 0票数 2

我已经用外部Prometheus配置了Istio (版本1.16.3),并且根据本问题中的讨论:https://github.com/istio/istio/issues/21187,使用内置的Prometheus操作符配置了Prometheus https://github.com/istio/istio/issues/21187对象

在大多数情况下,这是很好的工作,除了我注意到库伯内特斯-服务-安全-监视器和库伯内特斯-豆荚-安全监视器也被创建,这导致普罗米修斯抛出证书找不到错误,正如预期的,因为我没有设置这些。

"level=error ts=2020-07-06T03:43:33.464Z caller=manager.go:188 component="scrape manager" msg="error creating new scrape pool" err="error creating HTTP client: unable to load specified CA cert /etc/prometheus/secrets/istio.prometheus/root-cert.pem: open /etc/prometheus/secrets/istio.prometheus/root-cert.pem: no such file or directory" scrape_pool=istio-system/kubernetes-pods-secure-monitor/0

我还注意到,可以使用Values.prometheus.provisionPrometheusCert标志禁用服务监视器创建,如下所示:

istio/manifests/charts/istio-telemetry/prometheusOperator/templates/servicemonitors.yaml

代码语言:javascript
复制
 {{- if .Values.prometheus.provisionPrometheusCert }} 

但是,使用`istioctl安装重新应用配置没有删除这些服务监视器。

istioctl安装命令不是删除/修剪现有资源吗?

以下是我的完整配置:

代码语言:javascript
复制
apiVersion: install.istio.io/v1alpha1
kind: IstioControlPlane
metadata:
  namespace: istio-system
  name: istio-controlplane
  labels:
    istio-injection: enabled
spec:
  profile: default
  addonComponents:
    prometheus:
      enabled: false
    prometheusOperator:
      enabled: true
    grafana:
      enabled: false
    kiali:
      enabled: true
      namespace: staging
    tracing:
      enabled: false
  values:
    global:
      proxy:
        logLevel: warning
      mountMtlsCerts: false
      prometheusNamespace: monitoring
      tracer:
        zipkin:
          address: jaeger-collector.staging:9411

    prometheusOperator:
      createPrometheusResource: false

    prometheus:
      security:
        enabled: false
      provisionPrometheusCert: false
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-13 10:24:18

两个不同的关注点:升级到新版本的Istio和更新到配置。

升级

据我所知,在将istio从旧版本升级到1.4、1.5、1.6时,存在很多问题,但最近当istioctl升级出现时,您不应该担心集群的升级。

istioctl升级命令执行Istio的升级。在执行升级之前,它检查Istio安装是否符合升级资格标准。此外,如果它在Istio版本之间检测到配置文件默认值的任何更改,则会提醒用户。

此外,Istio1.6将支持一种新的升级模式,以安全地部署新版本的Istio。在这个新模型中,代理将与它们使用的特定控制平面相关联。这使得新版本能够以较低的风险部署到集群中--在用户显式选择之前,没有代理连接到新版本。这允许将工作负载逐渐迁移到新的控制平面,同时使用Istio遥测监视更改,以调查任何问题。

有关这方面的相关文档是这里这里

更新

正如我在评论中提到的,我发现的两件可能有帮助的事情是

  • istioctl算子日志

如果您的更新出现了问题,那么它将出现在istio操作符日志中,并且更新将失败。

您可以通过检查操作员控制器日志来观察控制器在集群中响应IstioOperator CR更新所做的更改:

代码语言:javascript
复制
$ kubectl logs -f -n istio-operator $(kubectl get pods -n istio-operator -lname=istio-operator -o jsonpath='{.items[0].metadata.name}')

验证安装是否成功,您可以使用Verify命令检查Istio安装是否成功,该命令将集群上的安装与您指定的清单进行比较。 如果您在部署之前没有生成清单,那么现在运行以下命令来生成它:

代码语言:javascript
复制
$ istioctl manifest generate <your original installation options> > $HOME/generated-manifest.yaml

然后运行下面的校验-安装命令,查看安装是否成功:

代码语言:javascript
复制
$ istioctl verify-install -f $HOME/generated-manifest.yaml

希望你觉得这个有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62767568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档