[ad_1]
什么是 Kubernetes?
Kubernetes 是一个免费的开源容器管理系统,它为跨主机集群的应用程序容器的部署自动化、扩展和操作提供了一个平台。 借助 Kubernetes,您可以自由地使用混合云、本地云和公共云基础架构来运行组织的部署任务。
在本教程中,我们将解释如何在 Ubuntu 系统上安装 Kubernetes,以及如何在双节点 Ubuntu 集群上部署 Kubernetes。
本文中提到的命令和过程已经在 Ubuntu 18.04 LTS 系统上运行。 由于我们将使用 Ubuntu 命令行终端来运行所有命令,因此您可以通过系统 Dash 或 Ctrl+Alt+T 快捷方式打开它。
Kubernetes 安装
我们将在本文中形成的双节点集群将由一个主节点和一个从节点组成。 这两个节点都需要安装 Kubernetes。 因此,请按照下面描述的步骤在两个 Ubuntu 节点上安装 Kubernetes。
第 1 步:在两个节点上安装 Docker
通过运行以下命令在两个节点上安装 Docker 实用程序 sudo 在每个节点的终端中:
$ sudo apt install docker.io
系统将提示您选择 Y/n 以继续安装。 请输入 Y,然后按 Enter 继续。 然后将在您的系统上安装 Docker。 您可以通过以下命令验证安装并检查 Docker 的版本号:
$ docker --version
第 2 步:在两个节点上启用 Docker
通过在每个节点上运行以下命令,在两个节点上启用 Docker 实用程序:
$ sudo systemctl enable docker
第 3 步:在两个节点上添加 Kubernetes 签名密钥
运行以下命令以获取 Kubernetes 签名密钥:
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
如果您的系统上没有安装 Curl,您可以通过以下命令以 root 身份安装它:
$ sudo apt install curl
系统将提示您选择 Y/n 以继续安装。 请输入 Y,然后按 Enter 继续。 然后将在您的系统上安装 Curl 实用程序。
第 4 步:在两个节点上添加 Xenial Kubernetes 存储库
在两个节点上运行以下命令以添加 Xenial Kubernetes 存储库:
$ sudo apt-add-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main"
第 5 步:安装 Kubeadm
安装过程的最后一步是通过以下命令在两个节点上安装 Kubeadm:
$ sudo apt install kubeadm
系统将提示您选择 Y/n 以继续安装。 请输入 Y,然后按 Enter 继续。 然后 Kubeadm 将安装在您的系统上。
您可以检查 Kubeadm 的版本号,也可以通过以下命令验证安装:
$ kubeadm version
Kubernetes 部署
第 1 步:禁用两个节点上的交换内存(如果正在运行)
您需要在两个节点上禁用交换内存,因为 Kubernetes 在使用交换内存的系统上无法正常执行。 在两个节点上运行以下命令以禁用交换内存
$ sudo swapoff -a
第 2 步:为每个节点提供唯一的主机名
在主节点中运行以下命令,以便为其提供唯一的主机名:
$ sudo hostnamectl set-hostname master-node
在从节点中运行以下命令,以便为其提供唯一的主机名:
$ hostnamectl set-hostname slave-node
Step3:在主节点上初始化Kubernetes
运行以下命令 sudo 在主节点上:
$ sudo kubeadm init --pod-network-cidr=10.244.0.0/16
该过程可能需要一分钟或更长时间,具体取决于您的互联网连接。 该命令的输出非常重要:
请记下输出中的以下信息:
要开始使用您的集群,您需要以普通用户身份运行以下命令:
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
现在运行输出中建议的命令以开始使用集群:
您可以通过运行以下命令检查主节点的状态:
$ kubectl get nodes
您将看到主节点的状态为“未就绪”。 这是因为主节点上还没有部署 Pod,所以容器网络接口是空的。
第 4 步:通过主节点部署 Pod 网络
Pod 网络是网络节点之间的通信媒介。 在本教程中,我们将通过以下命令在集群上部署 Flannel pod 网络:
$ sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
使用以下命令查看网络状态:
$ 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
这表明两节点集群现在通过 Kubernetes 容器管理系统启动并运行。
在本文中,我们已经解释了在两个 Ubuntu 节点上安装 Kubernetes 容器管理系统。 然后,我们形成了一个简单的两节点集群,并在其上部署了 Kubernetes。 您现在可以部署和使用任何服务,例如 Nginx 服务器或 Apache 容器来使用这个集群网络。
[ad_2]