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

做网站1核1g服务器够吗自己开公司

做网站1核1g服务器够吗,自己开公司,flash网站,wordpress500错误解决作者简介 王海龙#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/112132/

相关文章:

  • 网站建设全流程企业形象网站开发业务范畴
  • wordpress无法查看站点西安优秀高端网站建设服务商
  • 固始网站制作熟悉免费的网络营销方式
  • 做网站到a5卖站赚钱搜索引擎优化代理
  • 沈阳网站建设包括win10优化
  • 做百度手机网站点击软网站seo优化徐州百度网络
  • 徐州专业网站制作标志设计作业
  • 自己可以做网站空间吗海天建设集团有限公司网站
  • 教学督导网站建设报告aspcms网站图片不显示
  • 网站开发公司成本是什么门户网站宣传方案
  • 上海 企业网站建设网站怎么开通微信支付
  • 饮料网站建设wordpress主题猫
  • 网站建设需要编码不有没有专门的网站做品牌授权的
  • 做爰在线网站免费空间列表
  • 网站外链建设工作总结郑州网站建设扌汉狮网络
  • 建设企业网站的需要多长时间网站使用说明书模板
  • 建网站首页图片哪里找263企业邮箱网页版登录
  • 盐城网站建设电话高端定制网站
  • 成都网站seo技术施工企业样板先行制度
  • 高端网站建设电话河北建筑工程信息网站
  • 亲 怎么给一个网站做备份财务系统有哪些软件
  • wordpress重新手机优化专家下载
  • 怎样把网站做成软件设计工作室怎么接单
  • html网站设计实例代码重庆多个区划定风险区
  • 推广方案设计同一个网站可以同时做竞价和优化
  • 论坛网站开发 go电商扶贫网站建设
  • 个人建站教程优秀的定制网站建设
  • 农村建设集团有限公司网站下载百度极速版
  • 微信公众号个人可以做网站么做企业网站需要哪些
  • 如何用付费音乐做视频网站wordpress如何设置首页