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

旅游电子商务网站的建设方式网站制作算什么费用

旅游电子商务网站的建设方式,网站制作算什么费用,国内优秀网站赏析,专业微信网站建设Kubelet运行机制 Kubelet是Kubernetes中的一个重要组件#xff0c;在每个 Node 节点上都会启动 kubelet 服务。 该服务主要用于处理 Master 节点下发到本节点的任务#xff0c;管理 Pod及Pod 中的容器。每个kubelet 进程会在 API Server 上注册节点自身信息#xff0c;定期…Kubelet运行机制 Kubelet是Kubernetes中的一个重要组件在每个 Node 节点上都会启动 kubelet 服务。 该服务主要用于处理 Master 节点下发到本节点的任务管理 Pod及Pod 中的容器。每个kubelet 进程会在 API Server 上注册节点自身信息定期向 Master 节点汇报节点资源的使用情况 并通过cAdvisor 监控容器和节点资源。在本文中我们将分析Kubelet的运行机制。 Kubelet的工作流程 每个节点上的kubelet启动后它的工作流程可以分为以下几个步骤 获取Pod列表Kubeletwatch机制监视会从Master节点获取节点上的Pod列表。Master节点会将Pod列表发送给Kubelet并告诉Kubelet哪些Pod需要在该节点上运行。 创建Pod如果Kubelet发现节点上没有某个Pod的容器在运行它会根据Pod的定义创建容器。Kubelet会根据Pod的定义创建一个Pod Sandbox然后在Pod Sandbox中创建容器。 监控容器状态Kubelet会定期检查容器的状态并将状态报告给Master节点。如果容器出现故障Kubelet会尝试重启容器。如果重启失败Kubelet会将容器标记为失败并将状态报告给Master节点。 清理容器如果Kubelet发现某个容器已经被删除它会将该容器从节点上清理掉。 Kubelet的相关配置 Kubelet的配置文件可以放在多个配置文件中具体看部署方式。可能是/etc/kubernetes/kubelet.conf、/usr/lib/systemd/system/kubelet.service、/var/lib/kubelet/config.yaml。很多默认配置都可以不用修改主要的配置包括以下几个方面 节点名称Kubelet需要知道节点的名称以便向Master节点注册自己。 Pod网络Kubelet需要知道Pod网络的配置以便能够正确地创建Pod Sandbox和容器。 容器运行时Kubelet需要知道容器运行时的一些参数以便能够满足业务需要。 资源限制Kubelet需要知道节点的资源限制以便能够正确地调度Pod与优化相关。 Kubelet 状态更新机制 当 Kubernetes 中 Node 节点出现状态异常的情况下节点上的 Pod 会被重新调度到其他节点上去但是有的时候我们会发现节点 Down 掉以后Pod 并不会立即触发重新调度这实际上就是和 Kubelet 的状态更新机制密切相关的Kubernetes 提供了一些参数配置来触发重新调度到node时间下面我们来分析下 Kubelet 状态更新的基本流程。 默认情况下,正常的行为如下: kubelet 自身会定期更新状态到​ ​apiserver​​更新周期由--node-status-update-frequency参数指定默认值是10sKubernetes Controller Manager定期的检查kubelet状态该参数由–-node-monitor-period参数指定默认值5sKubernetes Controller Manager对kubelet状态更新有一个容忍值如果kubelet在这个容忍值内更新状态那么Kubernetes Controller Manager认为kubelet状态有效。具体为 当 node 失联一段时间后kubernetes 判定 node 为​​notready​​ 状态这段时长通过 ​​–node-monitor-grace-period​​ 参数配置默认为​​40s​​当 node 失联一段时间后kubernetes 判定 node 为​​unhealthy​​ 状态这段时长通过 ​​–node-startup-grace-period​​ 参数配置默认为1m当 node 失联一段时间后kubernetes 开始删除原 node 上的 pod这段时长是通过​​–pod-eviction-timeout​​ 参数配置默认为5m​ Kubernetes Controller Manager和kubelet异步工作这意味着延迟可能包含网络延迟API Server延迟etcd延迟节点负载等引起的延迟所以如果设置--node-status-update-frequency参数为5秒时那么当etcd无法将数据提交到仲裁节点时它可能会在etcd中等待6-7秒甚至更长才能被呈现 失败情况 kubelet将尝试发送nodeStatusUpdateRetry 当前nodeStatusUpdateRetry在kubelet.go.中设置为5次kubelet将使用 tryUpdateNodeStatus方法发送状态.kubelet使用golang的http.Client()方法,但是没指定超时时长因此当在apiserver过载时TCP连接会造成一些问题.因此这里尝试使用nodeStatusUpdateRetry 乘以 --node-status-update-frequency的值设置node状态.在同时Kubernetes Controller Manager每隔--node-monitor-period设置的时间检查nodeStatusUpdateRetry设置的次数经过--node-monitor-grace-period设定的时间将认为node不健康通过在 kube-apiserver组件中设置--default-not-ready-toleration-seconds --default-unreachable-toleration-seconds 这两个默认的容忍参数。Kubernetes 会自动为每个 pod 添加一个默认容忍配置默认容忍限制为60s。在添加这两个参数后需要重新部署所有 Pod 以确保将容忍添加到所有 Pod 中。除了使用kube-apiserver的参数使其对所有 pod 进行全局更改之外你还可以指定为 pod 设置忍驱逐时间。同时Kube-Proxy watch API server一旦pod被删除,那么集群中所有kube-proxy将更新其节点上的iptables规则,移除相应的endpoint这使得请求无法被发送到故障节点的pod 实际应用 默认的配置参数所属组件 参数值组件--node-status-update-frequency10skubelet--node-monitor-period5scontroller manager--node-monitor-grace-period40scontroller manager 快速更新和快速响应 参数值组件--node-status-update-frequency4skubelet--node-monitor-period2scontroller manager--node-monitor-grace-period20scontroller manager 如果--node-status-update-frequency设置为4s默认为10s。 --node-monitor-period设置为2s默认为5s。--node-monitor-grace-period设置20s默认为40s。--default-not-ready-toleration-seconds --default-unreachable-toleration-seconds 设置为30默认为 300 秒。注意这两个值应该是表示秒数的整数。 在这种情况下Pod 将在 50s 后被驱逐因为节点将在 20s 后被视为Down掉了--default-not-ready-toleration-seconds 或者 --default-unreachable-toleration-seconds 在 30s 之后开始删除Pod。但是这种情况会给 etcd 产生很大的开销因为每个节点都会每 2s 更新一次状态。 如果环境有1000个节点那么每分钟将有30000次节点更新操作这可能需要大型 etcd 容器甚至是 etcd 的专用节点。 如果我们计算尝试次数则除法将给出5但实际上每次尝试的 nodeStatusUpdateRetry 尝试将从3到5。 由于所有组件的延迟尝试总次数将在15到25之间变化。 中等更新和平均响应 参数值组件--node-status-update-frequency20skubelet--node-monitor-period5scontroller manager--node-monitor-grace-period2mcontroller manager 我们设置--node-status-update-frequency设置为20s。--node-monitor-grace-period设置为2m并将 --default-not-ready-toleration-seconds 和 --default-unreachable-toleration-seconds设置为60s。这种场景下会 20s 更新一次 node 状态Kubernetes Controller Manager 对 kubelet检测在2分钟内进行 6 * 5 30 次尝试如果没有更新节点状态。1m后它将驱逐所有 pod。那么将在一分钟后驱逐所有pod总共耗时3分钟。 此处情况适用于中等环境,因为1000个节点每分钟需要对etcd进行3000次更新。 低更新和慢响应 参数值组件--node-status-update-frequency1mkubelet--node-monitor-period5scontroller manager--node-monitor-grace-period5mcontroller manager 如果--node-status-update-frequency设置为1m。 --node-monitor-grace-period设置为5m并将 --default-not-ready-toleration-seconds 和 --default-unreachable-toleration-seconds设置为60s。在这种情况下kubelet将在每分钟上报状态5分钟内kubelet没有更新节点状态Kubernetes Controller Manager将节点设置为不健康在一分钟后开始驱逐所有pod总共耗时6分钟。 总结 Kubelet是Kubernetes中的一个重要组件它负责管理节点上的容器和Pod并与Master节点进行通信。Kubelet的工作流程包括获取Pod列表、创建Pod、监控容器状态和清理容器。Kubelet的配置包括节点名称、Pod网络、容器运行时和资源限制。 计算公式 驱逐时间 --node-monitor-grace-period --default-not-ready-toleration-seconds 或 --default-unreachable-toleration-seconds 可以有不同的配置组合满足自己实际的使用情况。 更多关于kubernetes的知识分享请前往博客主页。编写过程中难免出现差错敬请指出
http://www.hkea.cn/news/14418626/

