CN114201267A - 一种安全容器资源调度的方法、装置及系统 - Google Patents
一种安全容器资源调度的方法、装置及系统 Download PDFInfo
- Publication number
- CN114201267A CN114201267A CN202111629477.2A CN202111629477A CN114201267A CN 114201267 A CN114201267 A CN 114201267A CN 202111629477 A CN202111629477 A CN 202111629477A CN 114201267 A CN114201267 A CN 114201267A
- Authority
- CN
- China
- Prior art keywords
- kata
- cluster
- kubernetes
- upstream
- downstream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种安全容器资源调度的方法、装置及系统,涉及虚拟化技术领域,针对如何有效利用及分配kubernetes集群资源及创建安全容器提出本方案,包括以下步骤:S1部署kubernetes kata集群所需环境;S2部署上游kubernetes kata集群;S3部署下游kubernetes kata集群;S4在下游kubernetes kata集群部署agent‑proxy节点;S5打通上游kubernetes kata集群和下游kubernetes kata集群。优点在于,基于kata安全容器进行的调度方式,快速部署agent‑proxy虚拟节点进行资源调度,通过该资源调度方法,实现上下游集群之间的资源调度和容器安全,使得下游集群的横向延展性和纵向扩展性更强,更灵活,保证了集群的高伸缩性以及安全性。
Description
技术领域
本发明涉及虚拟化技术领域,尤其涉及一种安全容器资源调度的方法、装置及系统。
背景技术
目前容器技术和Kubernetes技术已经日趋成熟,其中,容器技术是一种虚拟化技术,具备弹性部署业务的能力。而Kubernetes提供以容器为中心的管理环境,是一个容器管理平台。
现有技术中安全容器的创建方法是通过kubernetes集群直接创建kata pod,当kubernetes集群资源不够时,需要手动扩展kubernetes集群,添加节点,加入集群等繁琐操作。当不需要资源时,需要删除节点等一系列的操作。手动扩展集群和添加或删除节点会增加使用成本,降低使用效率。如何有效利用及分配kubernetes集群资源和创建安全容器成为技术瓶颈。
发明内容
本发明目的在于提供一种安全容器资源调度的方法、装置及系统,以解决上述现有技术存在的问题。
本发明所述一种安全容器资源调度的方法,包括以下步骤:
S1部署创建kubernetes kata集群的所需环境;
S2部署上游kubernetes kata集群;
S3部署下游kubernetes kata集群;
S4在下游kubernetes kata集群部署agent-proxy节点;
S5打通上游kubernetes kata集群和下游kubernetes kata集群。
所述步骤S1中,所需环境在虚拟化平台或物理机中进行部署。
所述步骤S1中还包括,在所述虚拟化平台或物理机上创建虚拟机。
所述步骤S2包括以下子步骤:S21准备kata安全容器的所需环境;S22安装containerd tar安装包;S23安装上游kubernetes kata集群;S24安装kata安全容器。
所述步骤S4中,agent-proxy节点中的信息包含上游的认证信息和申请的资源量。
所述步骤S5中通过在上游kubernetes kata集群和下游kubernetes kata集群中部署agent-proxy节点从而实现上游kubernetes kata集群和下游kubernetes kata集群的打通。
所述步骤S5包括:
a.上游kubernetes kata集群根据传过来认证信息进行认证授权;
b.在下游kubernetes kata集群中查询节点,找到agent-proxy节点及对应的指定标签;
c.在下游kubernetes kata集群中通过指定标签的方式指定到agent-proxy节点,在agent-proxy节点中根据上游kubernetes kata集群的信息,将下游kubernetes kata集群相应的资源创建到上游kubernetes kata集群。
一种安全容器资源调度的系统,所述的资源调度方法进行资源调度。
一种安全容器资源调度的装置利用所述的资源调度系统建立安全容器并进行安全容器内的资源调度。
所述容器包括kata安全容器和Runc运行容器。
本发明所述一种安全容器资源调度的方法、装置及系统,其优点在于,基于kata安全容器进行的调度方式,快速部署agent-proxy节点进行资源调度,通过该资源调度方法,从而实现上下游集群之间的资源调度和容器安全,使得下游集群的横向延展性和纵向扩展性更强,更灵活,保证了集群的高伸缩性以及安全性。整个上游资源池的利用率更高。
附图说明
图1是本发明所述一种安全容器资源调度的系统示意图。
具体实施方式
实施例1
如图1所示,本发明所述一种安全容器资源调度的方法、装置及系统,用于解决操作流程复杂繁琐,难以脱离人工操作,导致消耗大量的人力资源成本和时间成本。
一种安全容器资源调度的方法,包括以下步骤:S1在物理机上部署虚拟化平台,并且开启硬件虚拟化;S2在虚拟化平台创建虚拟机;S3部署上游kubernetes kata集群;S4部署下游kubernetes kata集群;S5在下游kubernetes kata集群部署agent-proxy节点;S6打通上游kubernetes kata集群和下游kubernetes kata集群。
所述步骤S1中,虚拟化平台包括管理节点和计算节点。
所述步骤S1包括以下子步骤:
修改物理机的操作系统内核参数,启动Nested服务,通过命令echo'options kvm_intel nested=1'得到/etc/modprobe.d/kvm-nested.conf配置文件:echo'options kvm_intel nested=1'>/etc/modprobe.d/kvm-nested.conf;
加载内核驱动模块:modprobe kvm_intel;
查看Nested服务是否启用成功:cat/sys/module/kvm_intel/parameters/nested,得到Y,表示Nested服务启用成功;
修改计算节点的服务配置:找到vim/etc/nova/nova.conf文件,在[libvirt]目录下添加指令cpu_mode=host-passthrough;
开启服务systemctl restart libvirtd.service和openstack-nova-compute.service。
所述步骤S2中,通过虚拟化平台,开启硬件虚拟化,并利用虚拟机管理工具创建虚拟机。虚拟机管理工具如:Openstack。
所述步骤S3包括以下步骤:S31准备kata安全容器的所需环境;S32安装containerd tar安装包;S33安装上游kubernetes kata集群;S34安装kata安全容器。
步骤S31中,先利用kata安全容器进行软件隔离,所述软件隔离为将系统内容进行划分,有利于下一步操作的进行。本实施例虚拟机的所用系统为Linux。接着禁用防火墙、Linux系统的selinux子系统以及Linux系统下的swap分区,最后添加yum源仓库。
步骤S32中,下载container tar安装包并解压:tar xzf containerd-1.4.4-linux-amd64.tar.gz-C/usr/local,container为容器组件,tar为打包工具,containertar安装包为在tar打包工具下的container安装包;
通过命令:mkdir/etc/containerd,生成containerd默认配置文件/etc/containerd/config.toml:containerd config default>/etc/containerd/config.toml;
启动并开始运行containerd:
systemctl enable containerd;
systemctl start containerd。
步骤S33中,首先安装所需部署集群组件:yum install kubelet kubeadmkubectl,群组件包括kubectl;
设置运行时:crictl config runtime-endpoint/run/containerd/containerd.sock;
初始化以及部署文件:kubeadm config print init-defaults>kubeadm.yaml和kubeadm init--config=kubeadm.yaml。
步骤S34中,部署kata安全容器的适配环境:xz-d kata-static-2.0.3-x86_64.tar.xz和tar-xvf kata-static-2.0.3-x86_64.tar-C/;
将二进制文件放入到/usr/local/bin/中,通过以下命令完成:
cd/opt/kata/bin;
cp kata-runtime/usr/local/bin/;
cp kata-monitor/usr/local/bin/;
cp containerd-shim-kata-v2/usr/local/bin/;
在运行时中添加kata安全容器:vim/etc/containerd/config.toml;
设置default_runtime_name="kata"并开启containerd:systemctl restartcontainerd;
检测kata安全容器的环境:kata-runtime kata-check。
所述步骤S4中,参照步骤S3,完成对下游kubernetes kata集群的部署。
所述步骤S5中,agent-proxy节点中的信息包含上游的认证信息和申请的资源量。
所述步骤S6包括以下子步骤:
根据上游kubernetes kata集群传输的认证信息进行认证授权;
在下游kubernetes kata集群中查询节点,找到agent-proxy节点及对应的指定标签;
在下游kubernetes kata集群中通过指定标签的方式指定到agent-proxy节点,在agent-proxy节点中根据上游kubernetes kata集群的信息,将相应的资源创建到上游kubernetes kata集群;
将上游kubernetes kata集群的kata pod单元中的信息加入到虚拟路由器中,将上游kubernetes kata集群的kata pod单元打通到下游kubernetes kata集群,实现上游kubernetes kata集群和下游kubernetes kata集群的打通。
其中,pod是集群中运行和部署应用或服务的最小单元,也是最基本的管理单位。kata pod单元为kata容器里的pod单元。
在每个节点node上都要运行一个kubelet对容器进行生命周期的管理。kubelet的主要功能就是定时获取节点node上kata pod单元的期望状态,期望状态有运行的容器、运行的副本数量、网络或者存储如何配置等等,并调用对应的容器平台接口达到这个状态。
在kubernetes kata集群中,每个节点node都会启动kubelet进程,用来处理管理节点下发到计算节点的任务,管理kata pod单元和其中的kata安全容器。参照图1,kube-apiserver为kubernetes kata容器的API server。所述API server提供了集群管理的API接口,即Application Programming Interface,其中包括认证授权、数据校验以及集群状态变更;提供其他模块之间的数据交互和通信的枢纽,查询或修改数据。API server也是资源配额控制的入口。kubelet会在API server上注册节点信息,定期向主节点汇报节点资源使用情况,并通过监控模块监控容器和节点资源。通过上下游集群中的agent-proxy节点,利用标签方式,进行资源类型的调度。
所述集群调度方法是基于kata安全容器的,将agent-proxy节点创建到上游kubernetes kata集群,这样可以随机扩展集群。在下游kubernetes kata集群中当用户需要资源时,而下游kubernetes kata集群资源不够,直接从上游kubernetes kata集群申请资源。当用户不需要资源直接释放资源,这样上游kubernetes kata集群就可以把资源提供给其他需要使用的下游kubernetes kata集群。上游kubernetes kata集群的对象为管理人员,而下游kubernetes kata集群的对象为用户。
一种安全容器资源调度的系统,利用上述资源调度方法进行资源调度。
一种安全容器资源调度的装置,利用所述一种安全容器资源调度的系统进行部署,包括:内核驱动模块和监控模块。
所述内核驱动模块,用于依据所述虚拟机创建并运行容器;
所述监控模块,用于监控上游kubernetes kata集群和下游kubernetes kata集群的资源的实时状态。
所述容器包括kata安全容器和Runc运行容器。所述Runc运行容器是符合runtime标准的一个实现,用于提供kata安全容器的运行环境,进行创建/删除/修改等一系列基础的生命周期操作。具体为通过kubectl组件通知集群创建一个或多个kata pod单元,集群也就会通知对应的节点的kubelet。kata安全容器也是符合runtime标准。
网络通信方面:通过agent-proxy节点实现上下游集群交互时,配置上游集群证书和集群地址,同时在网络层面设置安全策略限制可访问的地址。开通上下游集群的网络策略适配对应端口的策略开放。通过安装kata安全容器的CNI插件保留默认Runc运行容器CNI插件配置,实现上游kubernetes kata集群和下游kubernetes kata集群的交互。通过封装生命周期接口实现通信需求,生命周期接口如:pod、namespace。
实施例2
与实施例1不同在于直接在物理机上创建虚拟机进行安全容器的资源调度,不经过虚拟化平台。在不同地方下进行部署虚拟机,可针对不同的用户需求,适用于不同场景。
对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
Claims (10)
1.一种安全容器资源调度的方法,其特征在于,包括以下步骤:
S1部署创建kubernetes kata集群的所需环境;
S2部署上游kubernetes kata集群;
S3部署下游kubernetes kata集群;
S4在下游kubernetes kata集群部署agent-proxy节点;
S5打通上游kubernetes kata集群和下游kubernetes kata集群。
2.根据权利要求1所述一种安全容器资源调度的方法,其特征在于,所述步骤S1中,所需环境在虚拟化平台或物理机中进行部署。
3.根据权利要求2所述一种安全容器资源调度的方法,其特征在于,所述步骤S1中还包括,在所述虚拟化平台或物理机上创建虚拟机。
4.根据权利要求1所述一种安全容器资源调度的方法,其特征在于,所述步骤S2包括以下子步骤:S21准备kata安全容器的所需环境;S22安装containerd tar安装包;S23安装上游kubernetes kata集群;S24安装kata安全容器。
5.根据权利要求1所述一种安全容器资源调度的方法,其特征在于,所述步骤S4中,agent-proxy节点中的信息包含上游的认证信息和申请的资源量。
6.根据权利要求1所述一种安全容器资源调度的方法,其特征在于,所述步骤S5中通过在上游kubernetes kata集群和下游kubernetes kata集群中部署agent-proxy节点从而实现上游kubernetes kata集群和下游kubernetes kata集群的打通。
7.根据权利要求1所述一种安全容器资源调度的方法,其特征在于,所述步骤S5包括:
a.上游kubernetes kata集群根据传过来认证信息进行认证授权;
b.在下游kubernetes kata集群中查询节点,找到agent-proxy节点及对应的指定标签;
c.在下游kubernetes kata集群中通过指定标签的方式指定到agent-proxy节点,在agent-proxy节点中根据上游kubernetes kata集群的信息,将下游kubernetes kata集群相应的资源创建到上游kubernetes kata集群。
8.一种安全容器资源调度的系统,其特征在于,利用如权利要求1-7项任一所述的资源调度方法进行资源调度。
9.一种安全容器资源调度的装置,其特征在于,利用如权利要求8所述的资源调度系统建立安全容器并进行安全容器内的资源调度。
10.根据权利要求9所述一种安全容器资源调度的装置,其特征在于,所述容器包括kata安全容器和Runc运行容器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111629477.2A CN114201267A (zh) | 2021-12-28 | 2021-12-28 | 一种安全容器资源调度的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111629477.2A CN114201267A (zh) | 2021-12-28 | 2021-12-28 | 一种安全容器资源调度的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114201267A true CN114201267A (zh) | 2022-03-18 |
Family
ID=80657068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111629477.2A Pending CN114201267A (zh) | 2021-12-28 | 2021-12-28 | 一种安全容器资源调度的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114201267A (zh) |
-
2021
- 2021-12-28 CN CN202111629477.2A patent/CN114201267A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111290834B (zh) | 一种基于云管理平台实现业务高可用的方法、装置及设备 | |
US9351153B2 (en) | Apparatus for end-user transparent utilization of computational, storage, and network capacity of mobile devices, and associated methods | |
CN103034527B (zh) | 混合虚拟化云计算资源优化控制方法与系统 | |
CN113296792B (zh) | 存储方法、装置、设备、存储介质和系统 | |
CN111212116A (zh) | 一种基于容器云的高性能计算集群创建方法和系统 | |
CN110752947A (zh) | 一种k8s集群部署方法及装置,一种部署平台 | |
CN103885833B (zh) | 一种资源管理方法和系统 | |
CN102609295A (zh) | 虚拟机作业动态调度系统 | |
CN112637304B (zh) | 一种跨云资源处理系统和资源管理方法 | |
US20210406127A1 (en) | Method to orchestrate a container-based application on a terminal device | |
CN110704165A (zh) | 一种容器高可用部署方法 | |
CN111857951A (zh) | 容器化部署平台及部署方法 | |
CN111522622A (zh) | 一种基于云平台的k8s快速启动方法 | |
CN105404530A (zh) | 一种实现简易部署和使用私有云的系统及方法 | |
CN116932130A (zh) | 一种基于OpenStack的仿真实验环境部署方法 | |
CN117519972A (zh) | Gpu资源管理方法及装置 | |
CN117215721A (zh) | 虚拟系统的管理方法、装置、电子设备及存储介质 | |
CN117032935A (zh) | 一种基于K8s的异构加速卡的管理调度系统及方法 | |
CN114201267A (zh) | 一种安全容器资源调度的方法、装置及系统 | |
CN111459510A (zh) | 跨网络操作系统的安装方法、装置、电子设备及介质 | |
CN111431951B (zh) | 一种数据处理方法、节点设备、系统及存储介质 | |
CN113326098B (zh) | 支持kvm虚拟化与容器虚拟化的云管平台 | |
CN105262796A (zh) | 一种云平台存储资源管理系统及其部署框架 | |
CN115102851A (zh) | 一种面向hpc与ai融合计算的融合平台及其资源管理方法 | |
CN113114482B (zh) | 一种基于容器的混合云管理系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |