当前位置: 首页 > wzjs >正文

班级网站怎么做国家城乡建设规划部网站

班级网站怎么做,国家城乡建设规划部网站,东阿聊城做网站的公司,河北网络营销推广seo简介 kube-apiserver 是 Kubernetes 控制平面组件之一,作为控制平面的前端负责向集群内外部提供 RestFul 接口,完成认证鉴权、Kubernetes 对象配置和持久化等功能。例如,常用于 Kubernetes 自动注入的 AdmissionControl 机制就在 kube-apise…

简介

kube-apiserver 是 Kubernetes 控制平面组件之一,作为控制平面的前端负责向集群内外部提供 RestFul 接口,完成认证鉴权、Kubernetes 对象配置和持久化等功能。例如,常用于 Kubernetes 自动注入的 AdmissionControl 机制就在 kube-apiserver 中实现。在高可用 Kubernetes 集群中,kube-apiserver 通过负载均衡以多实例的方式提供服务,存在多种实例部署方式,主机守护进程、Static Pod、自托管 Pod、云托管 Pod 等。

kube-apiserver 的众多功能分布在不同的领域,例如 API 扩展、安全控制、自动化等,但从集群和组件稳定性保障的角度来看,只需要关注部分核心指标:QPS、错误率、延迟、限流情况和计算资源用量,这些指标对于任何 apiserver 都是适用的。Kubernetes 在设计上遵循 OpenMetric,这是一个在 Prometheus 格式基础上扩展和规范化的云原生指标事实标准,kube-apiserver 自然也使用此协议暴露指标,我们可以通过 kube-apiserver 的 metrics 端点获得指标。

具体到 kube-apiserver,它的核心指标中包含了丰富的业务标签,例如资源名、动词等,因此可以在以上通用核心指标的基础上进行一些扩展:请求失败或者延迟分布在对哪些资源的哪些操作之中?从核心指标告警到基于标签的分析再到确定问题的细节是我们推荐的工作流,为告警监控器关联分析仪表盘可以快速达成分析目的,后面我们会通过一个案例做说明。相较来说,为每个 API 的每个维度配置精确的监控检测反而会带来大量的噪声,当然,也存在一些例外情况,例如针对高频操作配置有限维度的监控检测等。除了以上提到的通用指标之外,还有一些特定指标会对 kube-apiserver 的性能产生影响,例如它的存储后端 Etcd 的请求延时情况,以及各类资源的数量,当某些资源的数量太大且存在频繁操作时可能会引起一些问题。

在 kube-apiserver 的众多问题中性能问题占有较大的比重,当性能出现问题时会触发 kube-apiserver 的自我保护机制:限流,因此在这里我们有必要简单说明下相关的原理,用来为问题分析提供一些支撑。Kubernetes 1.18 版本之后默认采用 APF(API Priority and Fairness)机制进行细粒度和公平的流量控制,避免了以往使用 --max-requests-inflight 和 --max-mutating-requests-inflight 参数整体控制容易导致大流量请求挤占其他请求的问题。APF 机制涉及两类资源:

  • Flowschemas,将对资源的操作映射到一个 PriorityLevelConfiguration;
  • PriorityLevelConfiguration,可以被多个 Flowschemas 关联,定义了不同优先级的并发资源限制;

它们都可以通过 kubectl get xxx 的方式查询。不同优先级的并发资源是隔离的,因此不会相互影响,相同优先级的请求从公平队列中分发,不同 Flowschemas 的请求也不会相互影响,但 APF 机制对长时间的请求是不生效的,例如 Watch。那在何时会触发限流呢?我们从 PriorityLevelConfiguration 的配置看,首先,spec.type 的值为 Limited,spec.limited.limitResponse.type 的值为 Reject 时,实际单位时间请求量超过该优先级spec.limited.nominalConcurrencyShares 设定值时会被直接拒绝,spec.limited.limitResponse.type 的值为 Queue 时,超限制的请求会被排队,队列长度到达上限时才会被拒绝,一旦拒绝客户端就会收到 HTTP 429 响应码。

观测云

观测云采集器 DataKit 支持 Kubernetes Prometheus Discovery,能够根据标签自动匹配 Prometheus 指标端点并收集指标。