相关文章:

  • 南宁网站建设方案详细做包装设计的网站有哪些
  • 网站开发的甘特图鲁山网站建设兼职
  • 优化网站公司哪家口碑好wordpress摘要插件
  • 南京公司网站网络架构种类
  • 罗琳做的网站对网站建设课程的心得体会
  • 白银市建设局网站首页如何用域名做邮箱 网站
  • 做动图网站怎样做响应式网站
  • 罗湖做网站公司排名台州seo快速排名
  • 长沙哪家公司做网站服装品牌营销策划方案
  • 云主机如何做网站大望路网站建设公司
  • 商丘市住房和城乡建设局网站网站开发的pc或移动端
  • 网站域名备案流程网站留言模块
  • 东莞网站建设科技公司网站丢失了怎么办
  • 潍坊网站优化长兴县城乡建设局网站
  • 网站建设常用单词手机网站类型
  • 贵阳仿站定制模板建站免费网页制作的网站
  • 深圳前十网站扩广公司怎么制作软件?
  • 临海网站开发公司门户网站建设模式包括网站群和
  • 国外psd网页模板网站北京品牌网站建设公司哪家好
  • 做网站界面深圳互助资金盘网站开发
  • 无锡高端网站设计开发最好的包装设计公司哪家好
  • 金溪网站建设推广开发板公测的更新频率
  • 网站权重排行企业名录查询软件
  • 微网站制作软件苏州网页设计培训
  • 原创文章网站wordpress 版权插件
  • 网站内容策划书为什么打开谷歌浏览器是2345网址导航
  • 如何提高外贸网站排名郑州正规的男科医院有哪些
  • 自己做内部网站建设网站基本步骤
  • 公司网站建设外包哪里可以注册免费域名
  • 做网站被骗3000生成静态页面网站源码