CN110806881B - 一种kubernetes部署不同CPU架构的方法 - Google Patents
一种kubernetes部署不同CPU架构的方法 Download PDFInfo
- Publication number
- CN110806881B CN110806881B CN201911068886.2A CN201911068886A CN110806881B CN 110806881 B CN110806881 B CN 110806881B CN 201911068886 A CN201911068886 A CN 201911068886A CN 110806881 B CN110806881 B CN 110806881B
- Authority
- CN
- China
- Prior art keywords
- manifest
- cluster
- docker
- module
- different cpu
- 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.)
- Active
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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种kubernetes部署不同CPU架构的方法,涉及kubernetes集群部署技术领域;编译不同CPU架构下的k8s的各个组件,编写dockerfile,制作用于安装集群的相关镜像manifest,修改harbor,使其支持manifest,编写集群安装脚本,开启docker manifest功能,使用docker manifest相关命令,使集群安装脚本自动拉取当前CPU架构的镜像,并按不同CPU架构执行相应安装脚本的安装;利用本发明方法可以在不同cpu架构下部署k8s集群,并正常运行。
Description
技术领域
本发明公开一种kubernetes部署不同CPU架构的方法,涉及kubernetes集群部署技术领域。
背景技术
kubernetes,简称K8s,是用8代替8个字符"ubernete"而成的缩写。是一个开源的,用于管理多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效。kubernetes占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势,使用容器可以在build或release的阶段,为应用创建容器镜像,应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,为研发到测试、生产提供一致环境。
近些年来,随着云计算、云服务的发展,容器技术得到了较为广泛的应用,而作为先进的容器编排系统,kubernetes也得到了越来越多的重视,但过去大部分部署都是在amd64 cpu架构上,各种组件支持在amd64架构下的部署,但是随着cpu架构的发展,armmips等cpu架构也得到了快速的发展。本发明公开一种kubernetes部署不同CPU架构的方法,解决了不同cpu架构下部署k8s的问题,实现了k8s在不同cpu架构下的部署。
发明内容
本发明针对现有技术的问题,提供一种kubernetes部署不同CPU架构的方法,通过本发明,可以在不同cpu架构下部署k8s集群,并正常运行。
本发明提出的具体方案是:
一种kubernetes部署不同CPU架构的方法,编译不同CPU架构下的k8s的各个组件,编写dockerfile,制作用于安装集群的相关镜像manifest,
修改harbor,使其支持manifest,
编写集群安装脚本,开启docker manifest功能,使用docker manifest相关命令,使集群安装脚本自动拉取当前CPU架构的镜像,并按不同CPU架构执行相应安装脚本的安装。
所述的方法中k8s的各个组件包括:
hyperkube,k8s集群主要组件;
etcd,k8s集群存储组件;
calico,k8s集群网络组件;
coredns,k8s集群域名解析组件。
所述的方法中镜像manifest存储镜像的架构信息,同一个manifest list里的镜像互相关联。
所述的方法中docker manifest相关命令包括docker manifest inspect查看命令,docker manifest create创建命令,docker manifest annotate修改命令,dockermanifest push推送命令。
一种kubernetes部署不同CPU架构的工具,包括编译模块、修改模块、推送模块及安装模块,
编译模块编译不同CPU架构下的k8s的各个组件,编写dockerfile,制作用于安装集群的相关镜像manifest,
修改模块修改harbor,使其支持manifest,
编译模块编写集群安装脚本,推送模块开启docker manifest功能,使用dockermanifest相关命令,使集群安装脚本自动拉取当前CPU架构的镜像,安装模块按不同CPU架构执行相应安装脚本的安装。
所述的工具中编译模块编译的k8s的各个组件包括:
hyperkube,k8s集群主要组件;
etcd,k8s集群存储组件;
calico,k8s集群网络组件;
coredns,k8s集群域名解析组件。
所述的工具中编译模块编译的镜像manifest存储镜像的架构信息,同一个manifest list里的镜像互相关联。
所述的工具中推送模块使用的docker manifest相关命令包括docker manifestinspect查看命令,docker manifest create创建命令,docker manifest annotate修改命令,docker manifest push推送命令。
本发明的有益之处是:
本发明提供一种kubernetes部署不同CPU架构的方法,编译不同CPU架构下的k8s的各个组件,编写dockerfile,制作用于安装集群的相关镜像manifest,修改harbor,使其支持manifest,编写集群安装脚本,开启docker manifest功能,使用docker manifest相关命令,使集群安装脚本自动拉取当前CPU架构的镜像,并按不同CPU架构执行相应安装脚本的安装;利用本发明方法可以在不同cpu架构下部署k8s集群,并正常运行,扩展了k8s集群的使用范围,提高了工作效率,并具有一定的灵活性,可根据实际情况进行架构安装的选择。
附图说明
图1是本发明方法流程示意图。
具体实施方式
本发明提供一种kubernetes部署不同CPU架构的方法,编译不同CPU架构下的k8s的各个组件,编写dockerfile,制作用于安装集群的相关镜像manifest,
修改harbor,使其支持manifest,
编写集群安装脚本,开启docker manifest功能,使用docker manifest相关命令,使集群安装脚本自动拉取当前CPU架构的镜像,并按不同CPU架构执行相应安装脚本的安装。
同时提供与上述方法相应的一种kubernetes部署不同CPU架构的工具,包括编译模块、修改模块、推送模块及安装模块,
编译模块编译不同CPU架构下的k8s的各个组件,编写dockerfile,制作用于安装集群的相关镜像manifest,
修改模块修改harbor,使其支持manifest,
编译模块编写集群安装脚本,推送模块开启docker manifest功能,使用dockermanifest相关命令,使集群安装脚本自动拉取当前CPU架构的镜像,安装模块按不同CPU架构执行相应安装脚本的安装。
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
利用本发明方法进行kubernetes部署不同CPU架构时,具体过程为:
编译不同CPU架构下的k8s的各个组件,比如在mips64主机上编译所需组件,k8s安装主要需要编译以下组件:
hyperkube:k8s集群主要组件,
etcd:k8s集群存储组件,
calico:k8s集群网络组件,
coredns:k8s集群域名解析组件,
制作基础镜像,编写dockerfile,制作用于安装集群的相关镜像manifest;
修改harbor,使其支持manifest,可以存储镜像架构信息,镜像manifest格式为
镜像manifest存储了镜像的架构信息,并将同一个manifest list里的镜像联系在一起,使docker client可以根据当前主机架构拉取对应架构的镜像;
编写ansible集群安装脚本,根据当前主机获取架构信息,存入变量中,对于不同架构的主机执行不同的安装脚本,
同时开启docker manifest功能,在docker client配置文件~/.docker/config.json中,加入参数{"experimental":"enabled"},使用docker manifest相关命令,包括docker manifest inspect查看image manifest,或manifest list,docker manifestcreate创建manifest list,docker manifest annotate修改manifest list中镜像对应的平台,docker manifest push将manifest list推到镜像仓库,
使用docker manifest create创建docker manifest list,docker manifestpush将所需镜像推到镜像仓库中,使docker client可以根据当前架构信息拉取镜像,并按不同CPU架构执行相应安装脚本的安装。
利用本发明工具进行进行kubernetes部署不同CPU架构时,具体过程为:
编译模块编译不同CPU架构下的k8s的各个组件,比如在mips64主机上编译所需组件,k8s安装主要需要编译以下组件:
hyperkube:k8s集群主要组件,
etcd:k8s集群存储组件,
calico:k8s集群网络组件,
coredns:k8s集群域名解析组件,
制作基础镜像,编写dockerfile,制作用于安装集群的相关镜像manifest;
修改模块修改harbor,使其支持manifest,可以存储镜像架构信息,镜像manifest格式为
镜像manifest存储了镜像的架构信息,并将同一个manifest list里的镜像联系在一起,使docker client可以根据当前主机架构拉取对应架构的镜像;
编译模块编写ansible集群安装脚本,根据当前主机获取架构信息,存入变量中,对于不同架构的主机执行不同的安装脚本,
同时推送模块开启docker manifest功能,在docker client配置文件~/.docker/config.json中,加入参数{"experimental":"enabled"},使用docker manifest相关命令,包括docker manifest inspect查看image manifest,或manifest list,dockermanifest create创建manifest list,docker manifest annotate修改manifest list中镜像对应的平台,docker manifest push将manifest list推到镜像仓库,
推送模块使用docker manifest create创建docker manifest list,dockermanifest push将所需镜像推到镜像仓库中,使docker client可以根据当前架构信息拉取镜像,使安装模块按不同CPU架构执行相应安装脚本的安装。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (8)
1.一种kubernetes部署不同CPU架构的方法,其特征是编译不同CPU架构下的k8s的各个组件,编写dockerfile,制作用于安装集群的相关镜像manifest,
修改harbor,使其支持manifest,
编写集群安装脚本,开启docker manifest功能,使用docker manifest相关命令,使集群安装脚本自动拉取当前CPU架构的镜像,并按不同CPU架构执行相应安装脚本的安装。
2.根据权利要求1所述的方法,其特征是k8s的各个组件包括:
hyperkube,k8s集群主要组件;
etcd,k8s集群存储组件;
calico,k8s集群网络组件;
coredns, k8s集群域名解析组件。
3.根据权利要求1或2所述的方法,其特征是镜像manifest存储镜像的架构信息,同一个manifest list里的镜像互相关联。
4.根据权利要求3所述的方法,其特征是docker manifest相关命令包括dockermanifest inspect 查看命令,docker manifest create 创建命令,docker manifestannotate 修改命令,docker manifest push 推送命令。
5.一种kubernetes部署不同CPU架构的工具,其特征是包括编译模块、修改模块、推送模块及安装模块,
编译模块编译不同CPU架构下的k8s的各个组件,编写dockerfile,制作用于安装集群的相关镜像manifest,
修改模块修改harbor,使其支持manifest,
编译模块编写集群安装脚本,推送模块开启docker manifest功能,使用dockermanifest相关命令,使集群安装脚本自动拉取当前CPU架构的镜像,安装模块按不同CPU架构执行相应安装脚本的安装。
6.根据权利要求5所述的工具,其特征是编译模块编译的k8s的各个组件包括:
hyperkube,k8s集群主要组件;
etcd,k8s集群存储组件;
calico,k8s集群网络组件;
coredns, k8s集群域名解析组件。
7.根据权利要求5或6所述的工具,其特征是编译模块编译的镜像manifest存储镜像的架构信息,同一个manifest list里的镜像互相关联。
8.根据权利要求7所述的工具,其特征是推送模块使用的docker manifest相关命令包括docker manifest inspect 查看命令,docker manifest create 创建命令,dockermanifest annotate 修改命令,docker manifest push 推送命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911068886.2A CN110806881B (zh) | 2019-11-05 | 2019-11-05 | 一种kubernetes部署不同CPU架构的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911068886.2A CN110806881B (zh) | 2019-11-05 | 2019-11-05 | 一种kubernetes部署不同CPU架构的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110806881A CN110806881A (zh) | 2020-02-18 |
CN110806881B true CN110806881B (zh) | 2023-07-04 |
Family
ID=69501167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911068886.2A Active CN110806881B (zh) | 2019-11-05 | 2019-11-05 | 一种kubernetes部署不同CPU架构的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110806881B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309401A (zh) * | 2020-03-24 | 2020-06-19 | 广西梯度科技有限公司 | 一种在Kubernetes中运行多CPU架构服务的方法 |
CN111708608B (zh) * | 2020-06-19 | 2023-04-25 | 浪潮云信息技术股份公司 | 一种基于ansible的容器大集群快速部署方法及系统 |
CN111984275A (zh) * | 2020-07-25 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 基于cpu架构类型的系统部署方法、系统、终端及存储介质 |
CN112764766B (zh) * | 2021-01-22 | 2023-03-28 | 苏州浪潮智能科技有限公司 | 一种k8s集群与存储的对接方法、装置、设备及存储介质 |
CN112965819A (zh) * | 2021-03-04 | 2021-06-15 | 山东英信计算机技术有限公司 | 一种容器资源跨处理器架构混合调度的方法及装置 |
CN113342475B (zh) * | 2021-07-05 | 2024-03-01 | 统信软件技术有限公司 | 一种服务器集群构建方法、计算设备及存储介质 |
CN117851269B (zh) * | 2024-03-07 | 2024-05-28 | 长江龙新媒体有限公司 | 一种基于云端自动化测试环境管理方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106888254A (zh) * | 2017-01-20 | 2017-06-23 | 华南理工大学 | 一种基于Kubernetes的容器云架构及其各模块之间的交互方法 |
CN109062655A (zh) * | 2018-06-05 | 2018-12-21 | 腾讯科技(深圳)有限公司 | 一种容器化云平台及服务器 |
CN109120433A (zh) * | 2018-07-23 | 2019-01-01 | 北京百度网讯科技有限公司 | 用于容器化部署主机的方法和装置 |
CN109167835A (zh) * | 2018-09-13 | 2019-01-08 | 重庆邮电大学 | 一种基于kubernetes的物理资源调度方法及系统 |
CN110308968A (zh) * | 2019-06-26 | 2019-10-08 | 深圳前海微众银行股份有限公司 | 维持宿主机和容器组编号一致的方法、装置、设备及介质 |
CN110333889A (zh) * | 2019-07-19 | 2019-10-15 | 浪潮云信息技术有限公司 | 容器服务用户集群的升级方法及系统 |
CN110362381A (zh) * | 2019-06-21 | 2019-10-22 | 深圳市汇川技术股份有限公司 | Hdfs集群高可用部署方法、系统、设备及存储介质 |
CN110389766A (zh) * | 2019-06-21 | 2019-10-29 | 深圳市汇川技术股份有限公司 | HBase容器集群部署方法、系统、设备及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10452374B2 (en) * | 2013-10-30 | 2019-10-22 | Oracle International Corporation | System and method for providing a clone service for use with a cloud platform environment |
US10949440B2 (en) * | 2017-03-03 | 2021-03-16 | Next Pathway Inc. | Metadata-driven data management platform |
-
2019
- 2019-11-05 CN CN201911068886.2A patent/CN110806881B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106888254A (zh) * | 2017-01-20 | 2017-06-23 | 华南理工大学 | 一种基于Kubernetes的容器云架构及其各模块之间的交互方法 |
CN109062655A (zh) * | 2018-06-05 | 2018-12-21 | 腾讯科技(深圳)有限公司 | 一种容器化云平台及服务器 |
CN109120433A (zh) * | 2018-07-23 | 2019-01-01 | 北京百度网讯科技有限公司 | 用于容器化部署主机的方法和装置 |
CN109167835A (zh) * | 2018-09-13 | 2019-01-08 | 重庆邮电大学 | 一种基于kubernetes的物理资源调度方法及系统 |
CN110362381A (zh) * | 2019-06-21 | 2019-10-22 | 深圳市汇川技术股份有限公司 | Hdfs集群高可用部署方法、系统、设备及存储介质 |
CN110389766A (zh) * | 2019-06-21 | 2019-10-29 | 深圳市汇川技术股份有限公司 | HBase容器集群部署方法、系统、设备及计算机可读存储介质 |
CN110308968A (zh) * | 2019-06-26 | 2019-10-08 | 深圳前海微众银行股份有限公司 | 维持宿主机和容器组编号一致的方法、装置、设备及介质 |
CN110333889A (zh) * | 2019-07-19 | 2019-10-15 | 浪潮云信息技术有限公司 | 容器服务用户集群的升级方法及系统 |
Non-Patent Citations (2)
Title |
---|
徐正伦 ; 杨鹤标 ; .基于Kubernetes调度器的服务质量优化调度算法研究.软件导刊.2018,(第11期),全文. * |
潘丹 ; .基于Openstack构建Kubernetes集群的实现与研究.江西科学.2017,(第02期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN110806881A (zh) | 2020-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110806881B (zh) | 一种kubernetes部署不同CPU架构的方法 | |
CN110012088B (zh) | 一种基于Kubernets的Redis主从集群自动化部署方案 | |
Vogel et al. | Adaptation and abstract runtime models | |
US7644264B1 (en) | Method and system for creating and deploying disk images | |
CN102609328B (zh) | 系统差分升级方法和装置、移动终端 | |
CN110389832B (zh) | ZooKeeper容器集群部署方法、系统、设备及存储介质 | |
US20160019072A1 (en) | Dynamic determination of application server runtime classloading | |
CN110888652B (zh) | 基于jenkins插件的多版本构建方法及终端 | |
JP2011502309A (ja) | 宣言的モデルの変換 | |
CN113568624A (zh) | 一种镜像的拉取方法、系统、计算机设备及可读存储介质 | |
GB2533117A (en) | Software test automation | |
CN112764766B (zh) | 一种k8s集群与存储的对接方法、装置、设备及存储介质 | |
CN106569863B (zh) | 基于资源和代码模块化的安卓app资源更新和修复的方法 | |
CN112463290A (zh) | 动态调整计算容器的数量的方法、系统、装置和存储介质 | |
CN111061638A (zh) | 一种iOS系统调试的方法、装置及服务器 | |
US20130227572A1 (en) | Test device, a system, a program and a method | |
Bzeznik et al. | Nix as HPC package management system | |
CN103109284B (zh) | 用于移动业务对象的参数值联结 | |
CN111813420A (zh) | 一种对OpenStack集群进行自动化性能测试的方法 | |
CN115480785A (zh) | 基于容器的服务部署方法、装置和服务器 | |
CN111913719B (zh) | 高可用软件的部署方法、设备、装置和计算机存储介质 | |
US9176974B1 (en) | Low priority, multi-pass, server file discovery and management | |
CN113722045B (zh) | 集群的应用部署方法和装置 | |
CN104572236B (zh) | 一种Taurus项目快速搭建构造方法 | |
US20180341475A1 (en) | Just In Time Deployment with Package Managers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park Applicant after: Inspur cloud Information Technology Co.,Ltd. Address before: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park Applicant before: Tidal Cloud Information Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |