鲲鹏社区 软件 Kubernetes
Kubernetes
开源的容器集群管理系统
编写语言:Go

软件介绍

Kubernetes(k8s)Google开源的容器集群管理系统。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。

支持的操作系统

经过华为云严格实测,以下操作系统在鲲鹏生态中可以运行Kubernetes

l   CentOS 7.5

l   EulerOS 2.8

可支持版本和获取方式

l   建议使用版本为“1.14.2

编译和测试方式

1.      选择操作环境

本文选用华为鲲鹏云服务ECS KC1实例做测试,详细配置如下:

类别

子项

版本

云服务器配置

ECS实例类型

kc1.xlarge.4

ECS配置

4U16GB

EVS

IO(40GB)*2

OS

CentOS

7.5

Kernel

4.14.0-49

2.      配置编译环境

1)     本次是基于华为提供的镜像源安装k8s,首先在主机中设置k8s镜像源。

cd /etc/yum.repos.d/

ll

回显内容类似如下:

total 44
-rw-r--r--. 1 root root 1509 Apr 29  2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1370 Apr 29  2018 CentOS-CR.repo
-rw-r--r--. 1 root root  709 Apr 29  2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  246 Apr 29  2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  690 Apr 29  2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1573 Apr 29  2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 6411 Apr 29  2018 CentOS-Vault.repo
-rw-r--r--. 1 root root  951 Oct  3  2017 epel.repo
-rw-r--r--. 1 root root 1050 Oct  3  2017 epel-testing.repo

a.         如果上述回显中有“kubernetes.repo”则先将其保存一份。

cp /etc/yum.repos.d/kubernetes.repo /etc/yum.repos.d/kubernetes.repo.bak

b.         如果上述回显中没有“kubernetes.repo”,则创建一个。

touch /etc/yum.repos.d/kubernetes.repo

c.         执行如下命令设置k8s源。

下述10行命令一起复制后在命令行窗口粘贴执行。

cat <<EOF > /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=https://mirrors.huaweicloud.com/kubernetes/yum/repos/kubernetes-el7-aarch64

enabled=1

gpgcheck=1

repo_gpgcheck=1

gpgkey=https://mirrors.huaweicloud.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.huaweicloud.com/kubernetes/yum/doc/rpm-package-key.gpg

exclude=kube*

EOF

2)     使kubernetes镜像源生效。

a.         查看kubernetes源当前状态

yum repolist all | grep kubernetes

回显内容如下,可以看到当前状态为“disabled”。

kubernetes                     Kubernetes                        disabled

对于EulerOS,在上述回显内容中,还需要输入“y”进行确认。

b.         执行如下命令使kubernetes源生效。

  yum-config-manager --enable Kubernetes

l  对于CentOS,执行yum-config-manager --enable <repo_name>时,“repo_name”是执行yum repolist all | grep kubernetes时回显的第二个字段“Kubernetes”,“K”为大写。

l  若是EulerOS,则采用yum-config-manager --enablerepo kubernetes使得设置的k8s源生效。

l  若执行上述命令出现“yum-config-manager: command not found”错误,请执行yum -y install yum-utils安装yum-config-manager

3)     下载安装k8s组件。

--disableexcludes=kubernetes”表示在查找包的时候禁止排除kubernetes这个源。

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

3.      测试已完成编译的软件

查看k8s版本号

kubelet --version

回显内容如下:

Kubernetes v1.14.2

已知问题汇总

问题一:执行yum-config-manager --enable Kubernetes启动Kubernetes源失败

问题描述

执行时,提示信息如下:

   yum-config-manager: command not found

问题原因:系统没有安装yum附加工具包。

解决方法

执行如下命令安装yum附加工具包。

yum -y install yum-utils

问题二:执行yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes安装k8s失败

问题原因:由于kubernetes源配置有误,yum在安装的时候已经将错误的源缓存到本地,导致无法安装。

解决方法

删除缓存里的kubernetes源后重新安装

删除命令如下:

rm /etc/yum.repos.d/kubernetes.repo

软件下载

源码下载立即下载