Kubernetes 使用 Kubeadm 快速部署集群教程

阅读时长 7 分钟读完

Kubernetes 是一个开源的容器编排平台,它可以帮助开发人员在集群中管理、调度和部署容器化的应用程序。如果你正在学习 Kubernetes 或者需要在生产环境中使用它,这篇文章将为你介绍如何快速地使用 Kubeadm 部署 Kubernetes 集群。

准备工作

  • 至少 3 台 Linux 服务器,建议使用 Ubuntu 18.04;
  • 每台服务器上设置一个用户名和密码,确保这个用户拥有 sudo 权限;
  • 所有服务器之间必须能够互相通信,可以尝试使用 ping 命令测试。

安装 Docker 和 Kubernetes 工具箱

在每台服务器上执行以下命令安装必要的软件包:

-- -------------------- ---- -------
---- ------- ------ -- ---- ------- ------- -- -
  ------------------- -
  --------------- -
  ---- -
  --------------------------

---- ----- -------------------------------------------- - ---- ------- --- -
---- ------------------ ---- ------------ ---------------------------------------- ------------- ---- -------
---- ------- ------ -- ---- ------- ------- -- --------- ------- ------- -------

执行完毕后,检查 Docker 和 Kubernetes 工具箱是否正确安装:

如果以上命令能够正常输出版本信息,则说明 Docker 和 Kubernetes 工具箱已经正确安装。

部署 Kubernetes 控制平面节点

在 "控制平面节点" 上执行以下命令:

其中,--pod-network-cidr 参数用于指定 Kubernetes 集群中 Pod 网络的地址段。可选的地址段参见 Kubernetes 文档

执行完毕后,根据提示执行以下命令设置 kubectl 的配置文件:

检查 Kubernetes 控制平面节点的状态:

如果所有的 Pod 状态都为 Running,则说明 Kubernetes 控制平面节点已经运行正常。

部署 Kubernetes 工作节点

在 "工作节点" 上执行以下命令:

其中,<控制平面节点的 IP 地址> 和 <控制平面节点的端口号> 需要替换为你的 Kubernetes 控制平面节点的 IP 地址和端口号,<token> 和 <cacerthash> 可以在部署控制平面节点时生成。

执行完毕后,返回到 Kubernetes 控制平面节点,运行以下命令检查工作节点是否已经加入到集群:

如果工作节点已经加入到集群,它的状态为 Ready。

安装网络插件

部署完 Kubernetes 工作节点后,Kubernetes 集群还需要一个网络插件来支持容器之间的通信。下面演示如何使用 Calico 网络插件。

在 Kubernetes 控制平面节点上执行以下命令:

执行后,检查网络插件是否已经正确安装:

如果网络插件状态为 Running,则说明安装成功。

示例应用程序

下面是一个简单的 Node.js 应用程序,将在 Kubernetes 集群中部署:

-- -------------------- ---- -------
-- ------
----- ---- - ----------------

----- ------ - ----------------------- ---- -- -
  -------------- - ----
  ----------------------------- --------------
  --------------- -----------
---

------------------- -- -- -
  ------------------- ------- -- ---- -------
---

可以使用 Docker 将这个应用程序构建成一个容器镜像。在应用程序的根目录下创建以下 Dockerfile:

-- -------------------- ---- -------
---- -------

------- ----

---- ------------- --
--- --- -------

---- - -

------ ----
--- - ------ ------- -

然后执行以下命令构建和上传容器镜像:

其中,<Docker 镜像名称> 可以自定义,需要修改为自己的 Docker Hub 用户名和应用程序名称。

最后,使用 Kubernetes 部署该应用程序。在应用程序的根目录下创建以下 deployment.yaml 文件:

-- -------------------- ---- -------
----------- -------
----- ----------
---------
  ----- -----------
  -------
    ---- -----------
-----
  --------- -
  ---------
    ------------
      ---- -----------
  ---------
    ---------
      -------
        ---- -----------
    -----
      -----------
        - ----- -----------
          ------ ------- -----
          ------
            - -------------- ----

需要将 <Docker 镜像名称> 替换为上一步中构建的 Docker 镜像名称。

执行以下命令部署应用程序:

检查部署状态:

如果应用程序的状态为 Running,则说明部署成功。

总结

通过这篇文章,你已经了解了如何使用 Kubeadm 快速部署 Kubernetes 集群,并在集群中部署了一个简单的 Node.js 应用程序。希望这个教程能够帮助你更好地理解 Kubernetes 的使用方法和内部工作原理。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6475c80a968c7c53b02c9334

纠错
反馈