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

低成本做网站深圳各区房价一览表

低成本做网站,深圳各区房价一览表,昌平沙河网站建设,北京 企业网站开发作者简介 王海龙#xff0c;Rancher 中国社区技术经理#xff0c;Linux Foundation APAC Evangelist#xff0c;负责 Rancher 中国技术社区的维护和运营。拥有 9 年的云计算领域经验#xff0c;经历了 OpenStack 到 Kubernetes 的技术变革#xff0c;无论底层操作系统 Lin… 作者简介 王海龙Rancher 中国社区技术经理Linux Foundation APAC Evangelist负责 Rancher 中国技术社区的维护和运营。拥有 9 年的云计算领域经验经历了 OpenStack 到 Kubernetes 的技术变革无论底层操作系统 Linux还是虚拟化 KVM 或是 Docker 容器技术都有丰富的运维和实践经验。 随着容器化应用的普及Kubernetes 成为了管理和编排这些容器的首选平台。对于资源受限的生产环境和边缘部署来说K3s 是一个理想的轻量级 Kubernetes 发行版。然而为了确保 K3s 集群的稳定性和性能监控是至关重要的。本文将介绍如何通过 kube-prometheus-stack 来监控 K3s 集群的运行状态。 先决条件 K3s 集群 你必须拥有一个健康的 Rancher K3s 集群。本次示例将安装两个节点的 K3s 集群一个 K3s master 节点一个 K3s worker 节点并且集群采用嵌入式 etcd 作为数据存储。 本文使用的 K3s 版本为v1.27.6k3s1 Helm 如果你尚未安装 Helm3请参考 Helm 官网文档 安装 Helm。 Kubernetes Storage Class 为了支持集群中任何节点上的监控组件的持久化和调度你需要提供 Kubernetes Storage Class。 你可以使用像 Longhorn 这样成熟的集群存储解决方案。但为了方便演示本文使用 K3s 自带的 Local Path Provisioner。 K3s 集群准备 默认情况下K3s 将其多个管理组件绑定到节点主机的 localhost 127.0.0.1 地址具体为Kube Controller Manager、Kube Proxy 和 Kube Scheduler。 但是为了进行监控我们需要公开这些 endpoint以便 Prometheus 可以提取它们的指标。因此我们需要在 0.0.0.0 地址上公开这些组件的 metrics。 你可以通过将包含以下内容的文件放置在 “/etc/rancher/k3s/config.yaml” 中来更改 K3s master 节点上的这些设置。 # /etc/rancher/k3s/config.yaml kube-controller-manager-arg: - bind-address0.0.0.0 kube-proxy-arg: - metrics-bind-address0.0.0.0 kube-scheduler-arg: - bind-address0.0.0.0 # 公开 etcd metrics etcd-expose-metrics: true另外K3s worker 节点上也运行了 Kube Proxy 组件所以也需要在 K3s worker 节点的 “/etc/rancher/k3s/config.yaml” 中添加如下配置: # /etc/rancher/k3s/config.yaml kube-proxy-arg: - metrics-bind-address0.0.0.0安装 K3s 集群 K3s master 节点 1.配置 K3s masterIP172.31.38.19 rootip-172-31-38-19:~# mkdir -p /etc/rancher/k3s/ rootip-172-31-38-19:~# cat /etc/rancher/k3s/config.yaml EOL # /etc/rancher/k3s/config.yaml kube-controller-manager-arg: - bind-address0.0.0.0 kube-proxy-arg: - metrics-bind-address0.0.0.0 kube-scheduler-arg: - bind-address0.0.0.0 # 公开 etcd metrics etcd-expose-metrics: true EOL2.安装 K3s master rootip-172-31-38-19:~# curl -sfL https://get.k3s.io | K3S_TOKENSECRET sh -s - server --cluster-initK3s worker 节点 1.配置 K3s workerIP172.31.41.39 rootip-172-31-41-39:~# mkdir -p /etc/rancher/k3s/ rootip-172-31-41-39:~# cat /etc/rancher/k3s/config.yaml EOL # /etc/rancher/k3s/config.yaml kube-proxy-arg: - metrics-bind-address0.0.0.0 EOL2.安装 K3s worker rootip-172-31-41-39:~# curl -sfL https://get.k3s.io | K3S_TOKENSECRET sh -s - agent --server https://ip or hostname of server:6443现在每个服务都有可用的侦听器Prometheus 就可以抓取这些 metrics # kubeControllerManager port: 10257 # kubeScheduler port: 10259 # kubeProxy port: 10249rootip-172-31-38-19:~# ss -lntp | grep -E 10257|10259|10249 LISTEN 0 4096 *:10249 *:* users:((k3s-server,pid3504,fd203)) LISTEN 0 4096 *:10259 *:* users:((k3s-server,pid3504,fd201)) LISTEN 0 4096 *:10257 *:* users:((k3s-server,pid3504,fd178))修改 Traefik Metrics 端口 K3s 使用 Traefik 作为开箱即用的 Ingress 控制器在启动 K3s 时默认部署。默认配置文件位于 /var/lib/rancher/k3s/server/manifests/traefik.yamlTraefik 默认的 metrics 端口为 9100并且使用 HostPort 启动这样就和 node-exporter 的 9100 端口冲突所以我们需要提前修改 Traefik 的 metrics 端口。 要修改 Traefik 的配置信息不要手动编辑 traefik.yaml 文件因为 K3s 会在启动时使用默认值替换该文件。相反你需要通过在 /var/lib/rancher/k3s/server/manifests 中创建 HelmChartConfig 清单来自定义 Traefik。有关更多详细信息和示例请参阅使用 HelmChartConfig 自定义打包组件。有关配置 traefik 配置的更多信息请参阅官方 Traefik Helm 配置参数。 ## 本示例将 traefik 的 metrics 端口修改为 9900 rootip-172-31-38-19:~# cat /var/lib/rancher/k3s/server/manifests/traefik-config.yaml EOL apiVersion: helm.cattle.io/v1 kind: HelmChartConfig metadata:name: traefiknamespace: kube-system spec:valuesContent: |-ports:metrics:port: 9900exposedPort: 9900 EOLHelm 自定义 values.yaml 文件 在使用 Helm 安装 kube-prometheus-stack 之前我们需要创建一个自定义 values.yam 文件来调整 K3s 集群的默认 chart 配置。 覆盖管理组件配置 我们放在 K3s master 节点 (172.31.38.19) 上的 config.yaml 文件中公开了 Kube Controller Manager、Kube Proxy 和 Kube Scheduler 上的 metrics并且在 K3s worker 节点上公开了 Kube Proxy 的 metrics。所以需要在 values.yaml 中指定对应的 endpoints 和 port。如果没有这些显式的设置kube-prometheus-stack 将无法找到这些 metrics。 endpoints 是一个数组因此如果你有 3 个 HA master 节点则需要指定所有 3 个 IP 地址。以下配置中其实只设置 endpoints 即可其他参数均为默认值加上这些配置值是为了更详细的说明配置项。 kubeControllerManager:enabled: trueendpoints:- 172.31.38.19service:enabled: trueport: 10257targetPort: 10257serviceMonitor:enabled: truehttps: falsekubeScheduler:enabled: trueendpoints:- 172.31.38.19service:enabled: trueport: 10259targetPort: 10259serviceMonitor:enabled: truehttps: falsekubeProxy:enabled: trueendpoints:- 172.31.38.19- 172.31.41.39service:enabled: trueport: 10249targetPort: 10249覆盖 ETCD 配置 kubeEtcd:enabled: trueendpoints:- 172.31.38.19持久化存储 生产环境请务必为 AlertManager、Grafana 和 Prometheus 使用外部存储。如果不这样做将使用一个 emptyDir该目录仅在 Pod 生命周期内有效。 即使使用 K3s local-path storage class  也只能提供节点级别的持久化。本文为了方便演示使用的是 local-path。生产环境建议使用像 Longhorn 这样成熟的集群存储解决方案。 alertmanager:alertmanagerSpec:storage:volumeClaimTemplate:spec:storageClassName: local-pathaccessModes: [ReadWriteOnce]resources:requests:storage: 10Giprometheus:prometheusSpec:storageSpec:## Using PersistentVolumeClaim##volumeClaimTemplate:spec:storageClassName: local-pathaccessModes: [ReadWriteOnce]resources:requests:storage: 10Gigrafana:persistence:type: pvcenabled: truestorageClassName: local-pathaccessModes: [ReadWriteOnce]size: 1024Mi完整的 values.yaml 文件 我在 github 中有一个监控 K3s 集群的完整示例 values.yaml 文件。这个示例 values.yaml 文件中包含了 Ingress 和 公开 AlertManager、Grafana 和 Prometheus 的设置还有一些关于 AlertManager 的告警配置信息但这些设置并非特定于 K3s。 这个示例中也包含了监控 traefik 的 prometheus 配置如果大家有需求也可以参考。 Helm 安装 kube-prometheus-stack # helm repo add prometheus-community https://prometheus-community.github.io/helm-charts # helm repo update# kubectl create namespace monitoring # helm install prometheus-community prometheus-community/kube-prometheus-stack --namespace monitoring -f values.yaml如果你修改 values.yaml 文件并需要更新版本请将 install 更改为 upgrade。 # helm -n monitoring upgrade prometheus-community prometheus-community/kube-prometheus-stack -f values.yaml验证安装状态: # 列出所有 namespace 中的 releases helm list -A # 列出 monitoring namespace 中的 releases helm list -n monitoring# 检查 prometheus stack release 状态 helm status prometheus-community -n monitoring安装完成后我们就可以访问 Prometheus、Alertmanager、Grafana 的 UI 来查看 K3s 集群的状态 总 结 监控是运维工作中的重要一环能够帮你及时发现和解决潜在问题提高集群的可用性和效率。按照本文的步骤你可以轻松地使用 kube-prometheus-stack 监控 K3s 集群确保其稳定性和性能。借助 Prometheus、Alertmanager 和 Grafana你可以创建交互式仪表板和可视化深入了解集群的运行状况为你的应用程序提供更好的支持和管理。希望本文对你有所帮助让你更好地运维和管理 K3s 集群。
http://www.w-s-a.com/news/686947/

