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

网站开发人员薪酬wordpress格式化sql串

网站开发人员薪酬,wordpress格式化sql串,电子商务网站建设的开发背景,青岛seo整站优化介绍 DaemonSet就是让一个节点上只能运行一个Daemonset Pod应用#xff0c;每个节点就只有一个。比如最常用的网络组件#xff0c;存储插件#xff0c;日志插件#xff0c;监控插件就是这种类型的pod.如果集群中有新的节点加入#xff0c;DaemonSet也会在新的节点创建出来… 介绍 DaemonSet就是让一个节点上只能运行一个Daemonset Pod应用每个节点就只有一个。比如最常用的网络组件存储插件日志插件监控插件就是这种类型的pod.如果集群中有新的节点加入DaemonSet也会在新的节点创建出来。   DaemonSet如何保证每个节点只有一个Pod副本运行呢DaemonSet首先从Etcd获取所有Node的列表然后它会去检查所有的Node,如果这个节点上没有所要运行的DaemonSet就会启动一个出来。如果这个节点有1个以上的DaemonSet那就会删除那个多余的DaemonSet。如果刚好只有一个运行那这个节点就是正常的运行的。 DaemonSet例子 现在我们通过一个日志收集的例子来学习DaemonSet.根据上一篇的介绍我们继续把那个nginx稍微修改一下让它的日志目录映射出来。可以看出来和上一章的没太大区别只是我们把nginx的日志目录映射到了宿主机的/tmp/log 目录。 apiVersion: v1 kind: Service metadata:name: nginxlabels:app: nginx spec:ports:- port: 80name: webclusterIP: Noneselector:app: nginx --- apiVersion: apps/v1 kind: StatefulSet metadata:name: web spec:serviceName: nginxreplicas: 2selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:1.22.1ports:- containerPort: 80name: webvolumeMounts:- name: wwwmountPath: /usr/share/nginx/html- name: varlogmountPath: /var/log/nginxvolumes:- name: varloghostPath:path: /tmp/log volumeClaimTemplates:- metadata:name: wwwspec:storageClassName: rook-ceph-blockaccessModes:- ReadWriteOnceresources:requests:storage: 1Gi 这样我们在宿主机的/tmp/log 目录看到nginx产生的日志。 现在我们生成一个日志收集的DaemonSet。收集的日志保存在redis中。先看yaml文件。所有涉及的容器镜像可以在这里下载 提取码: 6bqe 1.ConfigMap 由于我们用的FileBeat的来采集日志这个名为filebeat-config的ConfigMap会在/etc/filebeat/目录生成一个filebeat.yml的配置文件这个配置文件就是filebeat的配置文件。这个配置文件指定会在/var/log/nginx/目录下的所有log文件的内容会推送到Redis中。 2.Redis 这里配置的Redis配置的是一个StatefulSet pod并且还给它配置了一个headless service用户固定它的网络标识。 3. FileBeat DaemonSet 最下面的Yaml配置就是filebeat的配置它会把上面nginx映射出来的宿主日志目录/tmp/log作为Volume又挂接到DaemonSet的 /var/log/nginx/目录同时它也把Redis的网络标识redis-0.rediservice.default.svc.cluster.local放入配置中。这样整个DaemonSet就能把日志推送到redis中。 apiVersion: v1 kind: ConfigMap metadata:name: filebeat-confignamespace: default data:filebeat.yml: |-filebeat.registry_file: /var/log/containers/filebeat_registryfilebeat.idle_timeout: 5sfilebeat.spool_size: 2048logging.level: infofilebeat.prospectors:- input_type: logpaths:- /var/log/nginx/*.logsymlinks: truejson.message_key: logjson.keys_under_root: truejson.add_error_key: truemultiline.pattern: ^\smultiline.match: afterdocument_type: kube-logstail_files: truefields_under_root: trueoutput.redis:hosts: ${REDIS_HOST:?No Redis host configured. Use env var REDIS_HOST to set host.}key: filebeat --- apiVersion: v1 kind: Service metadata:name: rediservicelabels:app: redis spec:ports:- port: 6379name: redisclusterIP: Noneselector:app: redis --- apiVersion: apps/v1 kind: StatefulSet metadata:name: redisnamespace: default spec:serviceName: rediservicereplicas: 1selector:matchLabels:app: redisrole: logstortemplate:metadata:labels:app: redisrole: logstorspec:containers:- name: redisimage: redis:4.0-alpineports:- name: rediscontainerPort: 6379 --- apiVersion: apps/v1 kind: DaemonSet metadata:name: filebeat-dsnamespace: default spec:selector:matchLabels:app: filebeatrelease: stabletemplate:metadata:labels: app: filebeatrelease: stablespec:containers:- name: filebeatimage: ikubernetes/filebeat:5.6.5-alpinevolumeMounts:- name: filebeat-configmountPath: /etc/filebeat- name: nginx-logsmountPath: /var/log/nginx/env:- name: REDIS_HOSTvalue: redis-0.rediservice.default.svc.cluster.local- name: REDIS_LOG_LEVELvalue: debug volumes:- name: filebeat-configconfigMap:name: filebeat-config- name: nginx-logshostPath:path: /tmp/log 把上面的yaml通过kubectl apply -f 的形式运行到K8s.运行完成后会生成下面的pod。可以看到每个node节点只有一个filebeat运行。 接下来我们通过curl命令生成一些nginx日志。我们直接对web-1的nginx产生日志。 for i in {1..4096} ; do curl 10.244.2.24 ; done执行完成后我们进入redis看日志是否有生成。 kubectl exec -it redis-0 /usr/local/bin/redis-cli进入redis我们通过keys *的命令看到产生了一个filebeat的键值里面保存的就是日志但是里面的日志是list类型的。我们通过lrange filebeat 1 2可以查看到刚才产生的日志信息。 其实DaemonSet和Deployment一样都是可以版本管理的。通过下面的命令我们可以看到filebeat-ds的历史版本现在的版本只有1个。 kubectl rollout history daemonset filebeat-ds现在我们把filebeat的版本升级一下升级到filebeat:5.6.6-alpine。filebeatupdateimage.yaml 升级的yaml文件如下 apiVersion: apps/v1 kind: DaemonSet metadata:name: filebeat-dsnamespace: default spec:selector:matchLabels:app: filebeatrelease: stabletemplate:metadata:labels: app: filebeatrelease: stablespec:containers:- name: filebeatimage: ikubernetes/filebeat:5.6.6-alpinevolumeMounts:- name: filebeat-configmountPath: /etc/filebeat- name: nginx-logsmountPath: /var/log/nginx/env:- name: REDIS_HOSTvalue: redis-0.rediservice.default.svc.cluster.local- name: REDIS_LOG_LEVELvalue: debug volumes:- name: filebeat-configconfigMap:name: filebeat-config- name: nginx-logshostPath:path: /tmp/log 升级版本可以看到filebeat的pod id都发生了变化。并且历史版本多出一个版本。 kubectl apply -f filebeatupdateimage.yaml 如果我们要回到1号版本我们可以运行如下命令同时看到pod又重新新建了。 kubectl rollout undo daemonset filebeat-ds --to-revision1那这些版本是如何被维护以及记录的呢是通过一个叫ControllerRevision API对象我们可以通过这个查看版本是怎么保存的。通过下面的命令我们可以看到filebeat-ds有一个23的版本原来的1没看见了那是因为我们回滚到了1版本。但是回滚到的1版本是现在的新版本3所以才会有23.
http://www.dnsts.com.cn/news/195179.html

