最新要闻
- TypeScript 程序员晋级的 11 个必备技巧
- 观焦点:奕东电子:截止2023年4月20日,公司股东户数为24990户
- 新光光电去年净利亏损2467万元 2019年上市募资9.5亿
- 今日视点:番石榴上火吗_吃番石榴不会上火
- 尽管食品价格创历史新高 但通货膨胀率降至 10.1%
- 全球实时:农业农村部:开展农村改厕“提质年”工作
- 天津打造夜间消费新场景 "五一"假期夜间经济亮点纷呈
- 揭秘《如懿传》“乌拉那拉氏”断发谜团,抽丝剥茧再现事件始末
- 华科大团队在里德堡原子量子信息领域取得重要进展 消息
- 首宗封顶!松山湖王者归来!楼面价26000元,金地的
- 东吴证券:给予中金黄金买入评级-当前速看
- 研究生统考科目有哪些_考研考什么科目
- 一公分是多少毫米?_一公分
- 90后温商卖螺钉替父还债千万,科腾精工背靠海尔冲刺A股 全球看点
- 汇宇制药(688553.SH):氟维司群注射液获得药品注册证书-全球最资讯
- A股申购 | 经纬股份(301390.SZ)开启申购 位处电力工程技术服务行业第二梯队
5G
首例5g乳腺手术价格是多少钱?首例5g乳腺手术成功率是多少?
电信光纤多少钱一年?电信光纤价格表
- 首例5g乳腺手术价格是多少钱?首例5g乳腺手术成功率是多少?
- 电信光纤多少钱一年?电信光纤价格表
- 5g流量消耗会不会很快?手机打开5g好还是关闭5G好?
- 5g怎么变成4g信号?5g手机排名前十名一览
- 5g和4g的区别在哪里?5g首批城市名单
- 5g是谁最先研发出来的?5g是什么意思?
科技
一篇带你学习Kubernetes Descheduler 使用 世界看热讯
(资料图片)
从 kube-scheduler 的角度来看,它是通过一系列算法计算出最佳节点运行 Pod,当出现新的 Pod 进行调度时,调度程序会根据其当时对 Kubernetes 集群的资源描述做出最佳调度决定,但是 Kubernetes 集群是非常动态的,由于整个集群范围内的变化,比如一个节点为了维护,我们先执行了驱逐操作,这个节点上的所有 Pod 会被驱逐到其他节点去,但是当我们维护完成后,之前的 Pod 并不会自动回到该节点上来,因为 Pod 一旦被绑定了节点是不会触发重新调度的,由于这些变化,Kubernetes 集群在一段时间内就可能会出现不均衡的状态,所以需要均衡器来重新平衡集群。
当然我们可以去手动做一些集群的平衡,比如手动去删掉某些 Pod,触发重新调度就可以了,但是显然这是一个繁琐的过程,也不是解决问题的方式。为了解决实际运行中集群资源无法充分利用或浪费的问题,可以使用 descheduler 组件对集群的 Pod 进行调度优化,descheduler可以根据一些规则和配置策略来帮助我们重新平衡集群状态,其核心原理是根据其策略配置找到可以被移除的 Pod 并驱逐它们,其本身并不会进行调度被驱逐的 Pod,而是依靠默认的调度器来实现,目前支持的策略有:
RemoveDuplicatesLowNodeUtilizationHighNodeUtilizationRemovePodsViolatingInterPodAntiAffinityRemovePodsViolatingNodeAffinityRemovePodsViolatingNodeTaintsRemovePodsViolatingTopologySpreadConstraintRemovePodsHavingTooManyRestartsPodLifeTimeRemoveFailedPods这些策略都是可以启用或者禁用的,作为策略的一部分,也可以配置与策略相关的一些参数,默认情况下,所有策略都是启用的。另外,还有一些通用配置,如下:
nodeSelector:限制要处理的节点evictLocalStoragePods: 驱逐使用 LocalStorage 的 PodsignorePvcPods: 是否忽略配置 PVC 的 Pods,默认是 FalsemaxNoOfPodsToEvictPerNode:节点允许的最大驱逐 Pods 数我们可以通过如下所示的DeschedulerPolicy来配置:
apiVersion: "descheduler/v1alpha2"kind: "DeschedulerPolicy"nodeSelector: "node=node1" # 如果没有设置,所有内容都将被处理,无需进行此设置。maxNoOfPodsToEvictPerNode: 5000 # 如果没有设置,就不需要进行限制。maxNoOfPodsToEvictPerNamespace: 5000profiles: - name: ProfileName pluginConfig: - name: "DefaultEvictor" args: evictSystemCriticalPods: true evictFailedBarePods: true evictLocalStoragePods: true nodeFit: true plugins: evict: enabled: - "DefaultEvictor" deschedule: enabled: - ... balance: enabled: - ... [...]安装
descheduler可以以CronJob或者Deployment的形式运行在 k8s 集群内,同样我们可以使用 Helm Chart 来安装descheduler:
➜ helm repo add descheduler https://kubernetes-sigs.github.io/descheduler/
通过 Helm Chart 我们可以配置descheduler以CronJob或者Deployment方式运行,默认情况下descheduler会以一个critical pod运行,以避免被自己或者 kubelet 驱逐了,需要确保集群中有system-cluster-critical这个Priorityclass:
➜ kubectl get priorityclass system-cluster-criticalNAME VALUE GLOBAL-DEFAULT AGEsystem-cluster-critical 2000000000 false 87d
使用 Helm Chart 安装默认情况下会以CronJob的形式运行,执行周期为schedule: "*/2 * * * *",这样每隔两分钟会执行一次descheduler任务,默认的配置策略如下所示:
apiVersion: v1kind: ConfigMapmetadata: name: deschedulerdata: policy.yaml: | apiVersion: "descheduler/v1alpha1" kind: "DeschedulerPolicy" strategies: LowNodeUtilization: enabled: true params: nodeResourceUtilizationThresholds: targetThresholds: cpu: 50 memory: 50 pods: 50 thresholds: cpu: 20 memory: 20 pods: 20 RemoveDuplicates: enabled: true RemovePodsHavingTooManyRestarts: enabled: true params: podsHavingTooManyRestarts: includingInitContainers: true podRestartThreshold: 100 RemovePodsViolatingInterPodAntiAffinity: enabled: true RemovePodsViolatingNodeAffinity: enabled: true params: nodeAffinityType: - requiredDuringSchedulingIgnoredDuringExecution RemovePodsViolatingNodeTaints: enabled: true RemovePodsViolatingTopologySpreadConstraint: enabled: true params: includeSoftConstraints: false
通过配置DeschedulerPolicy的strategies,可以指定descheduler的执行策略,这些策略都是可以启用或禁用的,下面我们会详细介绍,这里我们使用默认策略即可,使用如下命令直接安装即可:
➜ helm upgrade --install descheduler descheduler/descheduler --set image.repository=cnych/descheduler -n kube-system
部署完成后会创建一个CronJob资源对象来平衡集群状态:
➜ kubectl get cronjob -n kube-systemNAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGEdescheduler */2 * * * * False 1 8s 117s➜ kubectl get job -n kube-systemNAME COMPLETIONS DURATION AGEdescheduler-28032982 1/1 15s 17s➜ kubectl get pods -n kube-system -l job-name=descheduler-28032982NAME READY STATUS RESTARTS AGEdescheduler-28032982-vxn24 0/1 Completed 0 31s
正常情况下就会创建一个对应的 Job 来执行descheduler任务,我们可以通过查看日志可以了解做了哪些平衡操作:
➜ kubectl logs -f descheduler-28032982-vxn24 -nkube-systemI0420 08:22:10.019936 1 named_certificates.go:53] "Loaded SNI cert" index=0 certName="self-signed loopback" certDetail="\"apiserver-loopback-client@1681978930\" [serving] validServingFor=[apiserver-loopback-client] issuer=\"apiserver-loopback-client-ca@1681978929\" (2023-04-20 07:22:09 +0000 UTC to 2024-04-19 07:22:09 +0000 UTC (now=2023-04-20 08:22:10.019885292 +0000 UTC))"I0420 08:22:10.020138 1 secure_serving.go:210] Serving securely on [::]:10258I0420 08:22:10.020301 1 tlsconfig.go:240] "Starting DynamicServingCertificateController"I0420 08:22:10.021237 1 policyconfig.go:211] converting Deschedule plugin: %sRemovePodsViolatingInterPodAntiAffinityI0420 08:22:10.021255 1 policyconfig.go:211] converting Deschedule plugin: %sRemovePodsViolatingNodeAffinityI0420 08:22:10.021262 1 policyconfig.go:211] converting Deschedule plugin: %sRemovePodsViolatingNodeTaintsI0420 08:22:10.021269 1 policyconfig.go:202] converting Balance plugin: %sRemovePodsViolatingTopologySpreadConstraintI0420 08:22:10.021280 1 policyconfig.go:202] converting Balance plugin: %sLowNodeUtilizationI0420 08:22:10.021296 1 policyconfig.go:202] converting Balance plugin: %sRemoveDuplicatesI0420 08:22:10.021312 1 policyconfig.go:211] converting Deschedule plugin: %sRemovePodsHavingTooManyRestarts# ......I0420 08:22:11.630980 1 removeduplicates.go:162] "Duplicate found" pod="kruise-system/kruise-controller-manager-7d78fc5c97-pxsqx"I0420 08:22:11.630997 1 removeduplicates.go:103] "Processing node" node="node2"I0420 08:22:11.631052 1 removeduplicates.go:103] "Processing node" node="node3"I0420 08:22:11.631113 1 removeduplicates.go:103] "Processing node" node="master1"I0420 08:22:11.631184 1 removeduplicates.go:194] "Adjusting feasible nodes" owner={namespace:kruise-system kind:ReplicaSet name:kruise-controller-manager-7d78fc5c97 imagesHash:openkruise/kruise-manager:v1.3.0} from=4 to=3I0420 08:22:11.631200 1 removeduplicates.go:203] "Average occurrence per node" node="node1" ownerKey={namespace:kruise-system kind:ReplicaSet name:kruise-controller-manager-7d78fc5c97 imagesHash:openkruise/kruise-manager:v1.3.0} avg=1I0420 08:22:11.647438 1 evictions.go:162] "Evicted pod" pod="kruise-system/kruise-controller-manager-7d78fc5c97-pxsqx" reasnotallow="" strategy="RemoveDuplicates" node="node1"I0420 08:22:11.647494 1 descheduler.go:408] "Number of evicted pods" totalEvicted=1I0420 08:22:11.647583 1 reflector.go:227] Stopping reflector *v1.Namespace (0s) from k8s.io/client-go/informers/factory.go:150I0420 08:22:11.647702 1 reflector.go:227] Stopping reflector *v1.PriorityClass (0s) from k8s.io/client-go/informers/factory.go:150I0420 08:22:11.647761 1 tlsconfig.go:255] "Shutting down DynamicServingCertificateController"I0420 08:22:11.647764 1 reflector.go:227] Stopping reflector *v1.Node (0s) from k8s.io/client-go/informers/factory.go:150I0420 08:22:11.647811 1 secure_serving.go:255] Stopped listening on [::]:10258......
从日志中我们就可以清晰的知道因为什么策略驱逐了哪些 Pods。
PDB由于使用descheduler会将 Pod 驱逐进行重调度,但是如果一个服务的所有副本都被驱逐的话,则可能导致该服务不可用。如果服务本身存在单点故障,驱逐的时候肯定就会造成服务不可用了,这种情况我们强烈建议使用反亲和性和多副本来避免单点故障,但是如果服务本身就被打散在多个节点上,这些 Pod 都被驱逐的话,这个时候也会造成服务不可用了,这种情况下我们可以通过配置PDB(PodDisruptionBudget)对象来避免所有副本同时被删除,比如我们可以设置在驱逐的时候某应用最多只有一个副本不可用,则创建如下所示的资源清单即可:
# pdb-demo.yamlapiVersion: policy/v1kind: PodDisruptionBudgetmetadata: name: pdb-demospec: maxUnavailable: 1 # 设置最多不可用的副本数量,或者使用 minAvailable,可以使用整数或百分比 selector: matchLabels: # 匹配Pod标签 app: demo
关于 PDB 的更多详细信息可以查看官方文档:https://kubernetes.io/docs/tasks/run-application/configure-pdb/。
所以如果我们使用descheduler来重新平衡集群状态,那么我们强烈建议给应用创建一个对应的PodDisruptionBudget对象进行保护。
策略PodLifeTime:驱逐超过指定时间限制的 pod该策略用于驱逐比maxPodLifeTimeSeconds更旧的 Pods,可以通过podStatusPhases来配置哪类状态的 Pods 会被驱逐,建议为每个应用程序创建一个 PDB,以确保应用程序的可用性,比如我们可以配置如下所示的策略来驱逐运行超过 7 天的 Pod:
apiVersion: "descheduler/v1alpha1"kind: "DeschedulerPolicy"strategies: "PodLifeTime": enabled: true params: maxPodLifeTimeSeconds: 604800 # Pods 运行最多7天RemoveDuplicates
该策略确保只有一个和 Pod 关联的 RS、Deployment 或者 Job 资源对象运行在同一节点上。如果还有更多的 Pod 则将这些重复的 Pod 进行驱逐,以便更好地在集群中分散 Pod。如果某些节点由于某些原因崩溃了,这些节点上的 Pod 漂移到了其他节点,导致多个与 RS 关联的 Pod 在同一个节点上运行,就有可能发生这种情况,一旦出现故障的节点再次准备就绪,就可以启用该策略来驱逐这些重复的 Pod。
配置策略的时候,可以指定参数excludeOwnerKinds用于排除类型,这些类型下的 Pod 不会被驱逐:
apiVersion: "descheduler/v1alpha1"kind: "DeschedulerPolicy"strategies: "RemoveDuplicates": enabled: true params: removeDuplicates: excludeOwnerKinds: - "ReplicaSet"LowNodeUtilization
该策略主要用于查找未充分利用的节点,并从其他节点驱逐 Pod,以便 kube-scheduler 重新将它们调度到未充分利用的节点上。该策略的参数可以通过字段nodeResourceUtilizationThresholds进行配置。
节点的利用率不足可以通过配置thresholds阈值参数来确定,可以通过 CPU、内存和 Pods 数量的百分比进行配置。如果节点的使用率均低于所有阈值,则认为该节点未充分利用。
此外,还有一个可配置的阈值targetThresholds,用于计算可能驱逐 Pods 的潜在节点,该参数也可以配置 CPU、内存以及 Pods 数量的百分比进行配置。thresholds和targetThresholds可以根据你的集群需求进行动态调整,如下所示示例:
apiVersion: "descheduler/v1alpha1"kind: "DeschedulerPolicy"strategies: "LowNodeUtilization": enabled: true params: nodeResourceUtilizationThresholds: thresholds: "cpu": 20 "memory": 20 "pods": 20 targetThresholds: "cpu": 50 "memory": 50 "pods": 50
需要注意的是:
仅支持以下三种资源类型:cpu、memory、podsthresholds和targetThresholds必须配置相同的类型参数值的访问是 0-100(百分制)相同的资源类型,thresholds的配置不能高于targetThresholds的配置如果未指定任何资源类型,则默认是 100%,以避免节点从未充分利用变为过度利用。和LowNodeUtilization策略关联的另一个参数是numberOfNodes,只有当未充分利用的节点数大于该配置值的时候,才可以配置该参数来激活该策略,该参数对于大型集群非常有用,其中有一些节点可能会频繁使用或短期使用不足,默认情况下,numberOfNodes 为 0。
RemovePodsViolatingInterPodAntiAffinity该策略可以确保从节点中删除违反 Pod 反亲和性的 Pod,比如某个节点上有 podA 这个 Pod,并且 podB 和 podC(在同一个节点上运行)具有禁止它们在同一个节点上运行的反亲和性规则,则 podA 将被从该节点上驱逐,以便 podB 和 podC 运行正常运行。当 podB 和 podC 已经运行在节点上后,反亲和性规则被创建就会发送这样的问题。
要禁用该策略,直接配置成 false 即可:
apiVersion: "descheduler/v1alpha1"kind: "DeschedulerPolicy"strategies: "RemovePodsViolatingInterPodAntiAffinity": enabled: falseRemovePodsViolatingNodeTaints
该策略可以确保从节点中删除违反NoSchedule污点的 Pod,比如有一个名为 podA 的 Pod,通过配置容忍key=value:NoSchedule允许被调度到有该污点配置的节点上,如果节点的污点随后被更新或者删除了,则污点将不再被 Pods 的容忍满足,然后将被驱逐:
apiVersion: "descheduler/v1alpha1"kind: "DeschedulerPolicy"strategies: "RemovePodsViolatingNodeTaints": enabled: trueRemovePodsViolatingNodeAffinity
该策略确保从节点中删除违反节点亲和性的 Pod。比如名为 podA 的 Pod 被调度到了节点 nodeA,podA 在调度的时候满足了节点亲和性规则requiredDuringSchedulingIgnoredDuringExecution,但是随着时间的推移,节点 nodeA 不再满足该规则了,那么如果另一个满足节点亲和性规则的节点 nodeB 可用,则 podA 将被从节点 nodeA 驱逐,如下所示的策略配置示例:
apiVersion: "descheduler/v1alpha1"kind: "DeschedulerPolicy"strategies: "RemovePodsViolatingNodeAffinity": enabled: true params: nodeAffinityType: - "requiredDuringSchedulingIgnoredDuringExecution"RemovePodsViolatingTopologySpreadConstraint
该策略确保从节点驱逐违反拓扑分布约束的 Pods,具体来说,它试图驱逐将拓扑域平衡到每个约束的maxSkew
内所需的最小 Pod 数,不过该策略需要 k8s 版本高于 1.18 才能使用。
默认情况下,此策略仅处理硬约束,如果将参数includeSoftConstraints
设置为 True,也将支持软约束。
apiVersion: "descheduler/v1alpha1"kind: "DeschedulerPolicy"strategies: "RemovePodsViolatingTopologySpreadConstraint": enabled: true params: includeSoftConstraints: falseRemovePodsHavingTooManyRestarts
该策略确保从节点中删除重启次数过多的 Pods,它的参数包括podRestartThreshold(这是应将 Pod 逐出的重新启动次数),以及包括InitContainers,它确定在计算中是否应考虑初始化容器的重新启动,策略配置如下所示:
apiVersion: "descheduler/v1alpha1"kind: "DeschedulerPolicy"strategies: "RemovePodsHavingTooManyRestarts": enabled: true params: podsHavingTooManyRestarts: podRestartThreshold: 100 includingInitContainers: trueFilter Pods
在驱逐 Pods 的时候,有时并不需要所有 Pods 都被驱逐,descheduler提供了两种主要的方式进行过滤:命名空间过滤和优先级过滤。
命名空间过滤该策略可以配置是包含还是排除某些名称空间。可以使用该策略的有:
PodLifeTimeRemovePodsHavingTooManyRestartsRemovePodsViolatingNodeTaintsRemovePodsViolatingNodeAffinityRemovePodsViolatingInterPodAntiAffinityRemoveDuplicatesRemovePodsViolatingTopologySpreadConstraint比如只驱逐某些命令空间下的 Pods,则可以使用include参数进行配置,如下所示:
apiVersion: "descheduler/v1alpha1"kind: "DeschedulerPolicy"strategies: "PodLifeTime": enabled: true params: podLifeTime: maxPodLifeTimeSeconds: 86400 namespaces: include: - "namespace1" - "namespace2"
又或者要排除掉某些命令空间下的 Pods,则可以使用exclude参数配置,如下所示:
apiVersion: "descheduler/v1alpha1"kind: "DeschedulerPolicy"strategies: "PodLifeTime": enabled: true params: podLifeTime: maxPodLifeTimeSeconds: 86400 namespaces: exclude: - "namespace1" - "namespace2"优先级过滤
所有策略都可以配置优先级阈值,只有在该阈值以下的 Pod 才会被驱逐,我们可以通过设置thresholdPriorityClassName(将阈值设置为指定优先级类别的值)或thresholdPriority(直接设置阈值)参数来指定该阈值。默认情况下,该阈值设置为system-cluster-critical这个 PriorityClass 类的值。
比如使用thresholdPriority:
apiVersion: "descheduler/v1alpha1"kind: "DeschedulerPolicy"strategies: "PodLifeTime": enabled: true params: podLifeTime: maxPodLifeTimeSeconds: 86400 thresholdPriority: 10000
或者使用thresholdPriorityClassName进行过滤:
apiVersion: "descheduler/v1alpha1"kind: "DeschedulerPolicy"strategies: "PodLifeTime": enabled: true params: podLifeTime: maxPodLifeTimeSeconds: 86400 thresholdPriorityClassName: "priorityclass1"
不过需要注意不能同时配置thresholdPriority和thresholdPriorityClassName,如果指定的优先级类不存在,则 descheduler 不会创建它,并且会引发错误。
注意事项当使用 descheduler 驱除 Pods 的时候,需要注意以下几点:
关键性 Pod 不会被驱逐,比如priorityClassName设置为system-cluster-critical或system-node-critical的 Pod。不属于 RS、Deployment 或 Job 管理的 Pods 不会被驱逐。DaemonSet 创建的 Pods 不会被驱逐。使用LocalStorage的 Pod 不会被驱逐,除非设置evictLocalStoragePods: true。具有 PVC 的 Pods 不会被驱逐,除非设置ignorePvcPods: true。在LowNodeUtilization和RemovePodsViolatingInterPodAntiAffinity策略下,Pods 按优先级从低到高进行驱逐,如果优先级相同,Besteffort类型的 Pod 要先于Burstable和Guaranteed类型被驱逐。annotations中带有descheduler.alpha.kubernetes.io/evict字段的 Pod 都可以被驱逐,该注释用于覆盖阻止驱逐的检查,用户可以选择驱逐哪个 Pods。如果 Pods 驱逐失败,可以设置--v=4从descheduler日志中查找原因,如果驱逐违反 PDB 约束,则不会驱逐这类 Pods。关键词:
-
一篇带你学习Kubernetes Descheduler 使用 世界看热讯
从kube-scheduler的角度来看,它是通过一系列算法计算出最佳节点运行Pod,当出现新的Pod进行调度时,调度程
来源: 一篇带你学习Kubernetes Descheduler 使用 世界看热讯
TypeScript 程序员晋级的 11 个必备技巧
哪个关键词与你紧密相关?从一季度经济数据看生活消费
天海防务(300008)新增【太赫兹】概念 即时看
观焦点:奕东电子:截止2023年4月20日,公司股东户数为24990户
外交部发言人:敦促美国等发达国家审慎评估自身经济金融政策外溢影响-天天微速讯
抖音注册中长视频APP青桃商标
午评:两市走低 中药、贵金属板块涨幅居前-全球快消息
新光光电去年净利亏损2467万元 2019年上市募资9.5亿
日本加紧强化军事“桥头堡” 冲绳何时可获安宁?
兴业证券(601377.SH):股票期权做市业务资格获批_天天快报
当前观点:天牛是什么动物_天牛是什么
今日看点:一种可再生的工程细胞产品显示出治疗神经退行性和视网膜疾病的潜力
今日视点:番石榴上火吗_吃番石榴不会上火
立冬祝福问候语大全_立冬祝福语文案大全
全球播报:diagnostics policy service 占用率_diagnostics
今日热门!ProCook 第四季度收入下降
尽管食品价格创历史新高 但通货膨胀率降至 10.1%
天天速讯:华致酒行:进口酒近些年势头持续上涨,销售氛围良好
雨来了,沙尘退退退→→→
全球观热点:四川省万源市发布强降温橙色预警
全球实时:农业农村部:开展农村改厕“提质年”工作
浮盈2000亿,公募慎对TMT-世界即时看
山西培育壮大农业龙头企业 推动"特""优"农业发展
天津打造夜间消费新场景 "五一"假期夜间经济亮点纷呈
古人如何为孩子压惊?有的方法还在用,有的方法已经失传了_新动态
揭秘《如懿传》“乌拉那拉氏”断发谜团,抽丝剥茧再现事件始末
环球快资讯:【南篱/黄金】至于黄金能不能见顶?
每日消息!4月20日汇丰石化硫磺报价下调
环球热文:为新入选市级专家“上门颁奖”
二刷《尘封十三载》,顿悟卫峥嵘才是造成两个女人不幸的“原罪”
钢花街代办服务暖心 残疾人足不出户拿到乘车证_世界最资讯
华科大团队在里德堡原子量子信息领域取得重要进展 消息
上海2023年首轮土拍首日:有人戴红围巾进场,有房企经营执照范围未通过核验
首宗封顶!松山湖王者归来!楼面价26000元,金地的
新北市一家当铺遭人开40余枪 枪手向警方主动投案
异动快报:ST鹏博士(600804)4月20日14点44分触及涨停板
东吴证券:给予中金黄金买入评级-当前速看
欧冠疯狂一夜:皇马2-0切尔西,AC米兰1-0改写17年历史,4强浮现
【环球速看料】龙虎榜丨7.65亿资金抢筹蓝色光标,机构狂买工业富联(名单)
全球快看点丨鸟妈妈惊跑,20米高废电塔上留下一窝雏鸟……
阿修罗高清在线播放2018_阿修罗2018在线观看hd高清版
重庆到宜昌三峡游轮有几个景点_重庆到宜昌三峡游 世界观速讯
研究生统考科目有哪些_考研考什么科目
每日热议!幸福是奋斗出来的感想_感想是什么意思
全球头条:雷霆纳克多久刷一次_雷霆纳克
一公分是多少毫米?_一公分
最新消息:苹果余额宝收益4%?我可一点都不羡慕
首季经济形势丨平稳运行、动能积蓄——透视首季工业经济数据-报资讯
每日速递:一季度农业农村经济运行情况:稳步提升粮食产能 全面推进乡村振兴
正式逮捕!-信息
北向资金今日净卖出9.16亿元 分众传媒、汇川技术等获加仓
90后温商卖螺钉替父还债千万,科腾精工背靠海尔冲刺A股 全球看点
上海市哪个省份?_上海市是哪个省-天天快资讯
北京一季度GDP同比增3.1%,人均消费支出同比增6.3%-全球热议
五洲特纸(605007.SH):2022年净利润下降47.41%至2.05亿元 拟10派1.6元_天天最资讯
汇宇制药(688553.SH):氟维司群注射液获得药品注册证书-全球最资讯
环球关注:宁愿去印度都不来中国!两大汽车巨头为何迟迟不愿在中国建厂?
BuzzFeed将关闭新闻部门,并裁员15%|天天消息
捷报频传!多家粤企在广交会签下百万美金订单
安车检测(300572.SZ):深耕机动车检测领域近二十年,在机动车检测产业链上下游积累了丰富的行业资源 环球热点
A股申购 | 经纬股份(301390.SZ)开启申购 位处电力工程技术服务行业第二梯队
打印机0x0000007e找不到指定模块_打印机0x0000007e
全球时讯:中国一季度经济数据说明什么?国际舆论深度解析
世界快资讯:华为阅读发布最新进展 月活用户超1亿
【民生在线】青岛-曼谷航线将于4月底复航 计划新开10个国内航点_今日热闻
全球新消息丨小米13 Ultra京东全版本卖断货!很多米粉跟员工要F码
用ChatGPT和强化学习玩转《我的世界》,Plan4MC攻克24个复杂任务 环球看热讯
世界热文:《中国农业展望报告(2023-2032)》发布
攸县物业管理实施细则
心理学哲学评论
心理学哲学研究
动态焦点:孕早期宫缩对胎儿影响_孕早期宫缩怎么回事
厦门-台北两岸“三通”跨境电商快线开通 天天热头条
泉州市“闽南厨娘”厨艺展示主题活动举办
G237金舒大道项目最新进展!
快讯!1号台风“珊瑚”生成!福州今起降温!
当前速递!图像同一性鉴定成为二审抗诉获法院改判的关键性新证据
法院执行:艰难的守望终会带来值得的收获_每日观点
午评:沪镍涨超4%,豆二跌超2%
股市小资金真正做大的唯一方式:“线上阴线满仓,线下阳线清仓”
网上群众工作新路径如何走?这个论坛来支招_每日时讯
2022年江苏人均每日阅读时长85.35分钟
央行:一季度房地产贷款增长呈上升态势
@全省7.7万考生,这项考试4月22日开考!考前注意→
【世界播资讯】楚阳是哪本小说的主角_楚阳
环球视点!花鸭借钱借款逾期52年拖欠多久上征信系统
省呗逾期七天拖欠多久会上征信系统 每日讯息
当前热议!住房公积金提取方式,变了!
突发!小米13 Ultra因成本增加或将上调定价,最低6299起,还香吗
产品结构优化叠加渠道红利释放,劲仔食品是下一个食品大牛股吗?
柳湖街道开展“国家安全教育日”主题周活动_世界观点
源汇区干河陈市场监管: 召开商户培训观摩会确保"舌尖安全"! 环球报资讯
天天快看:为社会救助打造"数据天网"!漯河这个"组"获省"五一巾帼标兵岗"
基础建设板块4月20日涨3.45%,龙建股份领涨,主力资金净流入1.62亿元|焦点速读
坠落的陨石去哪儿了?潮新闻带你去地质博物馆一探究竟 世界简讯
北京专报丨央行:当前住户部门的消费和投资意愿在回升,储蓄意愿在下降
宝宝树回应高管内讧:目前经营管理一切正常 每日快讯
今日热门!华为宣布实现自主可控的MetaERP研发和替换
世界滚动:“限温令”鱼目混珠,民进党当局能源政策还能硬拗多久?