相关文章:

  • 模拟网站建设网站建设认准猪八戒网
  • godaddy网站建设教程微信手机网站搭建
  • 网站建设 商城淄博网站制作哪家好
  • 廊坊手机网站团队国际贸易进口代理公司
  • 运用django做网站网站建设问题及解决办法
  • 商丘企业网站服务c mvc 网站开发
  • 太仓建设工程网站广州seo排名外包
  • 成都的教育品牌网站建设做网站不给提供ftp
  • 建站行业市场人力管理系统
  • qq钓鱼网站在线生成器google关键词搜索工具
  • 化妆网站模板移动网站建设模板
  • 欢迎访问语文建设杂志网站网站蓝色配色
  • 最新网站发布重庆城乡建设部网站首页
  • 网站建设费用高鄂尔多斯seo
  • dw做网站怎么发布网站无后台可以上框架
  • 网络公司如何建网站网站的建设需要多少钱
  • 代刷网站推广快速泉州网页定制
  • 网站优秀网站地址做宣传册的公司
  • 苏州高端网站建设咨询wordpress云图插件
  • 河北省建设厅网站重新安装优秀中文网页设计
  • 如何在腾讯云做网站开源站群cms
  • 公司网站建设的意义网易做网站
  • 网络营销案例分析与实践搜外seo
  • 手机建网站挣钱吗wordpress面包屑
  • 淘客做网站怎么备案网站开发工具的是什么
  • 提供大良网站建设郑州网站建设网站开发
  • 邢台做wap网站价格wordpress评论滑动
  • 绝味鸭脖网站建设规划书江苏建设人才网 官网
  • 网站源码授权破解centos wordpress 整站
  • 建设一个私人视频网站wordpress js