什么是 Kubernetes?
Kubernetes 是一种开源容器编排平台,可以帮助开发人员在生产环境中自动化部署,管理和扩展容器化应用程序。它是 Google 的 Borg 系统的开源版本,旨在帮助开发人员更轻松地管理容器化应用程序。
Kubernetes 提供了一种方法来管理多个 Docker 容器,可以自动处理容器的弹性、伸缩、负载平衡和故障转移,从而简化了应用程序的部署和管理。
准备
在开始本文之前,我们需要安装以下软件:
- Docker
- kubectl
- minikube
手动创建 Kubernetes hello world
我们先手动创建一个 Kubernetes 应用程序。在开始之前,建议您先快速阅读一下以下的概念:
- Pod:一个 Pod 包含一个或多个 Docker 容器,共享网络和存储的空间。Pod 是 Kubernetes 应用程序的最小部署单元。
- Deployment:Deployment 是定义 Pod 和 ReplicaSet 的模板。它可以管理应用程序的版本控制和滚动更新。
第一步:创建一个 Docker 镜像
我们首先需要创建一个 Docker 镜像。将以下代码保存为 Dockerfile:
---- ------------- --- ---- ------- -------
在您的终端中,进入 Dockerfile 所在的目录,并使用以下命令构建 Docker 镜像:
------ ----- -- --------------- -
第二步:创建一个 Pod
现在我们需要创建一个 Pod,可以在 Kubernetes 群集中运行该镜像。将以下 YAML 文件保存为 hello-world-pod.yaml:
----------- -- ----- --- --------- ----- --------------- ----- ----------- - ----- ----------- ------ ---------------
使用 kubectl 命令将该文件应用于 Kubernetes 群集:
------- ----- -- --------------------
现在我们可以查看 Pod 的状态:
------- --- ----
您应该看到一个包含以下内容的输出:
---- ----- ------ -------- --- --------------- --- ------- - ---
第三步:暴露 Pod
现在我们已经运行了一个 Pod,但是我们无法在本地机器上访问该 Pod。我们需要将 Pod 公开以便可以在本地机器上访问它。将以下 YAML 文件保存为 hello-world-svc.yaml:
----------- -- ----- ------- --------- ----- --------------- ----- --------- ---- ----------- ------ - ----- ---- ----- -- ----------- -- ----- --------
使用 kubectl 命令将该文件应用于 Kubernetes 群集:
------- ----- -- --------------------
现在我们可以查看 Pod 的状态:
------- --- --------
您应该看到一个包含以下内容的输出:
---- ---- ---------- ----------- ------- --- --------------- -------- ------------- ------ ------------ ---
现在我们可以使用以下命令查找在本地机器上暴露的端口:
-------- ------- --------------- -----
复制 URL 并在浏览器中打开。您应该看到以下输出:
------ ------
使用 Deployment 部署
使用 Deployment 可以更好地管理应用程序的版本控制和滚动更新。
第一步:创建一个 Deployment
使用以下 YAML 文件创建 Deployment:
----------- ------- ----- ---------- --------- ----- --------------- ----- --------- ------------ ---- ----------- --------- - --------- --------- ------- ---- ----------- ----- ----------- - ----- ----------- ------ ---------------
使用 kubectl 命令将该文件应用于 Kubernetes 群集:
------- ----- -- --------------------
现在我们可以查看 Deployment 的状态:
------- --- -----------
您应该看到一个包含以下内容的输出:
---- ------- ------- ---------- --------- --- --------------- - - - - ---
第二步:更新应用程序
更新应用程序时,您可以在更新 Deployment 后根据需要使用 kubectl 命令滚动更新 Pods。
使用以下命令更新应用程序:
------- --- ----- -------------------------- ------------------------------
现在我们可以查看 Deployment 的状态:
------- --- -----------
您应该看到一个包含以下内容的输出:
---- ------- ------- ---------- --------- --- --------------- - - - - -----
第三步:回滚更新
如果需要回滚更新,您可以使用以下命令:
------- ------- ---- --------------------------
现在我们可以查看 Deployment 的状态:
------- --- -----------
您应该看到一个包含以下内容的输出:
---- ------- ------- ---------- --------- --- --------------- - - - - -----
结论
Kubernetes 是一种强大的容器编排平台,使开发人员可以轻松地部署、管理和扩展容器化应用程序。在本文中,我们讨论了如何手动创建一个 Kubernetes 应用程序,并使用 Deployment 部署进行版本控制和滚动更新。
我们建议您继续学习 Kubernetes,并尝试使用它来运行更复杂的应用程序。Kubernetes 文档和教程可以提供丰富的信息,帮助您了解 Kubernetes 并为实际应用程序部署做好准备。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67105e5c5f551281026a4aaf