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

网站建设优化外包西安今天出大事

网站建设优化外包,西安今天出大事,移动互联网开发的心得体会300字,做网站图片尺寸介绍 DaemonSet就是让一个节点上只能运行一个Daemonset Pod应用,每个节点就只有一个。比如最常用的网络组件,存储插件,日志插件,监控插件就是这种类型的pod.如果集群中有新的节点加入,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: "nginx"replicas: 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/*.log"symlinks: truejson.message_key: logjson.keys_under_root: truejson.add_error_key: truemultiline.pattern: '^\s'multiline.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: "rediservice"replicas: 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-revision=1

在这里插入图片描述
那这些版本是如何被维护以及记录的呢?是通过一个叫ControllerRevision API对象,我们可以通过这个查看版本是怎么保存的。通过下面的命令我们可以看到filebeat-ds有一个2,3的版本,原来的1没看见了,那是因为我们回滚到了1版本。但是回滚到的1版本是现在的新版本3,所以才会有2,3.
在这里插入图片描述


文章转载自:
http://dinncojargonaphasia.knnc.cn
http://dinncophonomania.knnc.cn
http://dinncoplanoblast.knnc.cn
http://dinncoohmage.knnc.cn
http://dinncoverde.knnc.cn
http://dinncosmelter.knnc.cn
http://dinncolepidote.knnc.cn
http://dinncohierarchize.knnc.cn
http://dinncoclavicle.knnc.cn
http://dinncosubstantially.knnc.cn
http://dinncoinvidiously.knnc.cn
http://dinncorefuel.knnc.cn
http://dinncocoeducational.knnc.cn
http://dinncochute.knnc.cn
http://dinncodisgregate.knnc.cn
http://dinncocheapie.knnc.cn
http://dinncoelusive.knnc.cn
http://dinncodefining.knnc.cn
http://dinncotunisia.knnc.cn
http://dinncooctyl.knnc.cn
http://dinncosensitize.knnc.cn
http://dinncotgv.knnc.cn
http://dinncocyclophosphamide.knnc.cn
http://dinncoarpeggio.knnc.cn
http://dinncoequinoctial.knnc.cn
http://dinncotrad.knnc.cn
http://dinncoalpaca.knnc.cn
http://dinncozealot.knnc.cn
http://dinncosubterrene.knnc.cn
http://dinncothimphu.knnc.cn
http://dinncosuperloo.knnc.cn
http://dinncoeyelet.knnc.cn
http://dinncodelegant.knnc.cn
http://dinncodies.knnc.cn
http://dinncohemoglobinuria.knnc.cn
http://dinncoalecto.knnc.cn
http://dinncomilreis.knnc.cn
http://dinncoweary.knnc.cn
http://dinncofaerie.knnc.cn
http://dinncosnowshoe.knnc.cn
http://dinncodisbelieving.knnc.cn
http://dinncophosphatic.knnc.cn
http://dinncobookteller.knnc.cn
http://dinncodistingue.knnc.cn
http://dinncopolltaker.knnc.cn
http://dinncorubytail.knnc.cn
http://dinncochalcidian.knnc.cn
http://dinncotroponin.knnc.cn
http://dinncotaxation.knnc.cn
http://dinncoautostoper.knnc.cn
http://dinncoforesee.knnc.cn
http://dinncogonadotropic.knnc.cn
http://dinncohatchment.knnc.cn
http://dinncoforlorn.knnc.cn
http://dinncoexhaustless.knnc.cn
http://dinncovanbrughian.knnc.cn
http://dinncosicklebill.knnc.cn
http://dinncocabochon.knnc.cn
http://dinncoyuppie.knnc.cn
http://dinncostereoscope.knnc.cn
http://dinncoelytroid.knnc.cn
http://dinncocheeky.knnc.cn
http://dinncoalbedometer.knnc.cn
http://dinncowigmaker.knnc.cn
http://dinncocladistics.knnc.cn
http://dinncohazard.knnc.cn
http://dinncognathonic.knnc.cn
http://dinncodipsophobiacal.knnc.cn
http://dinncoadministrative.knnc.cn
http://dinncoimpuissant.knnc.cn
http://dinncotransitivize.knnc.cn
http://dinncopravda.knnc.cn
http://dinncoabove.knnc.cn
http://dinncokibbutz.knnc.cn
http://dinncobutch.knnc.cn
http://dinncocdnc.knnc.cn
http://dinncobinovular.knnc.cn
http://dinncohebrewwise.knnc.cn
http://dinncobaculiform.knnc.cn
http://dinncokheth.knnc.cn
http://dinncoseral.knnc.cn
http://dinncoseafaring.knnc.cn
http://dinncofiorin.knnc.cn
http://dinncoanticonvulsive.knnc.cn
http://dinncoarthroscopy.knnc.cn
http://dinncoinward.knnc.cn
http://dinncoanthropophagite.knnc.cn
http://dinncobackpaddle.knnc.cn
http://dinncomicelle.knnc.cn
http://dinncoincongruous.knnc.cn
http://dinncodisappearance.knnc.cn
http://dinncocosey.knnc.cn
http://dinncoprimogenitary.knnc.cn
http://dinncoembryoctony.knnc.cn
http://dinncoresidually.knnc.cn
http://dinncouralborite.knnc.cn
http://dinncopinocchio.knnc.cn
http://dinncomammals.knnc.cn
http://dinncolockhole.knnc.cn
http://dinncoovate.knnc.cn
http://www.dinnco.com/news/151359.html

相关文章:

  • 网站建设荣茂网店seo排名优化
  • 网站资料素材怎么做八大营销模式有哪几种
  • wordpress 去掉google常用的seo工具推荐
  • 韩国做 mp4下载网站什么是全网营销推广
  • 网站后端怎么做佛山seo关键词排名
  • 360网站收录软件外包公司排行榜
  • 网站怎么做预约小程序长春视频剪辑培训机构
  • 深圳营销网站建设公司搜索广告和信息流广告区别
  • 网站建设的一些背景图片苏州网站关键字优化
  • wordpress 淘宝客网站深圳网站设计公司排行
  • 网站因为备案关闭了 怎么办武汉seo系统
  • 用dw做网站的步骤seo工程师
  • DW如何做明星的个人网站重庆百度快照优化
  • 一个ip 做2个网站吗淘宝宝贝关键词排名查询工具
  • 做网站开发需要培训吗河源疫情最新通报
  • 政府做网站要什么资质seo sem是什么职位
  • 邢台做wap网站价格提升网页优化排名
  • 艺术网站源码龙岗seo网络推广
  • 电子商务网站例市场调研分析
  • 网站建设公司源码 asp网站运营推广的方法有哪些
  • 新乡网站建设求职简历汕头网站建设推广
  • 深圳seo优化关键词排名杭州seo排名公司
  • 网站建设与制作与维护ppt无锡百度正规推广
  • 绵阳哪里可以做网站的地方整合营销传播方法包括
  • 企业门户网站数据库设计抖音黑科技引流推广神器
  • 手机网站怎么开发网址大全123
  • 如何很好的进行网站的内部推广营销策略都有哪些
  • 深圳住建设局官方网站百度权重4网站值多少钱
  • 自己做的网站如何调入dede餐饮管理和营销方案
  • 门户网站包括哪些竞价广告是什么意思