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

做网站有效果吗网络营销公司哪家好

做网站有效果吗,网络营销公司哪家好,电商直播培训,网站模板 站长之家1. Kubernete简介 Kubernetes 是 Google 团队发起并维护的基于 Docker 的开源容器集群管理系统#xff0c;它不仅支持常见的云平台#xff0c;而且支持内部数据中心。 建于 Docker 之上的 Kubernetes 可以构建一个容器的调度服务#xff0c;其目的是让用户透过 Kubernetes…1. Kubernete简介 Kubernetes 是 Google 团队发起并维护的基于 Docker 的开源容器集群管理系统它不仅支持常见的云平台而且支持内部数据中心。 建于 Docker 之上的 Kubernetes 可以构建一个容器的调度服务其目的是让用户透过 Kubernetes 集群来进行云端容器集群的管理而无需用户进行复杂的设置工作。系统会自动选取合适的工作节点来执行具体的容器集群调度处理工作。其核心概念是 Container Pod。一个 Pod 由一组工作于同一物理工作节点的容器构成。这些组容器拥有相同的网络命名空间、IP以及存储配额也可以根据实际情况对每一个 Pod 进行端口映射。此外Kubernetes 工作节点会由主系统进行管理节点包含了能够运行 Docker 容器所用到的服务。 2. Kubernetes架构 Kubernetes最初源于谷歌内部的Borg提供了面向应用的容器集群部署和管理系统。Kubernetes的目标旨在消除编排物理/虚拟计算网络和存储基础设施的负担并使应用程序运营商和开发人员完全将重点放在以容器为中心的原语上进行自助运营。Kubernetes 也提供稳定、兼容的基础平台用于构建定制化的workflows 和更高级的自动化任务。 Kubernetes 具备完善的集群管理能力包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、内建负载均衡器、故障发现和自我修复能力、服务滚动升级和在线扩容、可扩展的资源自动调度机制、多粒度的资源配额管理能力。 Kubernetes 还提供完善的管理工具涵盖开发、部署测试、运维监控等各个环节。 Kubermetes 主要有一下几个核心组件组成 etcd保存了整个集群的状态piserver提供了资源操作的唯一入口并提供认证、授权、访问控制、API注册和发现等机制controller manager负责维护集群的状态比如故障检测、自动扩展、滚动更新等scheduler负责资源的调度按照预定的调度策略将Pod调度到相应的机器上kubelet负责维护容器的生命周期同时也负责VolumeCSI和网络CNI的管理Container runtime负责镜像管理以及Pod和容器的真正运行CRIkube-proxy负责为Service提供cluster内部的服务发现和负载均衡 除了核心组件还有一些推荐的插件其中有的已经成为CNCF中的托管项目 CoreDNS负责为整个集群提供DNS服务Ingress Controller为服务提供外网入口Prometheus提供资源监控Dashboard提供GUIFederation提供跨可用区的集群 2.1 整体架构 下图清晰表明了Kubernetes的架构设计以及组件之间的通信协议。 2.2 Master架构 2.3 Node架构 2.3 分层架构 Kubernetes设计理念和功能其实就是一个类似Linux的分层架构如下图所示。 核心层Kubernetes最核心的功能对外提供API构建高层的应用对内提供插件式应用执行环境应用层部署无状态应用、有状态应用、批处理任务、集群应用等和路由服务发现、DNS解析等、Service Mesh部分位于应用层管理层系统度量如基础设施、容器和网络的度量自动化如自动扩展、动态Provision等以及策略管理RBAC、Quota、PSP、NetworkPolicy等、Service Mesh部分位于管理层接口层kubectl命令行工具、客户端SDK以及集群联邦生态系统在接口层之上的庞大容器集群管理调度的生态系统可以划分为两个范畴 Kubernetes外部日志、监控、配置管理、CI/CD、Workflow、FaaS、OTS应用、ChatOps、GitOps、SecOps等Kubernetes内部CRI、CNI、CSI、镜像仓库、Cloud Provider、集群自身的配置和管理等 3. 设计理念 3.1 API设计原则 对于云计算系统系统API实际上处于系统设计的统领地位正如本文前面所说Kubernetes集群系统每支持一项新功能引入一项新技术一定会新引入对应的API对象支持对该功能的管理操作理解掌握的API就好比抓住了Kubernetes系统的牛鼻子。Kubernetes系统API的设计有以下几条原则 所有API应该是声明式的。正如前文所说声明式的操作相对于命令式操作对于重复操作的效果是稳定的这对于容易出现数据丢失或重复的分布式环境来说是很重要的。另外声明式操作更容易被用户使用可以使系统向用户隐藏实现的细节隐藏实现的细节的同时也就保留了系统未来持续优化的可能性。此外声明式的API同时隐含了所有的API对象都是名词性质的例如Service、Volume这些API都是名词这些名词描述了用户所期望得到的一个目标分布式对象。API对象是彼此互补而且可组合的。这里面实际是鼓励API对象尽量实现面向对象设计时的要求即“高内聚松耦合”对业务相关的概念有一个合适的分解提高分解出来的对象的可重用性。事实上Kubernetes这种分布式系统管理平台也是一种业务系统只不过它的业务就是调度和管理容器服务。高层API以操作意图为基础设计。如何能够设计好API跟如何能用面向对象的方法设计好应用系统有相通的地方高层设计一定是从业务出发而不是过早的从技术实现出发。因此针对Kubernetes的高层API设计一定是以Kubernetes的业务为基础出发也就是以系统调度管理容器的操作意图为基础设计。低层API根据高层API的控制需要设计。设计实现低层API的目的是为了被高层API使用考虑减少冗余、提高重用性的目的低层API的设计也要以需求为基础要尽量抵抗受技术实现影响的诱惑。尽量避免简单封装不要有在外部API无法显式知道的内部隐藏的机制。简单的封装实际没有提供新的功能反而增加了对所封装API的依赖性。内部隐藏的机制也是非常不利于系统维护的设计方式例如StatefulSet和ReplicaSet本来就是两种Pod集合那么Kubernetes就用不同API对象来定义它们而不会说只用同一个ReplicaSet内部通过特殊的算法再来区分这个ReplicaSet是有状态的还是无状态。API操作复杂度与对象数量成正比。这一条主要是从系统性能角度考虑要保证整个系统随着系统规模的扩大性能不会迅速变慢到无法使用那么最低的限定就是API的操作复杂度不能超过O(N)N是对象的数量否则系统就不具备水平伸缩性了。API对象状态不能依赖于网络连接状态。由于众所周知在分布式环境下网络连接断开是经常发生的事情因此要保证API对象状态能应对网络的不稳定API对象的状态就不能依赖于网络连接状态。尽量避免让操作机制依赖于全局状态因为在分布式系统中要保证全局状态的同步是非常困难的。 3.2 控制机制设计原则 控制逻辑应该只依赖于当前状态。这是为了保证分布式系统的稳定可靠对于经常出现局部错误的分布式系统如果控制逻辑只依赖当前状态那么就非常容易将一个暂时出现故障的系统恢复到正常状态因为你只要将该系统重置到某个稳定状态就可以自信的知道系统的所有控制逻辑会开始按照正常方式运行。假设任何错误的可能并做容错处理。在一个分布式系统中出现局部和临时错误是大概率事件。错误可能来自于物理系统故障外部系统故障也可能来自于系统自身的代码错误依靠自己实现的代码不会出错来保证系统稳定其实也是难以实现的因此要设计对任何可能错误的容错处理。尽量避免复杂状态机控制逻辑不要依赖无法监控的内部状态。因为分布式系统各个子系统都是不能严格通过程序内部保持同步的所以如果两个子系统的控制逻辑如果互相有影响那么子系统就一定要能互相访问到影响控制逻辑的状态否则就等同于系统里存在不确定的控制逻辑。假设任何操作都可能被任何操作对象拒绝甚至被错误解析。由于分布式系统的复杂性以及各子系统的相对独立性不同子系统经常来自不同的开发团队所以不能奢望任何操作被另一个子系统以正确的方式处理要保证出现错误的时候操作级别的错误不会影响到系统稳定性。每个模块都可以在出错后自动恢复。由于分布式系统中无法保证系统各个模块是始终连接的因此每个模块要有自我修复的能力保证不会因为连接不到其他模块而自我崩溃。每个模块都可以在必要时优雅地降级服务。所谓优雅地降级服务是对系统鲁棒性的要求即要求在设计实现模块时划分清楚基本功能和高级功能保证基本功能不会依赖高级功能这样同时就保证了不会因为高级功能出现故障而导致整个模块崩溃。根据这种理念实现的系统也更容易快速地增加新的高级功能因为不必担心引入高级功能影响原有的基本功能。 4. Kubernetes的核心技术概念和API对象 API对象是Kubernetes集群中的管理操作单元。Kubernetes集群系统每支持一项新功能引入一项新技术一定会新引入对应的API对象支持对该功能的管理操作。例如副本集Replica Set对应的API对象是RS。 每个API对象都有3大类属性元数据metadata、规范spec和状态status。元数据是用来标识API对象的每个对象都至少有3个元数据namespacename和uid除此以外还有各种各样的标签labels用来标识和匹配不同的对象例如用户可以用标签env来标识区分不同的服务部署环境分别用envdev、envtesting、envproduction来标识开发、测试、生产的不同服务。规范描述了用户期望Kubernetes集群中的分布式系统达到的理想状态Desired State例如用户可以通过复制控制器Replication Controller设置期望的Pod副本数为3status描述了系统实际当前达到的状态Status例如系统当前实际的Pod副本数为2那么复制控制器当前的程序逻辑就是自动启动新的Pod争取达到副本数为3。 Kubernetes中所有的配置都是通过API对象的spec去设置的也就是用户通过配置系统的理想状态来改变系统这是Kubernetes重要设计理念之一即所有的操作都是声明式Declarative的而不是命令式Imperative的。声明式操作在分布式系统中的好处是稳定不怕丢操作或运行多次例如设置副本数为3的操作运行多次也还是一个结果而给副本数加1的操作就不是声明式的运行多次结果就错了。 4.1 Pod Kubernetes有很多技术概念同时对应很多API对象最重要的也是最基础的是Pod。Pod是在Kubernetes集群中运行部署应用或服务的最小单元它是可以支持多容器的。Pod的设计理念是支持多个容器在一个Pod中共享网络地址和文件系统可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。Pod对多容器的支持是K8最基础的设计理念。比如你运行一个操作系统发行版的软件仓库一个Nginx容器用来发布软件另一个容器专门用来从源仓库做同步这两个容器的镜像不太可能是一个团队开发的但是他们一块儿工作才能提供一个微服务这种情况下不同的团队各自开发构建自己的容器镜像在部署的时候组合成一个微服务对外提供服务。 Pod是Kubernetes集群中所有业务类型的基础可以看作运行在Kubernetes集群中的小机器人不同类型的业务就需要不同类型的小机器人去执行。目前Kubernetes中的业务主要可以分为长期伺服型long-running、批处理型batch、节点后台支撑型node-daemon和有状态应用型stateful application分别对应的小机器人控制器为Deployment、Job、DaemonSet和StatefulSet本文后面会一一介绍。 4.2 副本控制器Replication ControllerRC RC是Kubernetes集群中最早的保证Pod高可用的API对象。通过监控运行中的Pod来保证集群中运行指定数目的Pod副本。指定的数目可以是多个也可以是1个少于指定数目RC就会启动运行新的Pod副本多于指定数目RC就会杀死多余的Pod副本。即使在指定数目为1的情况下通过RC运行Pod也比直接运行Pod更明智因为RC也可以发挥它高可用的能力保证永远有1个Pod在运行。RC是Kubernetes较早期的技术概念只适用于长期伺服型的业务类型比如控制小机器人提供高可用的Web服务。 4.3 部署Deployment 部署表示用户对Kubernetes集群的一次更新操作。部署是一个比RS应用模式更广的API对象可以是创建一个新的服务更新一个新的服务也可以是滚动升级一个服务。滚动升级一个服务实际是创建一个新的RS然后逐渐将新RS中副本数增加到理想状态将旧RS中的副本数减小到0的复合操作这样一个复合操作用一个RS是不太好描述的所以用一个更通用的Deployment来描述。以Kubernetes的发展方向未来对所有长期伺服型的的业务的管理都会通过Deployment来管理。 4.4 服务Service RC、RS和Deployment只是保证了支撑服务的微服务Pod的数量但是没有解决如何访问这些服务的问题。一个Pod只是一个运行服务的实例随时可能在一个节点上停止在另一个节点以一个新的IP启动一个新的Pod因此不能以确定的IP和端口号提供服务。要稳定地提供服务需要服务发现和负载均衡能力。服务发现完成的工作是针对客户端访问的服务找到对应的的后端服务实例。在K8集群中客户端需要访问的服务就是Service对象。每个Service会对应一个集群内部有效的虚拟IP集群内部通过虚拟IP访问一个服务。在Kubernetes集群中微服务的负载均衡是由Kube-proxy实现的。Kube-proxy是Kubernetes集群内部的负载均衡器。它是一个分布式代理服务器在Kubernetes的每个节点上都有一个这一设计体现了它的伸缩性优势需要访问服务的节点越多提供负载均衡能力的Kube-proxy就越多高可用节点也随之增多。与之相比我们平时在服务器端做个反向代理做负载均衡还要进一步解决反向代理的负载均衡和高可用问题。 4.5 任务Job Job是Kubernetes用来控制批处理型任务的API对象。批处理业务与长期伺服业务的主要区别是批处理业务的运行有头有尾而长期伺服业务在用户不停止的情况下永远运行。Job管理的Pod根据用户的设置把任务成功完成就自动退出了。成功完成的标志根据不同的spec.completions策略而不同单Pod型任务有一个Pod成功就标志完成定数成功型任务保证有N个任务全部成功工作队列型任务根据应用确认的全局成功而标志成功。 4.6 后台支撑服务集DaemonSet 长期伺服型和批处理型服务的核心在业务应用可能有些节点运行多个同类业务的Pod有些节点上又没有这类Pod运行而后台支撑型服务的核心关注点在Kubernetes集群中的节点物理机或虚拟机要保证每个节点上都有一个此类Pod运行。节点可能是所有集群节点也可能是通过nodeSelector选定的一些特定节点。典型的后台支撑型服务包括存储日志和监控等在每个节点上支持Kubernetes集群运行的服务。 4.7 有状态服务集StatefulSet Kubernetes在1.3版本里发布了Alpha版的PetSet功能在1.5版本里将PetSet功能升级到了Beta版本并重新命名为StatefulSet最终在1.9版本里成为正式GA版本。在云原生应用的体系里有下面两组近义词第一组是无状态stateless、牲畜cattle、无名nameless、可丢弃disposable第二组是有状态stateful、宠物pet、有名having name、不可丢弃non-disposable。RC和RS主要是控制提供无状态服务的其所控制的Pod的名字是随机设置的一个Pod出故障了就被丢弃掉在另一个地方重启一个新的Pod名字变了。名字和启动在哪儿都不重要重要的只是Pod总数而StatefulSet是用来控制有状态服务StatefulSet中的每个Pod的名字都是事先确定的不能更改。StatefulSet中Pod的名字的作用并不是《千与千寻》的人性原因而是关联与该Pod对应的状态。 对于RC和RS中的Pod一般不挂载存储或者挂载共享存储保存的是所有Pod共享的状态Pod像牲畜一样没有分别这似乎也确实意味着失去了人性特征对于StatefulSet中的Pod每个Pod挂载自己独立的存储如果一个Pod出现故障从其他节点启动一个同样名字的Pod要挂载上原来Pod的存储继续以它的状态提供服务。 适合于StatefulSet的业务包括数据库服务MySQL和PostgreSQL集群化管理服务ZooKeeper、etcd等有状态服务。StatefulSet的另一种典型应用场景是作为一种比普通容器更稳定可靠的模拟虚拟机的机制。传统的虚拟机正是一种有状态的宠物运维人员需要不断地维护它容器刚开始流行时我们用容器来模拟虚拟机使用所有状态都保存在容器里而这已被证明是非常不安全、不可靠的。使用StatefulSetPod仍然可以通过漂移到不同节点提供高可用而存储也可以通过外挂的存储来提供高可靠性StatefulSet做的只是将确定的Pod与确定的存储关联起来保证状态的连续性。 4.8 集群联邦Federation Kubernetes在1.3版本里发布了beta版的Federation功能。在云计算环境中服务的作用距离范围从近到远一般可以有同主机HostNode、跨主机同可用区Available Zone、跨可用区同地区Region、跨地区同服务商Cloud Service Provider、跨云平台。Kubernetes的设计定位是单一集群在同一个地域内因为同一个地区的网络性能才能满足Kubernetes的调度和计算存储连接要求。而联合集群服务就是为提供跨Region跨服务商Kubernetes集群服务而设计的。 每个Kubernetes Federation有自己的分布式存储、API Server和Controller Manager。用户可以通过Federation的API Server注册该Federation的成员Kubernetes Cluster。当用户通过Federation的API Server创建、更改API对象时Federation API Server会在自己所有注册的子Kubernetes Cluster都创建一份对应的API对象。在提供业务请求服务时Kubernetes Federation会先在自己的各个子Cluster之间做负载均衡而对于发送到某个具体Kubernetes Cluster的业务请求会依照这个Kubernetes Cluster独立提供服务时一样的调度模式去做Kubernetes Cluster内部的负载均衡。而Cluster之间的负载均衡是通过域名服务的负载均衡来实现的。 Federation V1的设计是尽量不影响Kubernetes Cluster现有的工作机制这样对于每个子Kubernetes集群来说并不需要更外层的有一个Kubernetes Federation也就是意味着所有现有的Kubernetes代码和机制不需要因为Federation功能有任何变化。 目前正在开发的Federation V2在保留现有Kubernetes API的同时会开发新的Federation专用的API接口详细内容可以在这里找到。 4.9 存储卷Volume Kubernetes集群中的存储卷跟Docker的存储卷有些类似只不过Docker的存储卷作用范围为一个容器而Kubernetes的存储卷的生命周期和作用范围是一个Pod。每个Pod中声明的存储卷由Pod中的所有容器共享。Kubernetes支持非常多的存储卷类型特别的支持多种公有云平台的存储包括AWSGoogle和Azure云支持多种分布式存储包括GlusterFS和Ceph也支持较容易使用的主机本地目录emptyDir, hostPath和NFS。Kubernetes还支持使用Persistent Volume Claim即PVC这种逻辑存储使用这种存储使得存储的使用者可以忽略后台的实际存储技术例如AWSGoogle或GlusterFS和Ceph而将有关存储实际技术的配置交给存储管理员通过Persistent Volume来配置。 4.9.1 持久存储卷Persistent VolumePV和持久存储卷声明Persistent Volume ClaimPVC PV和PVC使得Kubernetes集群具备了存储的逻辑抽象能力使得在配置Pod的逻辑里可以忽略对实际后台存储技术的配置而把这项配置的工作交给PV的配置者即集群的管理者。存储的PV和PVC的这种关系跟计算的Node和Pod的关系是非常类似的PV和Node是资源的提供者根据集群的基础设施变化而变化由Kubernetes集群管理员配置而PVC和Pod是资源的使用者根据业务服务的需求变化而变化有Kubernetes集群的使用者即服务的管理员来配置。 4.10 节点Node Kubernetes集群中的计算能力由Node提供最初Node称为服务节点Minion后来改名为Node。Kubernetes集群中的Node也就等同于Mesos集群中的Slave节点是所有Pod运行所在的工作主机可以是物理机也可以是虚拟机。不论是物理机还是虚拟机工作主机的统一特征是上面要运行kubelet管理节点上运行的容器。 4.11 密钥对象Secret Secret是用来保存和传递密码、密钥、认证凭证这些敏感信息的对象。使用Secret的好处是可以避免把敏感信息明文写在配置文件里。在Kubernetes集群中配置和使用服务不可避免的要用到各种敏感信息实现登录、认证等功能例如访问AWS存储的用户名密码。为了避免将类似的敏感信息明文写在所有需要使用的配置文件中可以将这些信息存入一个Secret对象而在配置文件中通过Secret对象引用这些敏感信息。这种方式的好处包括意图明确避免重复减少暴漏机会。 4.12 用户账户User Account和服务账户Service Account 顾名思义用户帐户为人提供账户标识而服务账户为计算机进程和Kubernetes集群中运行的Pod提供账户标识。用户帐户和服务帐户的一个区别是作用范围用户帐户对应的是人的身份人的身份与服务的namespace无关所以用户账户是跨namespace的而服务帐户对应的是一个运行中程序的身份与特定namespace是相关的。 4.13 命名空间Namespace 命名空间为Kubernetes集群提供虚拟的隔离作用Kubernetes集群初始有两个命名空间分别是默认命名空间default和系统命名空间kube-system除此以外管理员可以可以创建新的命名空间满足需要。 4.14 RBAC访问授权 Kubernetes在1.3版本中发布了alpha版的基于角色的访问控制Role-based Access ControlRBAC的授权模式。相对于基于属性的访问控制Attribute-based Access ControlABACRBAC主要是引入了角色Role和角色绑定RoleBinding的抽象概念。在ABAC中Kubernetes集群中的访问策略只能跟用户直接关联而在RBAC中访问策略可以跟某个角色关联具体的用户在跟一个或多个角色相关联。显然RBAC像其他新功能一样每次引入新功能都会引入新的API对象从而引入新的概念抽象而这一新的概念抽象一定会使集群服务管理和使用更容易扩展和重用。 5. 总结 从Kubernetes的系统架构、技术概念和设计理念我们可以看到Kubernetes系统最核心的两个设计理念一个是容错性一个是易扩展性。容错性实际是保证Kubernetes系统稳定性和安全性的基础易扩展性是保证Kubernetes对变更友好可以快速迭代增加新功能的基础。 按照分布式系统一致性算法Paxos发明人计算机科学家Leslie Lamport的理念一个分布式系统有两类特性安全性Safety和活性Liveness。安全性保证系统的稳定保证系统不会崩溃不会出现业务错误不会做坏事是严格约束的活性使得系统可以提供功能提高性能增加易用性让系统可以在用户“看到的时间内”做些好事是尽力而为的。Kubernetes系统的设计理念正好与Lamport安全性与活性的理念不谋而合也正是因为Kubernetes在引入功能和技术的时候非常好地划分了安全性和活性才可以让Kubernetes能有这么快版本迭代快速引入像RBAC、Federation和PetSet这种新功能。
文章转载自:
http://www.morning.ntqnt.cn.gov.cn.ntqnt.cn
http://www.morning.rgxn.cn.gov.cn.rgxn.cn
http://www.morning.xrrjb.cn.gov.cn.xrrjb.cn
http://www.morning.bnzjx.cn.gov.cn.bnzjx.cn
http://www.morning.kxgn.cn.gov.cn.kxgn.cn
http://www.morning.ysbhj.cn.gov.cn.ysbhj.cn
http://www.morning.bzkgn.cn.gov.cn.bzkgn.cn
http://www.morning.wdshp.cn.gov.cn.wdshp.cn
http://www.morning.plflq.cn.gov.cn.plflq.cn
http://www.morning.xllrf.cn.gov.cn.xllrf.cn
http://www.morning.qjmnl.cn.gov.cn.qjmnl.cn
http://www.morning.xrct.cn.gov.cn.xrct.cn
http://www.morning.byshd.cn.gov.cn.byshd.cn
http://www.morning.lrybz.cn.gov.cn.lrybz.cn
http://www.morning.dkcpt.cn.gov.cn.dkcpt.cn
http://www.morning.nqwkn.cn.gov.cn.nqwkn.cn
http://www.morning.jrslj.cn.gov.cn.jrslj.cn
http://www.morning.thbnt.cn.gov.cn.thbnt.cn
http://www.morning.wjqyt.cn.gov.cn.wjqyt.cn
http://www.morning.gtnyq.cn.gov.cn.gtnyq.cn
http://www.morning.kklwz.cn.gov.cn.kklwz.cn
http://www.morning.mmzfl.cn.gov.cn.mmzfl.cn
http://www.morning.gmswp.cn.gov.cn.gmswp.cn
http://www.morning.lznqb.cn.gov.cn.lznqb.cn
http://www.morning.fpryg.cn.gov.cn.fpryg.cn
http://www.morning.qnkqk.cn.gov.cn.qnkqk.cn
http://www.morning.rahllp.com.gov.cn.rahllp.com
http://www.morning.fnpyk.cn.gov.cn.fnpyk.cn
http://www.morning.sxygc.cn.gov.cn.sxygc.cn
http://www.morning.xqzrg.cn.gov.cn.xqzrg.cn
http://www.morning.mxcgf.cn.gov.cn.mxcgf.cn
http://www.morning.znqxt.cn.gov.cn.znqxt.cn
http://www.morning.xfjwm.cn.gov.cn.xfjwm.cn
http://www.morning.jpgfq.cn.gov.cn.jpgfq.cn
http://www.morning.nfqyk.cn.gov.cn.nfqyk.cn
http://www.morning.dhpjq.cn.gov.cn.dhpjq.cn
http://www.morning.wlnr.cn.gov.cn.wlnr.cn
http://www.morning.lwxsy.cn.gov.cn.lwxsy.cn
http://www.morning.nbsfb.cn.gov.cn.nbsfb.cn
http://www.morning.ckcjq.cn.gov.cn.ckcjq.cn
http://www.morning.tqsgt.cn.gov.cn.tqsgt.cn
http://www.morning.wmdlp.cn.gov.cn.wmdlp.cn
http://www.morning.wanjia-sd.com.gov.cn.wanjia-sd.com
http://www.morning.cnwpb.cn.gov.cn.cnwpb.cn
http://www.morning.hmjasw.com.gov.cn.hmjasw.com
http://www.morning.lylkh.cn.gov.cn.lylkh.cn
http://www.morning.hhmfp.cn.gov.cn.hhmfp.cn
http://www.morning.cjcry.cn.gov.cn.cjcry.cn
http://www.morning.dhbyj.cn.gov.cn.dhbyj.cn
http://www.morning.srbbh.cn.gov.cn.srbbh.cn
http://www.morning.pbzlh.cn.gov.cn.pbzlh.cn
http://www.morning.tfkqc.cn.gov.cn.tfkqc.cn
http://www.morning.qrcxh.cn.gov.cn.qrcxh.cn
http://www.morning.inheatherskitchen.com.gov.cn.inheatherskitchen.com
http://www.morning.bsqbg.cn.gov.cn.bsqbg.cn
http://www.morning.jpgfx.cn.gov.cn.jpgfx.cn
http://www.morning.gcbhh.cn.gov.cn.gcbhh.cn
http://www.morning.swzpx.cn.gov.cn.swzpx.cn
http://www.morning.alive-8.com.gov.cn.alive-8.com
http://www.morning.hwzzq.cn.gov.cn.hwzzq.cn
http://www.morning.ktrh.cn.gov.cn.ktrh.cn
http://www.morning.krywy.cn.gov.cn.krywy.cn
http://www.morning.rqxmz.cn.gov.cn.rqxmz.cn
http://www.morning.kpwcx.cn.gov.cn.kpwcx.cn
http://www.morning.kkjlz.cn.gov.cn.kkjlz.cn
http://www.morning.bwkzn.cn.gov.cn.bwkzn.cn
http://www.morning.ftync.cn.gov.cn.ftync.cn
http://www.morning.lkrmp.cn.gov.cn.lkrmp.cn
http://www.morning.krswn.cn.gov.cn.krswn.cn
http://www.morning.kgcss.cn.gov.cn.kgcss.cn
http://www.morning.pxbrg.cn.gov.cn.pxbrg.cn
http://www.morning.fylsz.cn.gov.cn.fylsz.cn
http://www.morning.ztmkg.cn.gov.cn.ztmkg.cn
http://www.morning.kdlzz.cn.gov.cn.kdlzz.cn
http://www.morning.cwgn.cn.gov.cn.cwgn.cn
http://www.morning.gfqj.cn.gov.cn.gfqj.cn
http://www.morning.kskpx.cn.gov.cn.kskpx.cn
http://www.morning.dcmnl.cn.gov.cn.dcmnl.cn
http://www.morning.bwznl.cn.gov.cn.bwznl.cn
http://www.morning.ie-comm.com.gov.cn.ie-comm.com
http://www.tj-hxxt.cn/news/266484.html

