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

网站功能需求分析文档关键词点击工具

网站功能需求分析文档,关键词点击工具,上海企业网页制作,搜索引擎的工作原理是什么借助 Pause 容器调试 Pod 在 K8S 中#xff0c;Pod 是最核心、最基础的资源对象#xff0c;也是 Kubernetes 中调度最小单元。在介绍 Pause 容器之前需要先说明下 Pod 与容器的关系来理解为什么需要 Pause 容器来帮助调试 1. Pod 与 容器的关系 Pod 是一个抽象的逻辑概念Pod 是最核心、最基础的资源对象也是 Kubernetes 中调度最小单元。在介绍 Pause 容器之前需要先说明下 Pod 与容器的关系来理解为什么需要 Pause 容器来帮助调试 1. Pod 与 容器的关系 Pod 是一个抽象的逻辑概念它是一组一个或者多个容器的集合这些容器之间共享同一份存储、网络等资源。 使用 kubectl get pods -o wide可以查看 pod 的列表其中 READY 列代表该 Pod 总共有 1 个容器并且该容器已经成功启动可以对外提供服务了 [rootmaster-1 ~]# kubectl get pods -n ncss-v3 -o wide | grep operation operation-cf45b5777-vq8x4 1/1 Running 760 91d 10.244.0.169 master-1 none none此时使用 docker ps 查看指定 Pod 的容器可以grep出两个容器 [rootmaster-1 ~]# docker ps -a | grep operation-cf45b5777-vq8x4 # 业务容器 2591c532008a 8ebd9efd951d /bin/sh -c cp -f /… 30 hours ago Up 30 hours k8s_operation_operation-cf45b5777-vq8x4_ncss-v3_57501f2c-60f3-4acf-95b0-19c9ee1ec293_760 # pause 容器 2dce6e228773 registry.nscloud:5000/google_containers/pause:3.1 /pause 12 days ago Up 12 days k8s_POD_operation-cf45b5777-vq8x4_ncss-v3_57501f2c-60f3-4acf-95b0-19c9ee1ec293_10这个 pause 容器是一个很特殊的容器它又叫 infra 容器是每个 Pod 都会自动创建的容器它不属于用户自定义的容器。 那么这个 pause 容器有什么用呢 2. Pause 容器 pause 容器镜像 使用 docker insepct [CONTAAINER_ID] 查看一下 pause 容器的详情信息可以发现 pause 容器使用的镜像为 registry.nscloud:5000/google_containers/pause:3.1在 Kubelet 进程的参数中也有 --pod-infra-container-image同样也指定的是pause镜像 [rootmaster-1 ~]# ps aux | grep kubelet root 14471 14.1 0.2 4674828 125708 ? Ssl Oct11 2578:19 /usr/bin/kubelet --bootstrap-kubeconfig/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig/etc/kubernetes/kubelet.conf --config/var/lib/kubelet/config.yaml --cgroup-driversystemd --network-plugincni --pod-infra-container-imageregistry.nscloud:5000/google_containers/pause:3.1 ...该镜像非常小由于它总是处于 Pause 暂时状态所以取名叫 pause可以找一个pause容器的进程进行查看 [rootmaster-1 ~]# cat /proc/23199/status | head -n 10 Name: pause State: S (sleeping) Tgid: 23199 Ngid: 0 Pid: 23199 PPid: 22612 TracerPid: 0 Uid: 0 0 0 0 Gid: 0 0 0 0 FDSize: 64pause 容器作用 上面我们说一个 Pod 是由一组容器组成的这些容器之间共享存储和网络资源那么网络资源是如何共享的呢 假设现在有一个 Pod它包含两个容器A 和 BK8S 是通过让他们加入join另一个第三方容器的 network namespace 实现的共享而这个第三方容器就是 pause 容器。 这么做的目的其实很简单想象一下如果没有这样的第三方容器会发生怎样的结果 没有 pause 容器那么 A 和 B 要共享网络要不就是 A 加入 B 的 network namespace或者就是 B 加入 A 的 network namespace 而无论是谁加入谁只要 network 的 owner 退出了该 Pod 里的所有其他容器网络都会立马异常这显然是不合理的。 反过来由于 pause 里只有是挂起一个容器里面没有任何复杂的逻辑只要不主动杀掉 Podpause 都会一直存活这样一来就能保证在 Pod 运行期间同一 Pod 里的容器网络的稳定。 我们在同一 Pod 里所有容器里看到的网络视图都是完全一样的包括网络设备、IP 地址、Mac 地址等等因为他们其实全是同一份而这一份都来自于 Pod 第一次创建的这个 Infra container。 由于所有的应用容器都要依赖于 pause 容器因此在 Pod 启动时它总是创建的第一个容器可以说 Pod 的生命周期就是 pause 容器的生命周期。 3. 结论验证 针对docker ps查询的两个容器可以分别使用nsenter命令查询该容器所在的网络命空间内的地址信息 pause容器 [rootmaster-1 ~]# docker inspect 2dce6e228773 | grep \Pid\Pid: 23199, [rootmaster-1 ~]# [rootmaster-1 ~]# [rootmaster-1 ~]# nsenter -t 23199 -n ip a 1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft forever 3: eth0if26: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1450 qdisc noqueue state UP group defaultlink/ether e2:3c:a6:05:0e:84 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet 10.244.0.169/24 scope global eth0valid_lft forever preferred_lft forever 业务容器 [rootmaster-1 ~]# docker inspect 2591c532008a | grep \Pid\Pid: 15696, [rootmaster-1 ~]# [rootmaster-1 ~]# [rootmaster-1 ~]# nsenter -t 15696 -n ip a 1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft forever 3: eth0if26: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1450 qdisc noqueue state UP group defaultlink/ether e2:3c:a6:05:0e:84 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet 10.244.0.169/24 scope global eth0valid_lft forever preferred_lft forever 从图中可以看出Pod内的业务容器和pause容器通过ip a命令返回的结果完全一致由此可以推断出二者处在同一个网络命名空间内 4. pause 容器调试 假如当容器网络出现故障时了解到pause容器后就可以下两个方面进行分析。 一、在容器编排系统中如 Kubernetespause容器与业务容器共享网络命名空间。通过检查pause容器的网络配置如 IP 地址分配、网络接口状态以及路由信息等可以了解整个 Pod 的网络基础情况。当业务容器出现无法访问外部网络或容器之间无法通信等问题时检查pause容器的网络能够快速确定是否是网络命名空间层面出现问题比如网络插件故障或者网络策略配置错误。 二、由于pause容器和业务容器共享网络可以在pause容器所在的节点上利用抓包工具如tcpdump在pause容器的网络命名空间中进行网络流量监测。命令可参考 nsenter - t pause_container_pid - n tcpdump - i eth0 这种监测方式能够观察整个 Pod 内进出的网络流量对于排查网络通信故障或者分析网络性能问题十分关键。例如当发现某个业务容器发送的请求没有得到响应时可以在pause容器的网络命名空间中抓包查看请求是否真正发出、是否有响应返回以及响应的具体内容等。
http://www.hkea.cn/news/14358980/

