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

如何开发网站软件app软件Thinkphp网站开发实例

如何开发网站软件app软件,Thinkphp网站开发实例,外包网站建设,长沙网络营销品牌排名dotnet-monitor可以在Kubernetes中作为Sidecar运行#xff0c;Sidecar是一个容器#xff0c;它与应用程序在同一个Pod中运行#xff0c;利用Sidecar模式使我们可以诊断及监控应用程序。如下图所示#xff0c;这是我们最终要实现的目标#xff0c;通过可视化界面查看应用程…dotnet-monitor可以在Kubernetes中作为Sidecar运行Sidecar是一个容器它与应用程序在同一个Pod中运行利用Sidecar模式使我们可以诊断及监控应用程序。如下图所示这是我们最终要实现的目标通过可视化界面查看应用程序的指标信息。应用服务创建dotnetmonitor.yaml文件如下所示。apiVersion: apps/v1 kind: Deployment metadata:name: dotnet-monitor-example spec:replicas: 3selector:matchLabels:app: dotnet-monitor-exampletemplate:metadata:annotations:prometheus.io/scrape: trueprometheus.io/port: 52325labels:app: dotnet-monitor-examplespec:containers:- name: serverimage: mcr.microsoft.com/dotnet/core/samples:aspnetappports:- containerPort: 80volumeMounts:- mountPath: /tmpname: tmp- name: sidecarimage: mcr.microsoft.com/dotnet/monitorports:- containerPort: 52323resources:requests:cpu: 50mmemory: 32Milimits:cpu: 250mmemory: 256Miargs: [--no-auth]env:- name: DOTNETMONITOR_Urlsvalue: http://:52323volumeMounts:- name: tmpmountPath: /tmpvolumes:- name: tmpemptyDir: {}Sidecar和应用程序共享tmp目录同时将目录映射到emptyDir类型的 Volume中。接下来创建dotnetmonitor-service.yaml为应用程序和Sidecar开放端口。apiVersion: v1 kind: Service metadata:name: dotnetmonitorlabels:app: dotnetmonitor spec:type: NodePortports:- name: sidecarprotocol: TCPport: 52323nodePort: 31623- name: appprotocol: TCPport: 80nodePort: 31624selector:app: dotnet-monitor-examplePrometheus配置创建prometheus-config.yaml文件通过ConfigMaps管理Prometheus的配置文件并写入如下内容。apiVersion: v1 kind: ConfigMap metadata:name: prometheus-config data:prometheus.yaml: |global:scrape_interval: 2s evaluation_interval: 2sscrape_configs:- job_name: prometheusstatic_configs:- targets: [localhost:9090]- job_name: default/dotnet-monitor-example/0honor_timestamps: truescrape_interval: 10sscrape_timeout: 10smetrics_path: /metricsscheme: httpfollow_redirects: truerelabel_configs:# 使用 Label __meta_kubernetes_pod_container_name 的值- source_labels: [__meta_kubernetes_pod_container_name]separator: ;# 正则表达式用于匹配源标签值使用的regex: sidecar# replacement指定的替换后的标签target_label对应的数值replacement: $1# keep就是保留符合正则表达式targets并显示出来action: keep - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]action: keepregex: true- source_labels: [__meta_kubernetes_pod_name]action: replacetarget_label: podkubernetes_sd_configs:- role: endpointsfollow_redirects: truenamespaces:names:- default在Prometheus中如果采用静态服务发现static_configs模式注册那么HPAHorizontalPodAutoscalerPod水平自动伸缩的变动会导致服务很难快速的注册如果频繁更改配置文件那么也是得不偿失的所以在此处选择kubernetes服务发现kubernetes_sd_configs模式除此之外Prometheus还支持其他方式的服务发现。static_configs: 静态服务发现dns_sd_configs: DNS 服务发现file_sd_configs: 文件服务发现kubernetes_sd_configs: Kubernetes 服务发现gce_sd_configs: GCE 服务发现ec2_sd_configs: EC2 服务发现openstack_sd_configs: OpenStack 服务发现azure_sd_configs: Azure 服务发现现在意味着我们会在Kubernetes中的会保留__meta_kubernetes_pod_container_name值为sidecar的同时也需要满足__meta_kubernetes_pod_annotation_prometheus_io_scrape属性为true的Pod。接下来创建prometheus-rbac-setup.yaml文件为了使Prometheus可以访问到Kubernetes API我们需要对Prometheus进行访问授权在Kubernetes中通过基于角色的访问控制模型Role-Based Access Control用于访问Kubernetes的资源。首先我们定义角色ClusterRole并设置相应的访问权限为Prometheus创建账号ServiceAccount最后将账号与角色进行绑定ClusterRoleBinding。apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata:name: prometheus rules: - apiGroups: []resources:- nodes- nodes/proxy- services- endpoints- podsverbs: [get, list, watch] - apiGroups:- extensionsresources:- ingressesverbs: [get, list, watch] - nonResourceURLs: [/metrics]verbs: [get] --- apiVersion: v1 kind: ServiceAccount metadata:name: prometheusnamespace: default --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata:name: prometheus roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: prometheus subjects: - kind: ServiceAccountname: prometheusnamespace: default创建prometheus-deployment.yaml文件。apiVersion: apps/v1 kind: Deployment metadata:labels:name: prometheusname: prometheus spec:replicas: 1selector:matchLabels:app: prometheus template:metadata:labels:app: prometheusspec:serviceAccountName: prometheuscontainers:- name: prometheusimage: prom/prometheus:latestcommand:- /bin/prometheusargs:- --config.file/etc/prometheus/prometheus.ymlports:- containerPort: 9090protocol: TCPvolumeMounts:- mountPath: /etc/prometheusname: prometheus-configvolumes:- name: prometheus-configconfigMap:name: prometheus-config创建prometheus-service.yaml文件。apiVersion: v1 kind: Service metadata:name: prometheuslabels:name: prometheus spec:type: NodePortports:- name: prometheusprotocol: TCPport: 9090targetPort: 9090nodePort: 32732selector:app: prometheus如下所示展示了Prometheus仪表盘GrafanaGrafana的内容不做展开了当然你可以直接查看或使用我的dashboard文件。https://github.com/hueifeng/dotnet-monitor-on-k8s参考部署Prometheushttps://dotnetos.org/blog/2021-11-22-dotnet-monitor-grafana/
http://www.yutouwan.com/news/441711/