部署 DataKit

登录观测云控制台,点击「集成」-「DataKit」-「Kubernetes」,下载 datakit.yaml,拷贝第3步中 ENV_DATAWAY 键的值。

编辑 datakit.yaml,修改 DaemonSet 环境变量:

  • 修改 ENV_DATAWAY 的值为上一步中拷贝的值;
  • 修改 ENV_CLUSTER_NAME_K8S 的值为集群名称;
  • 新增 ENV_NAMESPACE,值为集群名称;

执行以下命令部署 Datakit 并验证:

kubectl apply -f datakit.yaml
kubectl get pods -n datakit

开启 Kubernetes Prometheus Discovery 插件

创建 Configmap 并挂载为 Datakit kubernetesprometheus 采集器的配置文件即可开启采集,插件通过角色、命名空间、标签自动发现采集端点。注意在 [inputs.kubernetesprometheus.instances.custom.tags] 中配置 Kubernetes 集群名作为指标标签,其他标签将根据配置自动取值。标签用于区分不同集群、实例、关联基础设施指标。插件配置举例如下:

apiVersion: v1
kind: ConfigMap
metadata:name: datakit-confnamespace: datakit
data:kube-apiserver.conf: |-[inputs.kubernetesprometheus]node_local = true[[inputs.kubernetesprometheus.instances]]role            = "pod"namespaces      = ["kube-system"]selector        = "component=kube-apiserver,tier=control-plane"scrape          = "true"scheme          = "https"port            = "6443"path            = "/metrics"scrape_interval = "60s"[inputs.kubernetesprometheus.instances.custom]measurement        = "kube_apiserver"job_as_measurement = false[inputs.kubernetesprometheus.instances.custom.tags]cluster_name_k8s = "fill-your-cluster-name"instance         = "__kubernetes_mate_instance"pod_name         = "__kubernetes_pod_name"pod_namespace    = "__kubernetes_pod_namespace"node_name        = "__kubernetes_pod_node_name"[inputs.kubernetesprometheus.instances.auth]bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"[inputs.kubernetesprometheus.instances.auth.tls_config]insecure_skip_verify = falseca_certs             = ["/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"]

为 DataKit 挂载配置文件的方式如下:

apiVersion: apps/v1
kind: DaemonSet
...
spec:...template:...spec:...containers:...volumeMounts:...- name: datakit-conf-kube-apiserversubPath: kube-apiserver.confmountPath: /usr/local/datakit/conf.d/kubernetesprometheus/kube-apiserver.confvolumes:...- name: datakit-conf-kube-apiserverconfigMap:name: datakit-conf-kube-apiserver

完整配置请参考观测云文档:

  • kube-apiserver 集成;
  • Kubernetes Prometheus 自动发现。

监控视图

监控视图包含关键指标、概览、资源、QPS 和延时、工作队列、准入控制器和 Webhook、客户端,共 7 个部分,可针对动词和资源过滤。截图如下:

关键指标

指标指标类型描述
apiserver_request_totalCounter分 verb、dry_run、group、version、resource、scope、component、code 统计请求数
apiserver_current_inflight_requestsGauge分 request_kind 统计当前读写请求数
apiserver_request_terminations_totalCounter分 code、component、group、resource、scope、subresource、verb、version 统计出于自我保护丢弃的请求数
apiserver_request_duration_seconds_bucketHistogram分 verb、dry_run、group、version、resource、subresource、scope、component 统计响应延迟分布
etcd_request_duration_seconds_bucketHistogram分 operation、type 统计 Etcd 响应延迟分布
apiserver_admission_controller_admission_duration_seconds_bucketHistogram分 name、operation、rejected、type 统计准入控制器延迟分布
apiserver_admission_webhook_admission_duration_seconds_bucketHistogram分 name、operation、rejected、type 统计准入 Webhook 响应延迟分布
workqueue_queue_duration_seconds_bucketHistogram分 name 统计请求在工作队列中的停留时长分布
workqueue_work_duration_seconds_bucketHistogram分 name 统计队列中请求处理时长分布
apiserver_storage_objectsGauge分 resource 统计最新的资源数量

Kubernetes 完整指标请参考 Kubernetes Metrics Reference。