相关文章:

  • 个人网站注销原因中文在线 在线
  • 网站建设初级教程网站构建代码模板
  • 网站建设基础流程深圳市网络seo推广价格
  • 一个网站是怎么建立的仿牌网站 域名注册
  • 企业为什么做企业网站和推广西安室内设计公司排名
  • 网站环境配置外发加工网会员
  • 网站建设毕业设计的分类号页面效果设计
  • 如何查询一个网站的空间服务商东莞建设网站制作
  • 做网站设计制作的公司装饰公司取名
  • 宣传型网站建设想开个网站怎样开
  • 网站建设模块化实现郑州专业网站推广公司
  • 网站搜索出来有图片ppt设计器在哪里
  • 网站js修改头像代码做平面设计素材的哪个网站好
  • 淮安做网站 卓越凯欣建设银行龙卡信用卡在境外网站支付
  • 东莞食品公司东莞网站建设seo内容优化
  • 建设银行潍坊支行网站深圳做网站价格
  • 个人网站的搭建福建住建设厅官方网站
  • 淘宝优惠券 如果做网站成都网站建设 天空在线
  • html5国内网站平顶山市住房和城乡建设局网站
  • 深圳市工程建设造价网站小程序定制开发多少钱一个
  • 网站开发后台做些什么怎么建设自己的网站
  • 网络营销之网站建设加强学校网站建设的要求
  • 如何利用微博推广网站wordpress编辑权限看不到媒体库
  • 提供微网站制作网络公司纸巾 技术支持 东莞网站建设
  • 国外公司网站设计wordpress轴值
  • 代理登录网站软件公司网站建设
  • 网站开发维护的工作职责网站怎么做导航
  • 青海省住房和建设门户网站服务器创建多个网站
  • 品牌网站设计提案中核华泰建设有限公司网站
  • 汽车网站模版广州网站建设 讯度网络