相关文章:

  • 去菲律宾做网站企业网站建设一般考虑哪些因素?
  • 梧州建设厅官方网站网站推广的四个阶段包括
  • 企业网站系统那个好seo服务合同
  • 天津建设银行官方网站做公司网站建设价格
  • 免费网站推广的方法网站的建设维护及管理制度
  • 菏泽网站建设兼职网络营销介绍
  • 企业网站明细费用公众号版面设计创意
  • 网站seo优化推推蛙抖音代运营收费标准参考
  • 青岛即墨城乡建设局网站个性化定制软件
  • 深圳龙华区新石社区sem优化师
  • 杭州专业网站设计制作公司设计教学网站推荐
  • 浙江省城乡住房建设网站网站建设研究方法
  • 大作设计网站官网入口可以生成静态网站源码
  • 自己做有趣的网站医院网站建设目的
  • 企业网站建设论坛网站空间域名注册
  • 做网站需要会写代码网站建设提供书面资料清单
  • 谷歌网站统计济南微信网站
  • 网站建设英文版国涟建设集团有限公司网站
  • 可以做公司宣传的网站有哪些内容成都口碑最好的家装公司
  • 东莞网站推广宣传企业网站做优化排名象客
  • 西安网站建设创意wordpress 店铺
  • 信用南京网站iis怎么搭建设计网站
  • 华容网站建设wordpress 新闻模版
  • 马鞍山市直网站集约化建设上街网络推广
  • 企业网站策划怎么样宁波品牌网站建设服务电话
  • 公司网站开发题目来源制作彩页用什么软件
  • 北京高端企业网站建设合肥全网优化
  • 做一个免费网站网站开发中网页之间的链接形式有
  • 有教人做衣服的网站制作公司简介
  • 网站模板样式免费论坛申请无广告