相关文章:

  • 被称为网页制作三剑客的是seo内部优化具体做什么
  • seo网站优化系统制作七星网站
  • 网站域名解析时间最好的网站开发公司
  • 北京网站开发培训天马网络 网站建设
  • 一站式做网站哪家专业网络推广主要是做什么工作
  • 安徽干部学校建设网站百度seo收费
  • 手机网站建设目标长沙网上商城
  • 北京网站备案注销中心张艺兴粉丝做的网站
  • 福州百度网站排名优化福田补贴每人9000元
  • 离线推广网站规划书山东经济建设网站
  • 深圳定制开发网站wordpress页脚插件
  • 自己做网站制作流程wordpress opml
  • 民政局网站建设方案wordpress媒体库下载
  • 手机网站怎么做seo手机上怎么做网站创业
  • 成品网站开发中国2020最新军事新闻
  • 网站建设具体工作内容sem优化技巧
  • 网站建设要做哪些工作电商设计详情页
  • 天津建设工程合同备案网站wordpress弹出提示框
  • 网站源码安装步骤设计说明的英文
  • 建设网站上申请劳务资质吗张店网站制作
  • 淘客网站+wordpress烟台网站设计单位
  • 福田官网网站优化成功案例
  • 课程网站建设目标任务网站建设教学廊坊
  • 凡科建站好用吗网站建设售后服务承诺函
  • 一般做推广网站的客户需求仕什么企业网盘软件
  • 家装效果图网站内容展示型网站 设计特点
  • 建设网站有哪些方法如何做书签网站
  • 怎么做淘宝客网站赚钱吗头条权重查询
  • 用vs2010做的网站的源码wordpress 自定义头像
  • 基本网站建设语言电脑公司网站源码php