




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VMware Cloud Native Storage 入门指南Update 32019 年 8 月 13 日VMware vSphere 6.7vCenter Server 6.7VMware ESXi 6.7VMware Cloud Native Storage 入门指南您可以从 VMware最新的技术文档:https/cn/。如果您对本文档有任何意见或建议,请将反馈至:docfVMware, Inc.3401 Hillview Ave. Palo Alto, CA 94304威睿 限公司北京办公室北京市(中国)有上海办公室上海市淮海中路 333 号804-809 室广州办公室广州市天河路
2、 385 号太古汇一座 3502 室朝阳区新源南路 8 号启皓北京东塔 8 层 801所有 2019 VMware, Inc. 保留所利。和商标信息VMware, Inc.2目录关于 VMware Cloud Native Storage 入门指南51了解 Cloud Native Storage 6 Cloud Native Storage 概念和术语Cloud Native Storage 用户和工具Cloud Native Storage 组件 867Cloud Native Storage 的要求10Cloud Native Storage11和2设置 Kubernetes 群集13配
3、置 Kubernetes 群集虚拟机13在节点虚拟机上设置 Kubernetes 组件 14初始化主节点 16初始化 Worker 节点 18安装 vSphere Cloud Controller Manager18安装 vSphere Container Storage Interface 驱动程序21使用确保 vCenter Server 连接安全 33验证群集设置 36安装 CCM 和 CSI 驱动程序后添加 Kubernetes 节点373部署有状态应用程序 39创建创建策略 39类 41为应用程序定义和部署 Kubernetes 服务 42创建和部署 StatefulSet 43查看
4、容器卷 VMDK 464管理容器卷 47Kubernetes 群集中的容器卷 47扩展容器化应用程序 485在具有多个数据中心或群集的环境中部署 CCM 和 CSI在 vSphere CNS 环境中设置区域 5050使用 vSphere 标记创建区域51为 CCM 和 CSI 驱动程序启用区域使用区域部署工作负载 54在 Kubernetes 中使用拓扑感知卷置备5257VMware, Inc.3VMware Cloud Native Storage 入门指南将 Kubernetes 节点虚拟机迁移到不同的区域或地区 606对 vSphere Cloud Native Storage 进行故障
5、排除62使用 CNS 日志文件62修改日志级别63VMware, Inc.4关于 VMware Cloud Native Storage 入门指南VMware Cloud Native Storage 入门指南文档提供了有关在 vSphere 环境中设置和使用 VMware Cloud Native Storage 的信息。这些信息包括 Cloud Native Storage 概念和组件的简要概述,以及说明如何创建 Kubernetes 群集和部署容器化应用程序的讲解示范。目标读者此信息适用于基本了解 Kubernetes 并熟悉容器部署概念的开发和 vSphere 管理员。VMware 技
6、术物术语表VMware 技术物提供了一个术语表,其中包含一些您可能不熟悉的术语。有关 VMware 技术文档中所htt/support/pubs。使用的术语的定义,请VMware, Inc.51了解 Cloud Native StorageCloud Native Storage 是一种为有状态应用程序提供全面数据管理的解决方案。使用 Cloud Native Storage时,您可以创建能够重新启动和中断的有状态容器化应用程序。有状态容器利用 vSphere 公开的存储,同时使用此类基本类型作为标准卷、持久性卷,并进行动态置备。借助 Cloud Native Storage,您可以创建于虚拟
7、机和容器生命周期的持久性容器卷。vSphere支持卷,您可以直接在卷上设置策略。创建卷后,可以在 vSphere Client 中查看这些卷及其备用虚拟磁盘,并其策略合规性。本章讨论了以下主题:nCloud Native Storage 概念和术语Cloud Native Storage 用户和工具nnCloud Native Storage 组件nCloud Native Storage 的要求Cloud Native Storage和nCloud Native Storage 概念和术语熟悉 vSphere Cloud Native Storage 环境的一些基本概念。Kubernetes
8、 群集运行 Kubernetes 主节点和 worker 节点服务的虚拟机群集。在 Kubernetes群集上,您可以部署容器化的应用程序。应用程序可以是有状态的和无状态的。PodPod 是由一个或多个共享以组的形式启动、停止和和网络等。的容器组成的组。Pod 中的容器容器 Orchestrator用于跨主机群集部署、扩展和管理容器化应用程序的开源平台,例如Kubernetes。这些平台提供了以容器为中心的基础架构。有状态应用程序由于容器化应用程序从无状态发展为有状态,它们需要持久性。无状态应用程序在会话之间保存数据,与之不同的是,有状态应用程序会将数据保存到持久性中。保留的数据称为应用程序的
9、状态。之后,您可以检索数据,并在下一个会话中使用该数据。大多数应用程序都是有状态的。数据库是有状态应用程序的示例。PersistentVolume有状态应用程序使用 PersistentVolume其数据。PersistentVolume 是一个能够保留其状态和数据的 Kubernetes 卷。PersistentVolume于VMware, Inc.6VMware Cloud Native Storage 入门指南Pod,即使删除或重新配置 Pod,它也可以继续存在。在 vSphere 环境中,PersistentVolume 对象使用虚拟磁盘 (VMDK) 作为其备用。Persistent
10、VolumeClaim通常,您不需要提前创建 PersistentVolume 或其备用 VMDK。相反,应用程序可以通过 PersistentVolumeClaim 请求持久性。PersistentVolumeClaim 是一个请求,可以为 PersistentVolume 指定访问模式、容量和其他参数。然后,请求会动态置备相应的PersistentVolume 对象和备用 VMDK。创建后,PersistentVolume 会自动绑定到。Pod 使用挂载PersistentVolume 并。删除此时,将删除相应的 PersistentVolume 对象和已置备的 VMDK。StorageC
11、lass您可以使用 StorageClass 描述支持 PersistentVolume 的要求。请参见创建类。StatefulSetStatefulSet 管理有状态应用程序的部署和扩展。对于需要稳定标识符或稳定持久性的应用程序,StatefulSet 非常有用。您可以将 StatefulSet 配置为包含自动生成 PersistentVolumeClaim 对象的 volumeClaimTemplates 条目。请参见创建和部署 StatefulSet。Cloud Native Storage 用户和工具在 vSphere Cloud Native Storage 环境中,创建和Kuber
12、netes 卷的过程所涉及的用户类型通常分为两类:Kubernetes 用户和 vSphere 用户。这两种类型的用户都不同的工具并执行不同的任务。Kubernetes 用户Kubernetes 用户可以是 Kubernetes 开发和应用程序所有者、Kubernetes 管理员,或将两者的功能组合在一起。Kubernetes 用户在 Cloud Native Storage 环境中执行的任务包括:n部署和管理有状态应用程序。n执行持久性卷的生命周期操作。n执行类的生命周期操作。VMware, Inc.7VMware Cloud Native Storage 入门指南Kubernetes 用户
13、通常可以以下工具:kubectl提供对 Kubernetes 群集令行的 Kubernetes 接口。要与群集进行通信,您可以在 kubectl 配置文件中使用主节点的 IP 地址。有关 kubectl 的详细信息,请参见 Kubernetes 文档中的 kubectl 概览。配置文件部署工作负载时,Kubernetes 用户向配置文件中的 Kubernetes 提供信息。通常,会使用 YAML 文件。发出 API 请求时,kubectl 会将信息转换为JSON。注 YAML 文件中包含的 Kubernetes的名称必须符合 Kubernetes 约定。有关信息,请参见 Kubernetes
14、文档中的名称。Kubernetes 仪表板通过 Kubernetes 仪表板,您可以查看有关 Kubernetes 群集的节点、命名空间、部署以及其他详细信息。vSphere 用户vSphere 用户vSphere Client 以执行以下任务:n执行虚拟机策略的生命周期操作。例如,创建一个用于 Kubernetes类的虚拟机策略,并将其名称传达给 Kubernetes 用户。n使用 vSphere Client 的 Cloud Native Storage 部分略合规性。Kubernetes 群集中容器卷的运行状况和策Cloud Native Storage 组件Cloud Native S
15、torage 使用多个组件与 vSphere进行集成。下图显示了这些组件的交互方式。VMware, Inc.8VMware Cloud Native Storage 入门指南Kubernetes 节点SPBMCSI 插件策略管理和合规性CNS层面CacheDBKuberneted块卷管理元数据聚合FCDvSANVMFSNFSKubernetes 群集在 Cloud Native Storage 环境中,Kubernetes 群集是部署在 vSphere 中的虚拟机或节点群集。在其上部署有状态应用程序时,Kubernetes 用户直接与群集进行交互。vSphere ContainerStorag
16、e Interface (CSI)vSphere CSI 是一个接口,可向容器 Orchestrator(如 Kubernetes)上的容器化工作负载公开 vSphere储。它支持 vSAN 和其他类型的 vSphere 存在 Kubernetes 上,CSI 驱动程序与树外 vSphere Cloud Controller Manager (CCM) 一起使用。Container Storage Interface 支持动态置备容器卷。该接口支持以下功能:nvSphere 第一类磁盘功能nKubernetes 区域n常规挂载和 挂载n跨多个 vCenter Server 和数据中心部署的 K
17、ubernetes 群集n从多个数据或数据群集置备Cloud Native Storage 服务器组件CNS 服务器组件驻留在 vCenter Server 中。它是 vCenter Server 管理的扩展,用于执行容器卷的置备和生命周期操作。置备容器卷时,它会与第一类磁盘功能进行交互,以创建支持卷的虚拟磁盘。此外,CNS 服务器组件与基于所需服务级别。策略的管理进行通信,以保证磁盘的VMware, Inc.9vSphereVMware Cloud Native Storage 入门指南CNS 还会执行操作,以便您通过 vCenter Server 管理和容器卷及其备用虚拟磁盘。第一类磁盘
18、(FCD)也称为改进的虚拟磁盘。它是与虚拟机无关的已命名虚拟磁盘。这些磁盘驻留在 VMFS、NFS 或 vSAN 数据和备用容器卷上。基于策略的管理是一种 vCenter Server 服务,它支持根据指定的基于策略的管理要求置备持久性卷。置备后,服务会具有所需策略特性的卷的合规性。Cloud Native Storage 的要求Cloud Native Storage 环境和加入 Kubernetes 群集的虚拟机必须满足多个要求。Cloud Native Storage 要求nvSphere 6.7 Update 3 或更高版本。nKubernetes 1.14 及更高版本。n一个 Kub
19、ernetes 群集,其所包含的一个主节点和多个 worker 节点部署在虚拟机上。可以跨多个数据中心和群集部署节点。Kubernetes 群集虚拟机的要求n硬件版本为 15 或更高版本的虚拟机。在每个节点虚拟机上安装 VMware Tools。n建议的客户机操作系统:nUbuntu 18.04.1 LTS (Bionic Beaver) 64 位 PC (AMD64) 服务器。有关信息,请参见 http:/par/GOSIG/Ubuntu_18_04_LTS.html。n虚拟机硬件建议:n根据工作负载要求充分设置 CPU 和内存。n对节点虚拟机上的主磁盘使用 VMware 准虚拟 SCSI器
20、。n所有虚拟机都必须共享数据,例如 vSAN。n在每个节点虚拟机上设置 disk.EnableUUID 参数。请参见配置 Kubernetes 群集虚拟机。n为避免出现错误和不可预知的行为,为 CNS 节点虚拟机生成快照。Docker 映像VMware 分发并建议使用以下映像:nvmware/vsphere-block-csi-driver:v1.0.0nvmware/volume-metadata-syncer:v1.0.0ngcr.io/cloud-provider-vsphere/vsphere-cloud-controller-manager:latestVMware, Inc.10V
21、Mware Cloud Native Storage 入门指南此外,还可以使用以下映像或者适用于 CSI 部署的任何开源或容器映像:quay.io/k8scsi/csi-provisioner:v1.2.0nquay.io/k8scsi/csi-attacher:v1.1.1nquay.io/k8scsi/csi-node-driver-registrar:v1.1.0nquay.io/k8scsi/livenessprobe:v1.1.0nk8s.gcr.io/kube-apiserver:v1.14.2nk8s.gcr.io/kube-controller-manager:v1.14.2n
22、k8s.gcr.io/kube-scheduler:v1.14.2nk8s.gcr.io/kube-proxy:v1.14.2nk8s.gcr.io/pause:3.1nk8s.gcr.io/etcd:3.3.10nk8s.gcr.io/coredns:1.5.0nCloud Native Storage和vSphere 用户必须具有特定的才能执行与 Cloud Native Storage 相关的操作。您可以创建多个,以便为加入 Cloud Native Storage 环境的对象分配权限集。有关 vSphere 中的和权限以及如何创建的详细信息,请参见vSphere 安全性文档。CNS-S
23、PBM配置文件驱动的新 配置文件驱动的更对虚拟机策略进行更根 vCenter Server改,例如创建和更新虚拟机策略。 配置文件驱动的配置文件驱动的图视查看定义的策略。CNS-VM虚拟机 配置 添加现有磁盘将现有虚拟磁盘添加到虚拟机。所有群集节点虚拟机虚拟机 配置 添加或移除设备添加或移除任何非磁盘设备。CNS-Datastore 低级别文件操作数据在数据浏览器中执行持久性卷所在的共享数据、写入、删除和重命名操作。VMware, Inc.11名称名称描述要求VMware Cloud Native Storage 入门指南只读默认具有“只读”的对象用户节点虚拟机所在的所有主机数据中心可查看对象
24、的状态和详细信息。例如,具有此的用户可以找到所有节点虚拟机均可的共享数据。对于区域和拓扑感知环境,节点虚拟机的所有先代(例如, 主机、群集和数据中心)都必须配置为使用 CSI 驱动程序和 CCM 的 vSphere 用户设置只读。要标记和类别以准备节点拓扑,必须满足此条件。CNS UIs.label s.Searchable.label管理员查看 CNSUI。VMware, Inc.12名称名称描述要求2设置 Kubernetes 群集使用持久性的有状态应用程序在 Kubernetes 群集上运行。您可以在 vSphere 管理的虚拟机上部署Kubernetes 群集。该群集包含至少一个主节点
25、虚拟机和多个 worker 节点。创建 Kubernetes 群集之前,您需要配置节点虚拟机。然后,安装所有必需的 Kubernetes 组件和容器运行时,配置 vSphere Container Storage Interface,并引导群集。本章讨论了以下主题:n配置 Kubernetes 群集虚拟机n在节点虚拟机上设置 Kubernetes 组件n初始化主节点n初始化 Worker 节点安装 vSphere Cloud Controller Managernn安装 vSphere Container Storage Interface 驱动程序n验证群集设置n安装 CCM 和 CSI 驱
26、动程序后添加 Kubernetes 节点配置 Kubernetes 群集虚拟机在每个节点虚拟机上,启用 disk.EnableUUID 参数,以便虚拟机可以挂载虚拟磁盘。对加入群集的每个虚拟机节点执行以下步骤。前提条件n为 Kubernetes 群集创建多个虚拟机。可以对虚拟机使用以下名称:k8s-master、k8s-node1、k8s- nodeX 等。有关虚拟机要求,请参见 Cloud Native Storage 的要求。n所需:虚拟机.配置.设置。注 为避免出现错误和不可预知的行为,对 CNS 节点虚拟机生成快照。步骤1在 vSphere Client 中,右键单击虚拟机,然后选择编
27、辑设置。2单击虚拟机选项选项卡,然后展开高级菜单。VMware, Inc.13VMware Cloud Native Storage 入门指南3单击“配置参数”旁边的编辑配置。4配置 disk.EnableUUID 参数。如果该参数存在,请确保其值设置为 True。如果该参数不存在,请添加并将其值设置为 True。disk.EnableUUID True在节点虚拟机上设置 Kubernetes 组件在节点虚拟机上安装容器运行时和其他 Kubernetes 组件。该任务说明如何在 Ubuntu 上安装 Docker CE。此外,还说明了如何安装以下组件:nkubeadm 是用于引导群集令。在主节
28、点和所有 worker 节点上运行。nkubelet 是在群集中的所有节点上运行的组件,并执行启动 Pod 和容器等任务。nkubectl 是用于与群集进行通信令行实用程序。仅在主节点上运行。前提条件使用 root执行所有安装和配置命令。您可以使用 sudosu 命令切换到根环境。步骤1在所有群集节点上,禁用交换。VMware, Inc.14# swapoff -a# vi /etc/fstab # remove any swap entries from this file名称值VMware Cloud Native Storage 入门指南2在所有群集节点上安装 Docker。a安装 Do
29、cker CE。要安装特定版本,请将版本字符串替换为版本号,例如 18.06.0ce3-0ubuntu。b设置守护进程。c重新启动 Docker。3在所有节点上安装 kubeadm、kubelet 和 kubectl。请确保安装合适版本的软件包。在此示例中,使用适用于 Ubuntu 的版本 1.14.2-00。VMware, Inc.15# curl -s/apt/doc/apt-key.gpg | apt-key add -# cat /etc/apt/sources.list.d/kubernetes.list debkubernetes-xenial mainEOF# apt-get u
30、pdate# apt-get install -qy kubeadm=1.14.2-00 kubelet=1.14.2-00 kubectl=1.14.2-00# systemctl daemon-reload # systemctl restart dockercat /etc/docker/daemon.json /dev/null discovery.yaml# kubectl apply -f/coreos/flannel/ bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml# kubectl
31、get pods -namespace=kube-systemNAMEREADY STATUS RESTARTS AGEcoredns-fb8b8dccf-q57f90/1 Pending 0 87scoredns-fb8b8dccf-scgp20/1 Pending 0 87setcd-k8s-master1/1 Running 0 54s kube-apiserver-k8s-master1/1 Running 0 39s kube-controller-manager-k8s-master 1/1 Running 0 54s kube-proxy-rljk81/1 Running 0 8
32、7s kube-scheduler-k8s-master1/1 Running 0 37s# kubectl describe pod coredns-fb8b8dccf-q57f9 -namespace=kube-system.Events:TypeReasonAgeFromMessage-Warning FailedScheduling 7s (x21 over 2m1s) default-scheduler 0/1 nodes are available: 1 node(s) had taints that the pod didnt tolerate.# mkdir -p $HOME/
33、.kube# cp /etc/kubernetes/admin.conf $HOME/.kube/configYou can now join any number of machines by running the following on each node as root:kubeadm join IP of your Kubernetes master:6443 -token y7yaev.9dvwxx6ny4ef8vlq -discovery- token-ca-cert-hash sha256:sha sum from output aboveVMware Cloud Nativ
34、e Storage 入门指南在本地discovery.yaml 文件,然后将其上载到 /etc/kubernetes/discovery.yaml 处的worker 节点。6初始化 Worker 节点初始化虚拟机群集 worker 节点,并将其添加到群集。在 worker 节点上执行以下任务。步骤1为 worker 节点创建 kubeadm join 配置文件。该文件使用 discovery.yaml 文件作为主节点发现的输入。令牌与您在主节点kubeadminitmaster.yaml 配置中使用的令牌相同。对于 worker 节点,将云提供商指定为external。2将 worker 节点
35、添加到群集。安装 vSphere Cloud Controller Manager可以将节点虚拟机配置为使用 vSphere Cloud Controller Manager 运行。注 如果要在部署中使用区域,请参见第 5 章 在具有多个数据中心或群集的环境中部署 CCM 和 CSI。前提条件满足 Cloud Native Storage 的要求中的要求。VMware, Inc.18# kubeadm join -config /etc/kubernetes/kubeadminitworker.yaml# tee /etc/kubernetes/kubeadminitworker.yaml /
36、dev/null /dev/null EOF Globalinsecure-flag = trueVirtualCenter vCenter Server IP address user = userpassword = password port = 443datacenters = datacenterNetworkpublic-network = VM Network EOF选项描述VMware Cloud Native Storage 入门指南验证是否已在 kube-system 命名空间中创建 configmap cloud-config。cd移除在 /etc/kubernetes/
37、 下创建的 vsphere.conf 文件。2安装 vSphere Cloud Controller Manager。a确保已使用 node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule 污染所有节点。使用外部云提供商启动 kubelet 时,会在节点上设置此污点以将其标记为不可用。CloudController Manager 中的器初始化此节点后,kubelet 将移除污点。b安装 vSphere Cloud Controller Manager。以下示例显示如何将 RBAC和 RBCA 绑定应用于 Kubernetes
38、 群集。此外,还显示如何在DaemonSet 中部署 Cloud Controller Manager。VMware, Inc.20# kubectl apply -f/kubernetes/cloud-provider-vsphere/master/ manifests/controller-manager/cloud-controller-manager-roles.yaml clusterrole.rbac.authorization.k8s.io/system:cloud-controller-manager created# kubectl apply -f/kubernetes/c
39、loud-provider-vsphere/master/ manifests/controller-manager/cloud-controller-manager-role-bindings.yaml clusterrolebinding.rbac.authorization.k8s.io/system:cloud-controller-manager created# kubectl apply -f/kubernetes/cloud-provider-vsphere/raw/master/manifests/ controller-manager/vsphere-cloud-contr
40、oller-manager-ds.yamlserviceaccount/cloud-controller-manager created daemonset.extensions/vsphere-cloud-controller-manager created service/vsphere-cloud-controller-manager created# kubectl describe nodes | egrep Taints:|Name: Name:k8s-masterTaints:node-role.kubernetes.io/master:NoScheduleName:k8s-no
41、de1Taints:node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule Name:k8s-node2Taints:node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule Name:k8s-node3Taints:node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule Name:k8s-node4Taints:node.cloudprovider.kubernetes.io/unini
42、tialized=true:NoSchedule# rm -rf /etc/kubernetes/vsphere.conf# kubectl get configmap cloud-config -namespace=kube-system NAMEDATAAGEcloud-config182sVMware Cloud Native Storage 入门指南3验证 vSphere Cloud Controller Manager 是否已安装。a验证 vSphere Cloud Controller Manager 和所有其他系统 pod 是否已启动并正在运行。b验证是否在所有节点上设置了 Pr
43、oviderID。c确保已从所有节点中移除 node.cloudprovider.kubernetes.io/uninitialized 参数。安装 vSphere Container Storage Interface 驱动程序配置并安装 vSphere Container Storage Interface (CSI) 驱动程序。注 如果要在部署中使用区域,请参见第 5 章 在具有多个数据中心或群集的环境中部署 CCM 和 CSI。VMware, Inc.21# kubectl describe nodes | egrep Taints:|Name: Name:k8s-masterTaints:node-role.kubernetes.io/master:NoScheduleName:k8s-node1Taints:Name:k8s-node2Taints:Name:k8s-node3Taints:Name:k8s-node4Taints:# kubectl describe nodes | grep ProviderIDProviderID:vsphere:/421f0831-7a05-fe2d-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉首大学《土地统计与R语言》2023-2024学年第二学期期末试卷
- 宿迁泽达职业技术学院《纺织服装进出口贸易》2023-2024学年第二学期期末试卷
- 崇左幼儿师范高等专科学校《植物造景实践》2023-2024学年第二学期期末试卷
- 2025四年级部编版数学下学期期末学业质量监测复习
- 高二班主任年度工作计划
- 渠道销售年终工作总结2024年
- 2024年护士个人护理工作年终总结
- 2024年大学生学雷锋的演讲(33篇)
- 实践报告1000字(30篇)
- 酒店实习生个人总结(17篇)
- 施工组织设计内部审批表
- 《企业的可持续发展》课件
- 零至三岁儿童及老年人中医保健指导专业知识讲座培训课件
- DB12-T 1305-2024 公路沥青路面泡沫沥青冷再生技术规范
- 范文语文评课稿15篇
- 2024年山东省春季高考技能考试汽车专业试题库-中(多选题汇总)
- 2024年西安电力高等专科学校高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 2016-2023年德州科技职业学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 《人文科学概论》课件
- 光伏机器人行业报告
- 屋顶分布式光伏发电施工组织设计
评论
0/150
提交评论