Kubernetes初学者简介

本文概述

  • 什么是Kubernetes?
  • 为什么选择Kubernetes?
  • Kubernetes功能
  • Kubernetes术语
  • Kubernetes和Docker
  • Kubernetes与Docker
听说过很多有关Kubernetes的信息, 但不确定它们是什么吗?
什么是Kubernetes? Kubernetes是负责容器编排的开源工具。它可以自动进行容器部署, 连续扩展和缩放, 容器负载平衡等。
Kubernetes初学者简介

文章图片
Google最初使用Go编程语言开发了Kubernetes。
目前, 它是协调容器的市场领导者。 Kubernetes是托管可动态扩展的微服务应用程序的理想平台。在生产环境中工作时, Kubernetes是用于容器编排的最优选和更安全的平台。
因为在生产环境中, 你预计停机时间为零, 所以群集应始终处于正常运行状态。
借助Google Cloud Platform(GCP), 你只需单击几下即可启动Kubernetes。其他云提供商(例如AWS和Azure)也支持它。并且, 有多个托管的Kubernetes平台可用。
为什么选择Kubernetes? 以前, 开发人员和测试人员之间的斗争是很平常的事情。
以前的环境不同。在开发人员系统上运行的功能未在测试仪系统上运行。
现在, 大多数组织都在使用容器, 由于环境的差异而出现的问题不再发生。
但是组织和运行多个容器也不是一件容易的事。在处理动态应用程序时, 按比例放大/缩小容器的数量是很正常的事情。手动执行此类任务可能很复杂且存在风险。因此, 需要一个容器编排工具, 这就是为什么需要Kubernetes的原因。
Kubernetes功能 有很多, 但以下是一些最好的。
#自动装箱
Kubernetes打包你的应用程序, 它会根据其需求和可用资源自动放置容器
#服务发现和负载平衡
Kubernetes初学者简介

文章图片
Kubernetes会自动将容器的IP地址和DNS名称分配给运行逻辑操作的容器。容器集之间还具有负载平衡功能。
#存储编排
Kubernetes会自动挂载你选择的存储系统。它可以是本地存储, 也可以是公共云提供商(例如AWS)。
#自我修复
每当Kubernetes意识到你的一个容器发生故障时, 它将自行重启该容器, 并创建一个新容器来代替崩溃的容器。万一你的节点发生故障, 在该节点上运行的容器将在集群中另一个正在运行的节点上启动。
#水平缩放
Kubernetes初学者简介

文章图片
你可以使用简单的命令快速扩展和缩小应用程序。可以在CLI上或通过Kubernetes仪表板运行简单命令。也可以自动缩放, 根据CPU使用情况, 你的容器将自动缩放。
#自动回滚和推出
只要你的应用程序有更新, Kubernetes就会逐步推出这些更改并更新应用程序或其配置。并非所有实例都同时更新, 因此可以确保高可用性。如果出现问题, Kubernetes将立即回滚所做的更改。
Kubernetes术语 在变脏之前, 你需要定期了解Kubernetes中使用的一些术语。
#下
它代表集群中运行的一个或多个容器。
#服务
访问pod /应用程序的抽象方法。
#命名空间
它用于删除集群中的名称冲突。它支持同一物理群集上的多个虚拟群集。
#节点
Kubernetes工作者机器。
#集群
由在Kubernetes上运行容器化应用程序的一组节点组成。
#注释
用于存储资源所需数据的标签。
#音量
这是容器访问容器中的数据目录。
#ReplicaSet
正在运行的Pod的多个副本。
# 标签
为Kubernetes对象命名, 以便可以在整个系统中对其进行识别。
#出生
它是在每个节点上运行的代理, 并检查容器是否在容器中运行。
#Kubectl
与Kubernetes API服务器进行交互的命令行实用程序。
#Kube-proxy
网络代理, 它包含集群中每个节点上的所有网络规则。
Kubernetes和Docker 现在你可能在想, Kubernetes与Docker有何不同。 Kubernetes与Docker这句话可能会产生误导。
Docker是一个将OS, 库和应用程序打包在容器内的平台。让我告诉你, Docker所做的与在Kubernetes中要做的相同。但是, 当你仅使用Docker时, 一切都是手动的。你需要手动启动和停止容器。但是有了Kubernetes, 一切都变得自动化了。
【Kubernetes初学者简介】Kubernetes可以调度包含容器的Pod, 然后Kubelet告诉Docker启动或停止容器。 Kubernetes中的Kubelet负责监视那些容器并在主节点上收集它们的信息。因此, 基本的区别在于, 在Kubernetes中, 管理员不是告诉管理员该怎么做, 而是全部自动化。
还有另一个用于容器编排的工具是Docker Swarm。那么, 它们之间有什么区别?
Kubernetes与Docker
州长 Docker
安装复杂 安装简单
更大的开源社区 与Kubernetes相比社区规模较小
可以轻松整理数百个容器 适合编排10-20个容器
Kubernetes仪表板提供GUI 没有GUI
支持自动缩放 不支持自动缩放
通过自动回滚支持滚动更新 支持滚动更新, 但不支持自动回滚
内置日志记录和监控 需要像ELK这样的第三方来进行记录和监视
可以与同一容器中的容器共享体积 可以与集群中的任何容器共享卷
总结
我希望现在你对什么是Kubernetes及其如何有一个基本的了解。如果你学习DevOps或打算进入, 那么我建议你参加这门奇妙的Udemy课程来学习Kubernetes。

    推荐阅读