CN110806881B - 一种kubernetes部署不同CPU架构的方法 - Google Patents

一种kubernetes部署不同CPU架构的方法 Download PDF

Info

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
Application number
CN201911068886.2A
Other languages
English (en)
Other versions
CN110806881A (zh
Inventor
王文岗
石光银
蔡卫卫
高传集
展望
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN201911068886.2A priority Critical patent/CN110806881B/zh
Publication of CN110806881A publication Critical patent/CN110806881A/zh
Application granted granted Critical
Publication of CN110806881B publication Critical patent/CN110806881B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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部署不同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格式为
Figure BDA0002260307860000041
Figure BDA0002260307860000051
Figure BDA0002260307860000061
镜像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格式为
Figure BDA0002260307860000071
Figure BDA0002260307860000081
镜像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 推送命令。
CN201911068886.2A 2019-11-05 2019-11-05 一种kubernetes部署不同CPU架构的方法 Active CN110806881B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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