Kubernetes 是一种开源容器管理工具,可自动执行容器部署、容器扩展、解缩放和容器负载均衡(也称为容器编排工具)。它是用Golang编写的,拥有庞大的社区,因为它最初由Google开发,后来捐赠给CNCF(云原生计算基金会)。Kubernetes 可以将“n”个容器分组到一个逻辑单元中,以便轻松管理和部署它们。它与所有云供应商(即公共云、混合云和本地云供应商)完美配合。
Kubernetes 是一个开源平台,以集群的形式管理 Docker 容器。除了容器的自动部署和扩展外,它还通过自动重新启动失败的容器并在主机死亡时重新安排它们来提供修复。此功能提高了应用程序的可用性。
Kubernetes Vs Docker:
Kubernetes | 码头工人 |
---|---|
Kubernetes 是一个开源平台,用于维护和部署一组容器 | Docker 是一种工具,用于在轻量级容器中自动部署应用程序,以便应用程序可以在不同的环境中高效工作。 |
在实践中,Kubernetes 最常与 Docker 一起使用,以更好地控制和植入容器化应用程序。 | 使用 Docker,多个容器在同一硬件上运行的效率比 Docker 的虚拟机环境要高得多,而且 Docker 的生产力非常高。 |
应用程序部署为 Pod、部署和服务的组合。 | 应用以服务的形式部署。 |
它支持群集中容器的自动缩放。 | Docker 不支持自动缩放。 |
运行状况检查分为两种类型:活动性和就绪性。 | 运行状况检查仅限于服务。 |
难以设置和配置。 | Docker 的设置和安装非常简单。 |
它没有广泛的文档,但比Docker少得多。但它确实包括从安装到部署的所有内容。 | Docker文档更有效,更广泛,并且具有更多功能,它包括从安装到部署的所有内容,快速入门说明以及更详细的教程。 |
提供的 Kubernetes 安装比 Docker 相当困难,甚至 Kubernetes 的命令也比 Docker 复杂得多。 | Docker安装非常容易,通过使用更少的命令,您可以在虚拟机甚至云中安装Docker。 |
Azure、buffer、intel、Evernote 和 Shopify Using Kubernetes。 | 谷歌,亚马逊,ADP,VISA,公民银行和大都会人寿公司使用Docker。 |
Kubernetes 遵循客户端-服务器架构,我们将主节点安装在一台机器上,节点安装在单独的 Linux 机器上。它遵循主从模型,该模型使用主节点跨多个 Kubernetes 节点管理 Docker 容器。主节点及其控制节点(工作节点)构成“Kubernetes集群”。开发人员可以在 Kubernetes master 的帮助下在 docker 容器中部署应用程序。
Kubernetes master 负责管理整个集群,协调集群内的所有活动,并与工作节点通信,以保持 Kubernetes 和您的应用程序运行。这是所有管理任务的入口点。当我们在系统上安装 Kubernetes 时,我们将安装 Kubernetes Master 的四个主要组件。Kubernetes Master 节点的组件包括:
Kubernetes 工作节点包含管理容器之间的网络、与主节点通信以及将资源分配给计划的容器所需的所有服务。Kubernetes Worker 节点的组件包括:
我们可以借助附加组件在集群中安装功能(例如守护程序、部署等)。此命名空间资源提供集群级功能,使其成为 Kube 系统命名空间资源。
以下是与 Kubernetes 集互的一些常用命令:
要查看集群中所有 Pod 的列表,您可以使用以下命令:
kubectl get pods
若要查看群集中所有节点的列表,可以使用以下命令:
kubectl get nodes
要查看群集中所有服务的列表,可以使用以下命令:
kubectl get services