CN116483394A - 一种基于容器的Kubernetes离线安装方法及装置 - Google Patents

一种基于容器的Kubernetes离线安装方法及装置 Download PDF

Info

Publication number
CN116483394A
CN116483394A CN202310465116.1A CN202310465116A CN116483394A CN 116483394 A CN116483394 A CN 116483394A CN 202310465116 A CN202310465116 A CN 202310465116A CN 116483394 A CN116483394 A CN 116483394A
Authority
CN
China
Prior art keywords
kubernetes
offline
installation package
installation
container
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
Application number
CN202310465116.1A
Other languages
English (en)
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.)
Beijing Yuanshan Intelligent Technology Co Ltd
Original Assignee
Beijing Yuanshan Intelligent 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 Beijing Yuanshan Intelligent Technology Co Ltd filed Critical Beijing Yuanshan Intelligent Technology Co Ltd
Priority to CN202310465116.1A priority Critical patent/CN116483394A/zh
Publication of CN116483394A publication Critical patent/CN116483394A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种基于容器的Kubernetes离线安装方法及装置,所述方法包括:将目标组件下载到目标目录中;基于所述目标组件制作用于安装Kubernetes的离线安装包;将所述离线安装包上传到待安装主机中的node节点,以利用所述离线安装包在node节点中完成Kubernetes的离线安装;将所述离线安装包上传到所述待安装主机中的master节点,以利用所述离线安装包在master节点中完成Kubernetes的离线安装。根据所述方法及装置,仅需在可连接外网的情况下制作离线安装包,离线场景下上传制作完成的安装包至待安装主机即可,操作简单、方便,以实现离线情况下Kubernetes的快速安装。

Description

