在Ubuntu 18.04 LTS上安装和部署Kubernetes

什么是Kubernetes?

Kubernetes是一个免费的开放源代码容器管理系统,它提供了一个平台,用于在主机计算机集群之间自动化,扩展和操纵应用程序容器的部署。 Kubernetes使您可以自由利用混合,本地或公共云基础架构来执行组织的部署任务。

本教程介绍了如何在Ubuntu系统上安装Kubernetes,以及如何在两节点Ubuntu集群上部署Kubernetes。

本文中描述的命令和过程在Ubuntu 18.04 LTS系统上运行。在这里,我们使用Ubuntu命令行Terminal(终端)执行所有命令,因此您可以从系统的破折号或Ctrl + Alt + T快捷方式将其打开。

安装Kubernetes

本文创建的两节点群集由一个主节点和一个从节点组成。 Kubernetes必须安装在这些节点上。因此,请按照以下步骤在两个Ubuntu节点上安装Kubernetes。

步骤1:在两个节点上安装Docker

通过在每个节点的终端上以sudo的身份运行以下命令,在两个节点上安装Docker实用程序。

$ sudo apt install docker.io

系统将显示Y / n选项,继续安装。键入Y,然后按Enter继续。 Docker已安装在您的系统上。您可以使用以下命令验证安装并检查Docker版本号:

$ docker --version

检查Docker版本

步骤2:在两个节点上启用Docker

通过在每个节点上运行以下命令,在两个节点上启用Docker实用程序:

$ sudo systemctl enable docker

启用Docker服务

步骤3:将Kubernetes签名密钥添加到两个节点

通过运行以下命令获取Kubernetes签名密钥:

$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add

添加Kubernetes签名密钥

如果您的系统上未安装Curl,则可以使用以下命令将其作为root用户安装:

$ sudo apt install curl

安装卷发

系统将显示Y / n选项,继续安装。键入Y,然后按Enter继续。 Curl实用程序已安装在系统上。

步骤4:将Xenial Kubernetes存储库添加到两个节点

要添加Xenial Kubernetes存储库,请在两个节点上运行以下命令。

$ sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

添加了Xenial Kubernetes存储库

步骤5:安装Kubeadm

安装过程的最后一步是使用以下命令在两个节点上安装Kubeadm。

$ sudo apt install kubeadm

安装Kubeadm

系统将显示Y / n选项,继续安装。键入Y,然后按Enter继续。 Kubeadm已安装在您的系统上。

您还可以检查Kubeadm版本号,并使用以下命令来验证安装。

$ kubeadm version

检查Kubeadm的版本

Kubernetes部署

步骤1:在两个节点上禁用交换内存(如果正在运行)

Kubernetes在使用交换内存的系统上无法正常工作,因此您需要在两个节点上都禁用交换内存。在两个节点上运行以下命令以禁用交换内存

$ sudo swapoff -a

禁用交换空间

在主节点上运行以下命令,以为其指定唯一的主机名。

$ sudo hostnamectl set-hostname master-node

在从属节点上运行以下命令,以为其指定唯一的主机名。

$ hostnamectl set-hostname slave-node

在主节点上以sudo身份运行以下命令。

$ sudo kubeadm init --pod-network-cidr=10.244.0.0/16

根据您的Internet连接,此过程可能需要一分钟或更长时间。该命令的输出非常重要。

在主节点上初始化Kubernetes

从输出中记下以下信息。

要开始使用集群,您需要以普通用户身份执行以下操作:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

现在,您可以在每个节点上运行以下命令以加入任意数量的计算机

作为根:

kubeadm join 192.168.100.6:6443 --token 06tl4c.oqn35jzecidg0r0m --discovery-token-ca-cert-hash sha256:c40f5fa0aba6ba311efcdb0e8cb637ae0eb8ce27b7a03d47be6d966142f2204c

然后运行输出中建议的命令以开始使用集群。

启动Kubernetes集群

您可以通过运行以下命令来检查主节点的状态。

$ kubectl get nodes

获取节点列表

您可以看到主节点的状态为“未就绪”。这是因为容器网络接口为空,因为Pod尚未部署在主节点上。

步骤4:通过主节点部署Pod网络

Pod网络是网络节点之间通信的媒介。在本教程中,使用以下命令在群集上部署法兰绒Pod网络。

$ sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

部署Pod网络

要查看网络的状态,请使用以下命令:

$ kubectl get pods --all-namespaces

检查网络状态

显示节点状态时,您可以看到主节点已准备就绪。

$ sudo kubectl get nodes

获取节点

步骤5:将从属节点添加到网络以形成集群

在从节点上,运行在主节点上初始化Kubernetes时生成的以下命令。

$ sudo kubeadm join 192.168.100.6:6443 --token 06tl4c.oqn35jzecidg0r0m --discovery-token-ca-cert-hash sha256:c40f5fa0aba6ba311efcdb0e8cb637ae0eb8ce27b7a03d47be6d966142f2204c

将一个从属节点添加到网络

现在,在主节点上运行以下命令,以验证系统具有两个节点,一个主节点和一个服务器节点。

$ sudo kubectl get nodes

这表明2节点集群已通过Kubernetes容器管理系统启动并运行。

在本文中,我描述了在两个Ubuntu节点上安装Kubernetes容器管理系统的过程。接下来,我形成了一个简单的两节点集群,并在其上部署了Kubernetes。现在,您可以部署和使用Nginx服务器和Apache容器之类的服务来利用此群集网络。

在Ubuntu 18.04 LTS上安装和部署Kubernetes

Sidebar