当前位置: 首页>>技术教程>>正文


在Ubuntu 18.04 LTS上安装和部署Kubernetes

,

什么是Kubernetes?

Kubernetes是一个免费的开源容器管理系统,为跨主机集群的应用程序容器的部署自动化,扩展和操作提供了一个平台。使用Kubernetes,您可以自由地使用混合,on-premise和公共云基础架构来运行组织的部署任务。

在本教程中,我们将说明如何在Ubuntu系统上安装Kubernetes,以及如何在two-node Ubuntu集群上部署Kubernetes。

本文提到的命令和过程已在Ubuntu 18.04 LTS系统上运行。由于我们将使用Ubuntu命令行终端程序来运行所有命令,因此您可以通过系统Dash或Ctrl + Alt + T快捷方式将其打开。

Kubernetes安装

我们将在本文中形成的two-node群集将由一个主节点和一个从节点组成。这两个节点都需要安装Kubernetes。因此,请按照下面介绍的步骤在两个Ubuntu节点上安装Kubernetes。

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

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

$ sudo apt install docker.io

Installing Docker

系统将提示您输入Y /n选项,以继续进行安装。请输入Y,然后按Enter键继续。然后将Docker安装在您的系统上。您可以通过以下命令验证安装并检查Docker的版本号:

$ docker --version

Check Docker version

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

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

$ sudo systemctl enable docker

Enable Docker service

步骤3:在两个节点上添加Kubernetes签名密钥

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

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

Add the Kubernetes signing key

如果您的系统上未安装Curl,则可以通过以下命令以root用户身份进行安装:广告广告

$ sudo apt install curl

Install Curl

系统将提示您输入Y /n选项,以继续进行安装。请输入Y,然后按Enter键继续。然后,Curl实用程序将安装在您的系统上。

步骤4:在两个节点上添加Xenial Kubernetes存储库

在两个节点上运行以下命令以添加Xenial Kubernetes存储库:

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

Add Xenial Kubernetes Repository

步骤5:安装Kubeadm

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

$ sudo apt install kubeadm

Install Kubeadm

系统将提示您输入Y /n选项,以继续进行安装。请输入Y,然后按Enter键继续。然后,将在您的系统上安装Kubeadm。

您可以检查Kubeadm的版本号,也可以通过以下命令验证安装:

$ kubeadm version

Check Kubeadm version

Kubernetes部署

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

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

$ sudo swapoff -a

Disable swap space

步骤2:为每个节点赋予唯一的主机名

在主节点中运行以下命令以为其赋予唯一的主机名:

$ sudo hostnamectl set-hostname master-node

在从属节点中运行以下命令以为其赋予唯一的主机名:

$ hostnamectl set-hostname slave-node

第三步:在主节点上初始化Kubernetes

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

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

该过程可能需要一分钟或更长时间,具体取决于您的Internet连接。此命令的输出非常重要:

Initialize Kubernetes on the master node

请从输出中记下以下信息:

要开始使用群集,您需要以普通用户身份运行以下命令:

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

现在运行输出中建议的命令以开始使用集群:

Start Kubernetes Cluster

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

$ kubectl get nodes

Get list of nodes

您将看到主节点的状态为“not ready”。这是因为尚未在主节点上部署任何Pod,因此容器网络接口为空。

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

Pod网络是网络节点之间的通信介质。在本教程中,我们将通过以下命令在集群上部署Flannel Pod网络:

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

Deploy a Pod Network

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

$ kubectl get pods --all-namespaces

Check network status

现在,当您看到节点的状态时,您将看到master-node已准备就绪:

$ sudo kubectl get nodes

Get nodes

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

在从节点上,运行在master-node上初始化Kubernetes时生成的以下命令:

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

Add the slave node to the network

现在,当您在主节点上运行以下命令时,它将确认系统上正在运行两个节点,即主节点和服务器节点。

$ sudo kubectl get nodes

这表明two-node集群现在已通过Kubernetes容器管理系统启动并运行。

在本文中,我们介绍了在两个Ubuntu节点上安装Kubernetes容器管理系统的过程。然后,我们形成了一个简单的two-node集群,并在其上部署了Kubernetes。现在,您可以部署和使用任何服务(例如Nginx服务器或Apache容器)来利用此群集网络。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11226.html,未经允许,请勿转载。