一种基于容器的Kubernetes离线安装方法及装置
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种基于容器的Kubernetes离线安装方法及装置。
背景技术
在安装Kubernetes环境时,大多是通过在线安装的方式。但某些情况下需要在离线场景下安装Kubernetes环境,比如使用企业内网或在不能连接外网的情况下。此时就迫切需要一种完全离线的Kubernetes安装方法。由于Kubernetes是基于网络的容器编排工具,在无外网的情况下安装Kubernetes环境是比较复杂的。因此,如何在离线情况下快速安装Kubernetes成为了不容小觑的技术问题。
发明内容
有鉴于此,本申请的目的在于提供一种基于容器的Kubernetes离线安装方法及装置,仅需在可连接外网的情况下制作离线安装包,离线场景下上传制作完成的安装包至待安装主机即可,操作简单、方便,以实现离线情况下Kubernetes的快速安装。
第一方面,本申请实施例提供了一种基于容器的Kubernetes离线安装方法,所述Kubernetes离线安装方法包括:
将目标组件下载到目标目录中;其中,所述目标组件包括容器组件、Kubernetes组件和镜像组件;
基于所述目标目录中的所述目标组件制作用于安装Kubernetes的离线安装包;其中,所述离线安装包中包括容器安装包、Kubernetes安装包和镜像安装包;
将所述离线安装包上传到待安装主机中的node节点,以利用所述离线安装包在所述node节点中完成Kubernetes的离线安装;
将所述离线安装包上传到所述待安装主机中的master节点,以利用所述离线安装包在所述master节点中完成Kubernetes的离线安装。
进一步的,所述将目标组件下载到目标目录中,包括:
将所述容器组件下载到容器文件目录中;
将所述Kubernetes组件下载到镜像文件目录中;
将所述镜像组件下载到存储目录中。
进一步的,所述基于所述目标目录中的所述目标组件制作用于安装Kubernetes的离线安装包,包括:
将所述容器文件目录中的所述容器组件进行压缩,得到所述容器安装包;
将所述镜像文件目录中的所述Kubernetes组件进行压缩,得到所述Kubernetes安装包;
将所述存储目录中的所述镜像组件进行压缩,得到所述镜像安装包。
进一步的,所述Kubernetes离线安装方法还包括:
将网络配置文件下载到配置文件目录中;
将所述配置文件目录中的所述网络配置文件进行压缩,得到网络插件安装包,并将所述网络插件安装包上传到所述master节点。
进一步的,所述利用所述离线安装包在所述node节点中完成Kubernetes的离线安装,包括:
解压所述离线安装包中的所述容器安装包,得到并在所述node节点中安装所述容器组件;
解压所述离线安装包中的所述Kubernetes安装包,得到并在所述node节点中安装所述Kubernetes组件,并设置开机启动;
解压所述离线安装包中的所述镜像安装包,得到并在所述node节点中导入所述镜像组件。
进一步的,所述利用所述离线安装包在所述master节点中完成Kubernetes的离线安装,包括:
解压所述离线安装包中的所述容器安装包,得到并在所述master节点中安装所述容器组件;
解压所述离线安装包中的所述Kubernetes安装包,得到并在所述master节点中安装所述Kubernetes组件,并设置开机启动;
解压所述离线安装包中的所述镜像安装包,在所述master节点中导入所述镜像组件;
初始化所述master节点,解压所述离线安装包中的所述网络插件安装包,得到并在所述master节点中安装所述网络配置文件;
执行加入集群命令,以使所述master节点加入Kubernetes集群。
进一步的,在所述利用所述离线安装包在所述master节点中完成Kubernetes的离线安装之后,所述Kubernetes离线安装方法还包括:
在所述master节点中执行状态获取命令,以在所述master节点上查看所述master节点的节点状态以及所述node节点的节点状态。
第二方面,本申请实施例还提供了一种基于容器的Kubernetes离线安装装置,所述Kubernetes离线安装装置包括:
下载模块,用于将目标组件下载到目标目录中;其中,所述目标组件包括容器组件、Kubernetes组件和镜像组件;
离线安装包制作模块,用于基于所述目标目录中的所述目标组件制作用于安装Kubernetes的离线安装包;其中,所述离线安装包中包括容器安装包、Kubernetes安装包和镜像安装包;
第一安装模块,用于将所述离线安装包上传到待安装主机中的node节点,以利用所述离线安装包在所述node节点中完成Kubernetes的离线安装;
第二安装模块,用于将所述离线安装包上传到所述待安装主机中的master节点,以利用所述离线安装包在所述master节点中完成Kubernetes的离线安装。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的基于容器的Kubernetes离线安装方法的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的基于容器的Kubernetes离线安装方法的步骤。
本申请实施例提供的一种基于容器的Kubernetes离线安装方法及装置,首先,将目标组件下载到目标目录中;然后,基于所述目标目录中的所述目标组件制作用于安装Kubernetes的离线安装包;将所述离线安装包上传到待安装主机中的node节点,以利用所述离线安装包在所述node节点中完成Kubernetes的离线安装;将所述离线安装包上传到所述待安装主机中的master节点,以利用所述离线安装包在所述master节点中完成Kubernetes的离线安装。
与现有技术中的Kubernetes安装方法相比,本申请通过拆解Kubernetes相关组件,分离出容器安装包、Kubernetes安装包和镜像安装包,从而实现完全离线的Kubernetes安装过程。本申请提供的Kubernetes离线安装方法,仅需在可连接外网的情况下制作离线安装包,离线场景下上传制作完成的安装包至待安装主机即可,操作简单、方便,以实现离线情况下Kubernetes的快速安装。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例所提供的一种基于容器的Kubernetes离线安装方法的流程图;
图2为本申请实施例所提供的一种基于容器的Kubernetes离线安装装置的结构示意图之一;
图3为本申请实施例所提供的一种基于容器的Kubernetes离线安装装置的结构示意图之二;
图4为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
首先,对本申请可适用的应用场景进行介绍。本申请可应用于计算机技术领域。
经研究发现,在安装Kubernetes环境时,大多是通过在线安装的方式。但某些情况下需要在离线场景下安装Kubernetes环境,比如使用企业内网或在不能连接外网的情况下。此时就迫切需要一种完全离线的Kubernetes安装方法。由于Kubernetes是基于网络的容器编排工具,在无外网的情况下安装Kubernetes环境是比较复杂的。因此,如何在离线情况下快速安装Kubernetes成为了不容小觑的技术问题。
基于此,本申请实施例提供了一种基于容器的Kubernetes离线安装方法,以实现离线情况下Kubernetes的快速安装。
请参阅图1,图1为本申请实施例所提供的一种基于容器的Kubernetes离线安装方法的流程图。如图1中所示,本申请实施例提供的Kubernetes离线安装方法,包括:
S101,将目标组件下载到目标目录中。
这里,目标组件包括容器组件、Kubernetes组件和镜像组件。
针对上述步骤S101,在具体实施时,将安装Kubernetes所需要的目标组件下载到预先设置好的目标目录中。
具体的,针对上述步骤S101,所述将目标组件下载到目标目录中,包括:
步骤1011,将所述容器组件下载到容器文件目录中。
需要说明的是,容器组件指的是docker组件,容器文件目录指的是docker目录。
针对上述步骤1011,在具体实施时,将容器组件下载到容器文件目录中。这里,容器组件包括containerd.io_1.3.7-1_amd64.deb、docker-ce_19.03.13~3-0~ubuntu-bionic_amd64.deb、docker-ce-cli_19.03.13~3-0~ubuntu-bionic_amd64.deb。将上述到docker组件下载到docker目录。
步骤1012,将所述Kubernetes组件下载到镜像文件目录中。
需要说明的是,镜像文件目录指的是k8s目录。
针对上述步骤1012,在具体实施时,将Kubernetes组件下载到镜像文件目录中。这里,Kubernetes组件包括conntrack_1%3a1.4.5-2_amd64.deb、cri-tools_1.25.0-00_amd64.deb、ebtables_2.0.11-3build1_amd64.deb、kubead m_1.20.10-00_amd64.deb、kubectl_1.20.10-00_amd64.deb、kubelet_1.20.10-00_amd64.deb、kubernetes-cni_1.1.1-00_amd64.deb和socat_1.7.3.3-2_amd64.deb。将上述Kubernetes组件下载到k8s目录。
步骤1013,将所述镜像组件下载到存储目录中。
需要说明的是,存储目录指的是image目录。
针对上述步骤1013,在具体实施时,将镜像组件下载到存储目录中。这里,镜像组件包括k8s.gcr.io/kube-apiserver:v1.20.10、k8s.gcr.io/kube-cont roller-manager:v1.20.10、k8s.gcr.io/kube-scheduler:v1.20.10、k8s.gcr.io/kube-proxy:v1.20.10、k8s.gcr.io/pause:3.2、k8s.gcr.io/etcd:3.4.13-0、k8s.gcr.io/core dns:1.7.0和quay.io/coreos/flannel:v0.14.0。将上述镜像组件下载到image目录。
S102,基于所述目标目录中的所述目标组件制作用于安装Kubernetes的离线安装包。
这里,离线安装包中包括容器安装包、Kubernetes安装包和镜像安装包。
针对上述步骤S102,在具体实施时,基于上述步骤S101中在目标目录中下载的目标组件制作用于安装Kubernetes的离线安装包。这里,容器安装包、Kubernetes安装包和镜像安装包。这样,通过拆解Kubernetes相关组件,可以分离出软件安装包和容器安装镜像。
针对上述步骤S102,所述基于所述目标目录中的所述目标组件制作用于安装Kubernetes的离线安装包,包括:
步骤1021,将所述容器文件目录中的所述容器组件进行压缩,得到所述容器安装包。
针对上述步骤1021,在具体实施时,将容器文件目录中的容器组件进行压缩,得到容器安装包。具体的,执行单独打包命令tar-cvf-归档路径,以对目录中的组件进行打包。延续上述步骤1011中的实施例,打包docker目录中的Docker组件,执行tar-cvfdocker.tar.gz命令,得到的容器安装包为docker.tar.gz。这时,容器安装包中包含的组件路径为docker/containerd.io_1.3.7-1_amd64.deb、docker/docker-ce_19.03.13~3-0~ubuntu-bionic_amd64.deb和docker/docker-ce-cli_19.03.13~3-0~ubuntu-bionic_amd64.deb。
步骤1022,将所述镜像文件目录中的所述Kubernetes组件进行压缩,得到所述Kubernetes安装包。
针对上述步骤1022,在具体实施时,将镜像文件目录中的Kubernetes组件进行压缩,得到Kubernetes安装包。具体的,执行单独打包命令tar-cvf-归档路径,以对目录中的组件进行打包。延续上述步骤1012中的实施例,打包k8s目录中的Kubernetes组件,执行tar–cvf kubernetes.tar.gz命令,得到的Kubernetes安装包为kubernetes.tar.gz。这时,Kubernetes安装包中包含的组件路径为kubernetes/conntrack_1%3a1.4.5-2_amd64.deb、kubernetes/cri-tools_1.25.0-00_amd64.deb、kubernetes/ebtables_2.0.11-3build1_amd64.deb、kubernetes/kubeadm_1.20.10-00_amd64.deb、kubernetes/kubectl_1.20.10-00_amd64.deb、kubernetes/kubelet_1.20.10-00_amd64.deb、kubernetes/kubernetes-cni_1.1.1-00_amd64.deb和kubernetes/socat_1.7.3.3-2_amd64.deb。
步骤1023,将所述存储目录中的所述镜像组件进行压缩,得到所述镜像安装包。
针对上述步骤1023,在具体实施时,将存储目录中的镜像组件进行压缩,得到镜像安装包。具体的,执行save命令将镜像保存为tar文件,以对目录中的镜像组件进行打包。延续上述步骤1013中的实施例,打包image目录中的kubernetes镜像组件,执行docker save-o images.tar命令,得到的镜像安装包为images.tar。这时,镜像安装包中包括的镜像组件路径为k8s.gcr.io/kube-proxy:v1.20.10、k8s.gcr.io/kube-apiserver:v1.20.10、k8s.gcr.io/ku be-controller-manager:v1.20.10k8s.gcr.io/kube-scheduler:v1.20.10、k8s.gcr.io/etcd:3.4.13-0、k8s.gcr.io/coredns:1.7.0、k8s.gcr.io/pause:3.2和quay.io/coreos/flannel:v0.14.0。
作为一种可选的实施方式,所述Kubernetes离线安装方法还包括:
将网络配置文件下载到配置文件目录中;将所述配置文件目录中的所述网络配置文件进行压缩,得到网络插件安装包,并将所述网络插件安装包上传到所述master节点。
需要说明的是,网络配置文件为kube-flannel.yml,配置文件目录为conf目录。
针对上述两个步骤,在具体实施时,首先将网络配置文件下载到配置文件目录中。这里,将网络配置文件kube-flannel.yml下载到conf目录,目的是为每个使用Kubernetes的机器提供一个子网。然后执行单独打包命令tar-cvf-归档路径,以对网络配置文件进行打包。具体的,打包配置文件目录中的网络配置文件,执行tar-cvf conf.tar.gz命令,得到的网络插件安装包。这时,网络插件安装包中包含的文件路径为conf/kube-flannel.yml。
S103,将所述离线安装包上传到待安装主机中的node节点,以利用所述离线安装包在所述node节点中完成Kubernetes的离线安装。
需要说明的是,kubernetes集群中除了master节点之外的其他机器被称为node节点。node可以是物理机也可以是虚拟机,node节点才是kubernetes集群中的工作负载节点,每个node节点都会被master分配一些工作负载(docker容器)。
针对上述步骤S103,在具体实施时,将上述步骤S102中制作的离线安装包上传到待安装主机中的node节点,以利用离线安装包在node节点中完成Kubernetes的离线安装。具体的,通过sftp上传离线安装包docker.tar.gz、kubernetes.tar.gz以及images.tar上传到node节点。这里,sftp是SSH File Transfer Protocol的缩写,为安全文件传送协议,可以为传输文件提供一种安全的网络的加密方法。
针对上述步骤S103,所述利用所述离线安装包在所述node节点中完成Kubernetes的离线安装,包括:
步骤1031,解压所述离线安装包中的所述容器安装包,得到并在所述node节点中安装所述容器组件。
针对上述步骤1031,在具体实施时,在node节点中解压离线安装包中的容器安装包,得到容器组件,并在node节点中安装该容器组件。具体的,解压容器安装包docker.tar.gz,然后安装docker容器。作为示例,使用如下代码:
cd docker
dpkg-i./*.deb
vi/etc/docker/daemon.json
并添加如下内容:
{
"exec-opts":["native.cgroupdriver=systemd"]
}
systemctl daemon-reload&&sudo systemctl restart docker
步骤1032,解压所述离线安装包中的所述Kubernetes安装包,得到并在所述node节点中安装所述Kubernetes组件,并设置开机启动。
针对上述步骤1032,在具体实施时,在node节点中解压离线安装包中的Kubernetes安装包,得到Kubernetes组件,并在node节点中安装该Kubernetes组件。具体的,解压Kubernetes安装包kubernetes.tar.gz,然后安装kubernetes相关组件。作为示例,使用如下代码:
cd/kubernetes
dpkg-i./*.deb
并设置开机启动:
systemctl enable kubelet&&sudo systemctl start kubelet
步骤1033,解压所述离线安装包中的所述镜像安装包,得到并在所述node节点中导入所述镜像组件。
针对上述步骤1033,在具体实施时,在node节点中解压离线安装包中的镜像安装包,得到镜像组件,并在node节点中导入该镜像组件。具体的,解压镜像安装包images.tar,并导入kubernetes镜像:docker load<images.tar。
S104,将所述离线安装包上传到所述待安装主机中的master节点,以利用所述离线安装包在所述master节点中完成Kubernetes的离线安装。
需要说明的是,kubernetes中的master节点指的是集群控制节点,每个kubernetes集群里都需要有一个master节点来负责整个集群的管理和控制,基本上kubernetes的所有控制命令都发给它,它来负责具体的执行过程。master节点通常会占据一个独立的服务器,是整个集群的“首脑”。
针对上述步骤S104,在具体实施时,将上述步骤S102中制作的离线安装包上传到待安装主机中的master节点,以利用离线安装包在master节点中完成Kubernetes的离线安装。具体的,通过sftp上传离线安装包docker.tar.gz、kubernetes.tar.gz以及images.tar上传到master节点。
针对上述步骤S104,所述利用所述离线安装包在所述master节点中完成Kubernetes的离线安装,包括:
步骤1041,解压所述离线安装包中的所述容器安装包,得到并在所述master节点中安装所述容器组件。
针对上述步骤1031,在具体实施时,在master节点中解压离线安装包中的容器安装包,得到容器组件,并在master节点中安装该容器组件。具体的,解压容器安装包docker.tar.gz,然后安装docker容器。作为示例,使用如下代码:
cd docker
dpkg-i./*.deb
vi/etc/docker/daemon.json
并添加如下内容:
{
"exec-opts":["native.cgroupdriver=systemd"]
}
systemctl daemon-reload&&sudo systemctl restart docker
步骤1042,解压所述离线安装包中的所述Kubernetes安装包,得到并在所述master节点中安装所述Kubernetes组件,并设置开机启动。
针对上述步骤1042,在具体实施时,在master节点中解压离线安装包中的Kubernetes安装包,得到Kubernetes组件,并master节点中安装该Kubernetes组件。具体的,解压Kubernetes安装包kubernetes.tar.gz,然后安装kubernetes相关组件。作为示例,使用如下代码:
cd/kubernetes
dpkg-i./*.deb
并设置开机启动:
systemctl enable kubelet&&sudo systemctl start kubelet
步骤1043,解压所述离线安装包中的所述镜像安装包,得到并在所述master节点中导入所述镜像组件。
针对上述步骤1043,在具体实施时,在master节点中解压离线安装包中的镜像安装包,得到镜像组件,并在master节点中导入该镜像组件。具体的,解压镜像安装包images.tar,并导入kubernetes镜像:docker load<images.tar。
步骤1044,初始化所述master节点,解压所述离线安装包中的所述网络插件安装包,得到并在所述master节点中安装所述网络配置文件。
针对上述步骤1044,在具体实施时,初始化master节点,解压离线安装包中的网络插件安装包,得到网络配置文件,并在master节点中安装网络配置文件。作为示例,通过下述代码对master节点进行初始化:
kubeadm init--kubernetes-version=v1.20.10--pod-network-cidr=10.244.0.0/16--service-cidr=10.96.0.0/12--ignore-preflight-errors=Swap
mkdir-p$HOME/.kube
sudo cp-i/etc/kubernetes/admin.conf$HOME/.kube/config
sudo chown$(id-u):$(id-g)$HOME/.kube/config
export KUBECONFIG=/etc/kubernetes/admin.conf
并在master节点安装网络插件Flannel:
kubectl apply-f kube-flannel.yml
步骤1045,执行加入集群命令,以使所述master节点加入Kubernetes集群。
这里,加入集群命令为join命令,用于加入Kubernetes集群。
针对上述步骤1045,在具体实施时,执行加入集群命令,以使master节点加入Kubernetes集群。作为示例,加入集群命令可以为如下代码:
kubeadm join ip:6443--token 9c11at.6ebo4g8lfcnqujwr\
作为一种可选的实施方式,在所述利用所述离线安装包在所述master节点中完成Kubernetes的离线安装之后,所述Kubernetes离线安装方法还包括:
在所述master节点中执行状态获取命令,以在所述master节点上查看所述master节点的节点状态以及所述node节点的节点状态。
需要说明的是,状态获取命令为get命令,用于获取集群中的节点的状态信息。
针对上述步骤,在具体实施时,在master节点中完成Kubernetes的离线安装之后,在master节点中执行状态获取命令,以在master节点上查看master节点的节点状态以及node节点的节点状态。作为示例,状态获取命令为kubectl get nodes。
本申请实施例提供的一种基于容器的Kubernetes离线安装方法,首先,将目标组件下载到目标目录中;然后,基于所述目标目录中的所述目标组件制作用于安装Kubernetes的离线安装包;将所述离线安装包上传到待安装主机中的node节点,以利用所述离线安装包在所述node节点中完成Kubernetes的离线安装;将所述离线安装包上传到所述待安装主机中的master节点,以利用所述离线安装包在所述master节点中完成Kubernetes的离线安装。
与现有技术中的Kubernetes安装方法相比,本申请通过拆解Kubernetes相关组件,分离出容器安装包、Kubernetes安装包和镜像安装包,从而实现完全离线的Kubernetes安装过程。本申请提供的Kubernetes离线安装方法,仅需在可连接外网的情况下制作离线安装包,离线场景下上传制作完成的安装包至待安装主机即可,操作简单、方便,以实现离线情况下Kubernetes的快速安装。
请参阅图2、图3,图2为本申请实施例所提供的一种基于容器的Kubernetes离线安装装置的结构示意图之一,图3为本申请实施例所提供的一种基于容器的Kubernetes离线安装装置的结构示意图之二。如图2中所示,所述Kubernetes离线安装装置200包括:
下载模块201,用于将目标组件下载到目标目录中;其中,所述目标组件包括容器组件、Kubernetes组件和镜像组件;
离线安装包制作模块202,用于基于所述目标目录中的所述目标组件制作用于安装Kubernetes的离线安装包;其中,所述离线安装包中包括容器安装包、Kubernetes安装包和镜像安装包;
第一安装模块203,用于将所述离线安装包上传到待安装主机中的node节点,以利用所述离线安装包在所述node节点中完成Kubernetes的离线安装;
第二安装模块204,用于将所述离线安装包上传到所述待安装主机中的master节点,以利用所述离线安装包在所述master节点中完成Kubernetes的离线安装。
进一步的,所述下载模块201用于将目标组件下载到目标目录中时,所述下载模块201还用于:
将所述容器组件下载到容器文件目录中;
将所述Kubernetes组件下载到镜像文件目录中;
将所述镜像组件下载到存储目录中。
进一步的,所述离线安装包制作模块202在用于基于所述目标目录中的所述目标组件制作用于安装Kubernetes的离线安装包时,所述离线安装包制作模块202还用于:
将所述容器文件目录中的所述容器组件进行压缩,得到所述容器安装包;
将所述镜像文件目录中的所述Kubernetes组件进行压缩,得到所述Kubernetes安装包;
将所述存储目录中的所述镜像组件进行压缩,得到所述镜像安装包。
进一步的,如图3所示,所述Kubernetes离线安装装置200还包括网络插件安装包制作模块205,所述网络插件安装包制作模块205用于:
将网络配置文件下载到配置文件目录中;
将所述配置文件目录中的所述网络配置文件进行压缩,得到网络插件安装包,并将所述网络插件安装包上传到所述master节点。
进一步的,所述第一安装模块203在用于将所述离线安装包上传到待安装主机中的node节点,以利用所述离线安装包在所述node节点中完成Kubernetes的离线安装时,所述第一安装模块203还用于:
解压所述离线安装包中的所述容器安装包,得到并在所述node节点中安装所述容器组件;
解压所述离线安装包中的所述Kubernetes安装包,得到并在所述node节点中安装所述Kubernetes组件,并设置开机启动;
解压所述离线安装包中的所述镜像安装包,得到并在所述node节点中导入所述镜像组件。
进一步的,所述第二安装模块204在用于将所述离线安装包上传到所述待安装主机中的master节点,以利用所述离线安装包在所述master节点中完成Kubernetes的离线安装时,所述第二安装模块204还用于:
解压所述离线安装包中的所述容器安装包,得到并在所述master节点中安装所述容器组件;
解压所述离线安装包中的所述Kubernetes安装包,得到并在所述master节点中安装所述Kubernetes组件,并设置开机启动;
解压所述离线安装包中的所述镜像安装包,在所述master节点中导入所述镜像组件;
初始化所述master节点,解压所述离线安装包中的所述网络插件安装包,得到并在所述master节点中安装所述网络配置文件;
执行加入集群命令,以使所述master节点加入Kubernetes集群。
进一步的,如图3所示,所述Kubernetes离线安装装置200还包括节点状态查询模块206,在所述利用所述离线安装包在所述master节点中完成Kubernetes的离线安装之后,所述节点状态查询模块206用于:
在所述master节点中执行状态获取命令,以在所述master节点上查看所述master节点的节点状态以及所述node节点的节点状态。
请参阅图4,图4为本申请实施例所提供的一种电子设备的结构示意图。如图4中所示,所述电子设备400包括处理器410、存储器420和总线430。
所述存储器420存储有所述处理器410可执行的机器可读指令,当电子设备400运行时,所述处理器410与所述存储器420之间通过总线430通信,所述机器可读指令被所述处理器410执行时,可以执行如上述图1所示方法实施例中的基于容器的Kubernetes离线安装方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1所示方法实施例中的基于容器的Kubernetes离线安装方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于容器的Kubernetes离线安装方法,其特征在于,所述Kubernetes离线安装方法包括:
将目标组件下载到目标目录中;其中,所述目标组件包括容器组件、Kubernetes组件和镜像组件;
基于所述目标目录中的所述目标组件制作用于安装Kubernetes的离线安装包;其中,所述离线安装包中包括容器安装包、Kubernetes安装包和镜像安装包;
将所述离线安装包上传到待安装主机中的node节点,以利用所述离线安装包在所述node节点中完成Kubernetes的离线安装;
将所述离线安装包上传到所述待安装主机中的master节点,以利用所述离线安装包在所述master节点中完成Kubernetes的离线安装。
2.根据权利要求1所述的Kubernetes离线安装方法,其特征在于,所述将目标组件下载到目标目录中,包括:
将所述容器组件下载到容器文件目录中;
将所述Kubernetes组件下载到镜像文件目录中;
将所述镜像组件下载到存储目录中。
3.根据权利要求2所述的Kubernetes离线安装方法,其特征在于,所述基于所述目标目录中的所述目标组件制作用于安装Kubernetes的离线安装包,包括:
将所述容器文件目录中的所述容器组件进行压缩,得到所述容器安装包;
将所述镜像文件目录中的所述Kubernetes组件进行压缩,得到所述Kubernetes安装包;
将所述存储目录中的所述镜像组件进行压缩,得到所述镜像安装包。
4.根据权利要求3所述的Kubernetes离线安装方法,其特征在于,所述Kubernetes离线安装方法还包括:
将网络配置文件下载到配置文件目录中;
将所述配置文件目录中的所述网络配置文件进行压缩,得到网络插件安装包,并将所述网络插件安装包上传到所述master节点。
5.根据权利要求1所述的Kubernetes离线安装方法,其特征在于,所述利用所述离线安装包在所述node节点中完成Kubernetes的离线安装,包括:
解压所述离线安装包中的所述容器安装包,得到并在所述node节点中安装所述容器组件;
解压所述离线安装包中的所述Kubernetes安装包,得到并在所述node节点中安装所述Kubernetes组件,并设置开机启动;
解压所述离线安装包中的所述镜像安装包,得到并在所述node节点中导入所述镜像组件。
6.根据权利要求4所述的Kubernetes离线安装方法,其特征在于,所述利用所述离线安装包在所述master节点中完成Kubernetes的离线安装,包括:
解压所述离线安装包中的所述容器安装包,得到并在所述master节点中安装所述容器组件;
解压所述离线安装包中的所述Kubernetes安装包,得到并在所述master节点中安装所述Kubernetes组件,并设置开机启动;
解压所述离线安装包中的所述镜像安装包,在所述master节点中导入所述镜像组件;
初始化所述master节点,解压所述离线安装包中的所述网络插件安装包,得到并在所述master节点中安装所述网络配置文件;
执行加入集群命令,以使所述master节点加入Kubernetes集群。
7.根据权利要求1所述的Kubernetes离线安装方法,其特征在于,在所述利用所述离线安装包在所述master节点中完成Kubernetes的离线安装之后,所述Kubernetes离线安装方法还包括:
在所述master节点中执行状态获取命令,以在所述master节点上查看所述master节点的节点状态以及所述node节点的节点状态。
8.一种基于容器的Kubernetes离线安装装置,其特征在于,所述Kubernetes离线安装装置包括:
下载模块,用于将目标组件下载到目标目录中;其中,所述目标组件包括容器组件、Kubernetes组件和镜像组件;
离线安装包制作模块,用于基于所述目标目录中的所述目标组件制作用于安装Kubernetes的离线安装包;其中,所述离线安装包中包括容器安装包、Kubernetes安装包和镜像安装包;
第一安装模块,用于将所述离线安装包上传到待安装主机中的node节点,以利用所述离线安装包在所述node节点中完成Kubernetes的离线安装;
第二安装模块,用于将所述离线安装包上传到所述待安装主机中的master节点,以利用所述离线安装包在所述master节点中完成Kubernetes的离线安装。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至7任一所述的基于容器的Kubernetes离线安装方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的基于容器的Kubernetes离线安装方法的步骤。
CN202310465116.1A 2023-04-26 2023-04-26 一种基于容器的Kubernetes离线安装方法及装置 Pending CN116483394A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310465116.1A CN116483394A (zh) 2023-04-26 2023-04-26 一种基于容器的Kubernetes离线安装方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310465116.1A CN116483394A (zh) 2023-04-26 2023-04-26 一种基于容器的Kubernetes离线安装方法及装置

Publications (1)

Publication Number Publication Date
CN116483394A true CN116483394A (zh) 2023-07-25

Family

ID=87217476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310465116.1A Pending CN116483394A (zh) 2023-04-26 2023-04-26 一种基于容器的Kubernetes离线安装方法及装置

Country Status (1)

Country Link
CN (1) CN116483394A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234545A (zh) * 2023-11-16 2023-12-15 深圳万物安全科技有限公司 应用程序安装方法、装置、终端设备以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502244A (zh) * 2019-07-11 2019-11-26 新华三大数据技术有限公司 部署Kubernetes集群的方法及装置
US20200026545A1 (en) * 2017-09-20 2020-01-23 Tencent Technology (Shenzhen) Company Limited Container login method, apparatus, and storage medium
CN112416524A (zh) * 2020-11-25 2021-02-26 电信科学技术第十研究所有限公司 基于docker和kubernetes离线的跨平台的CI/CD的实现方法及装置
CN114020288A (zh) * 2021-11-04 2022-02-08 四川启睿克科技有限公司 一种离线部署Kubernetes集群的方法
CN115437653A (zh) * 2022-07-14 2022-12-06 海纳致远数字科技(上海)有限公司 一种利用容器技术私有化部署的方法
CN115809070A (zh) * 2022-11-24 2023-03-17 海纳致远数字科技(上海)有限公司 一种对象存储在私有云和大数据集群中的混合应用的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200026545A1 (en) * 2017-09-20 2020-01-23 Tencent Technology (Shenzhen) Company Limited Container login method, apparatus, and storage medium
CN110502244A (zh) * 2019-07-11 2019-11-26 新华三大数据技术有限公司 部署Kubernetes集群的方法及装置
CN112416524A (zh) * 2020-11-25 2021-02-26 电信科学技术第十研究所有限公司 基于docker和kubernetes离线的跨平台的CI/CD的实现方法及装置
CN114020288A (zh) * 2021-11-04 2022-02-08 四川启睿克科技有限公司 一种离线部署Kubernetes集群的方法
CN115437653A (zh) * 2022-07-14 2022-12-06 海纳致远数字科技(上海)有限公司 一种利用容器技术私有化部署的方法
CN115809070A (zh) * 2022-11-24 2023-03-17 海纳致远数字科技(上海)有限公司 一种对象存储在私有云和大数据集群中的混合应用的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234545A (zh) * 2023-11-16 2023-12-15 深圳万物安全科技有限公司 应用程序安装方法、装置、终端设备以及存储介质
CN117234545B (zh) * 2023-11-16 2024-03-08 深圳万物安全科技有限公司 应用程序安装方法、装置、终端设备以及存储介质

Similar Documents

Publication Publication Date Title
CN102591679B (zh) 一种集群***应用软件快速部署方法
CN111193782A (zh) Paas云集群构建方法、装置以及电子设备、存储介质
WO2015171030A1 (en) Web application managment
CN109597626B (zh) 一种组件部署方法和装置
US20140129819A1 (en) Cloud cluster system and boot deployment method for the same
US8332490B2 (en) Method, apparatus and program product for provisioning a computer system
CN116483394A (zh) 一种基于容器的Kubernetes离线安装方法及装置
US20200186622A1 (en) System and method for providing microservice-based device control interface
WO2012000999A1 (en) Configuring a computer system for a software package installation
US20140122860A1 (en) Cloud system and boot deployment method for the cloud system
CN103164238A (zh) 自动化连续安装操作***的方法
CN114422618B (zh) 基于云原生的iot平台协议适配方法、装置、设备及介质
US10938648B2 (en) System and method for configuring an information handling system
CN105824722A (zh) 计算机云端备份还原***
CN111538625A (zh) 基于Docker技术的Ambari集群部署、数据备份方法及电子设备
CN114281349A (zh) 开源消息中间件RocketMQ集群的部署方法及装置
CN107453954B (zh) 一种网络调试方法、***以及设备
US11221889B2 (en) Method of deploying cloud services quickly
CN105516372A (zh) 文件名的处理方法、装置及服务器
US8413137B2 (en) Automated network backup peripheral device and method
CN116048476A (zh) 命令行工具执行方法、装置、介质及设备
CN114047976A (zh) 插件加载方法、装置、电子设备、存储介质
CN115145603B (zh) 一种基于Redfish自动安装OS的方法及***
WO2022039118A1 (ja) 情報処理装置、方法、コンピュータプログラム、及び、記録媒体
WO2022254953A1 (ja) 制御システムおよび制御方法

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