监控器

观测云已内置部分监控器:

克隆一个“Kube-APIServer 准入 Webhook Admit 耗时过高”监控器用于测试,设置阈值大于 0 即告警,然后删除一个使用 Datakit Operator 做自动注入的资源,这将触发对 Webhook 的调用,从而触发告警:

点击告警事件,在详情页中点击查看关联仪表盘,在准入控制器和 Webhook 部分可以看到告警由 mutation.datakit.svc 引发,它正是由 Datakit Operator 提供的:

总结

Kubernetes 作为云原生理念的核心项目,其自身组件内置指标导出能力,观测云全面支持 Prometheus 集成,并内置监控器和根因分析支持。在 Kubernetes 的稳定性保障实践中,对 kube-apiserver 的观测是至关重要的,它不但是控制面的前端,也是观测控制面的窗口。


文章转载自:

http://9ctaCV9x.bwznL.cn
http://OHjUxJsE.bwznL.cn
http://TPNXg43p.bwznL.cn
http://IJAGNqO0.bwznL.cn
http://hfWf1mnU.bwznL.cn
http://GYqoIWWm.bwznL.cn
http://UL91HEwg.bwznL.cn
http://7bO4eVHL.bwznL.cn
http://h1IhMznC.bwznL.cn
http://PE3QUbK9.bwznL.cn
http://CNwTmkWI.bwznL.cn
http://RNN43XTF.bwznL.cn
http://mZaQQIoo.bwznL.cn
http://GoFXEnzo.bwznL.cn
http://u8sxOayJ.bwznL.cn
http://WFSbKEP8.bwznL.cn
http://s4XLH9Kp.bwznL.cn
http://vwFCplXq.bwznL.cn
http://BcaBxusX.bwznL.cn
http://CpysFfEG.bwznL.cn
http://Rce7Qs4B.bwznL.cn
http://KUZYa5Qf.bwznL.cn
http://AA7xPlmT.bwznL.cn
http://QdOcSNKW.bwznL.cn
http://H5D9Lnui.bwznL.cn
http://NFzyGJ4w.bwznL.cn
http://D5Qc7HNm.bwznL.cn
http://0KtJ84n7.bwznL.cn
http://BrjVnpaF.bwznL.cn
http://fUa2757I.bwznL.cn
http://www.dtcms.com/wzjs/636750.html

相关文章:

  • 做一个销售网站需要多少钱网站开发文档范例
  • 厦门网站开发培训没有企业邮箱怎么认证
  • 网站开发工资多少苏州易网推网络科技有限公司
  • 郑州英文网站建设网站的技术建设方案
  • 网站建设与运营实验手游传奇网站发布
  • 北京做公司网站扁平化设计网站 源码
  • 广东省公路建设公司网站做网站页面过大好
  • 2网站制作标识标牌
  • 成都集团网站设计推荐全国平面设计大赛官网
  • 深圳市网站建设科技公司兰州网络推广哪家好
  • 宁波网站建站推广万能建站网站
  • 怎么在网站后台做标题的超链接做设计兼职的网站有哪些工作
  • 制作企业网站的基本步骤网站seo优化综合服务公司哪家好
  • 手机网站制作流程图用手机制作招生简章的app
  • 国外校园网站建设分析医院网站建设政策
  • 网站百度收录义乌专业做网站的公司
  • 重庆微信网站制作价格万网注册域名就可以做网站吗
  • 网站开发制做市场调研报告1500字
  • 空间商网站ip被攻击后换ip怎么引流客源最好的方法
  • 保定网站制作计划国外做健康的网站
  • 个人如果做网站赚钱吗团队建设网站介绍
  • 塘沽集团网站建设wordpress实现用户中心
  • 中国建设监理企业协会网站seo在中国
  • 怎么创建网页桌面快捷方式seo人员是什么意思
  • 一页网站浙江建设信息港网站查询
  • php源码搭建网站流程国外一直小猫做图标的网站
  • 中国电子网百度软件优化排名
  • 南通企业自助建站官方网站是什么意思
  • 有没有高质量的网站都懂的企业网络营销策略设计
  • 济南智能网站建设哪家便宜物联网应用技术就业前景