相关文章:

  • 冷饮网站开发背景意义搭建网站是什么专业
  • 邯郸做移动网站多少钱wordpress如何本地安装插件
  • 深圳手机建网站企业做网站的方案
  • 江苏建设造价信息网站平凉网站设计
  • 网站建设-猴王网络给个网站做导航违法吗
  • 网站建设评价指标室内设计学校在哪里
  • asp 网站 源码wordpress 文章加评论
  • 赣州网站建设如何wordpress 评论列表
  • 企业网站导航下拉菜单怎么做网站广告看不到
  • 阿里巴巴1688网站做店铺想开个网站建设的公司
  • 现在从事网站开发如何wordpress 图库插件
  • 怎么做自己的企业网站临沂网站哪家好
  • 上海模板建站哪家好做网站要搭建本地服务器么
  • site 危险网站建设银行短信带网站
  • 怎么做网站流量统计分析网站建设过程中需要注意的通用原则
  • asp网站打开贵阳网站建设报价
  • 英雄联盟网站模版网站制作没有原创图片怎么办
  • 企业门户网站建设方案及报价wordpress页面里放j特效
  • 个人如何建立公司网站农产品信息网站的建设
  • 邢台网站建设03191688夺目视频制作网站
  • 网站引流推广网站的功能规范
  • 建设部监理工程师考试网站摄影网站制作步骤html
  • 企业北京响应式网站制作安徽网新科技
  • 常熟做网站的公司自己做网站怎么上传到网上
  • 建设部执业资格网站中国商标注册申请官网
  • 外贸网站的作用做网站全部乱码怎么办
  • 蕴川路上海网站建设企业网站属于广告吗
  • 免费建立网站软件公司做网站费用账务处理
  • 乐山网站开发三创大赛网站建设
  • 网页设计和网站建设是同一回事吗深圳服装网站建设