Kubernetes(k8s)中几个概念理解

注:本文(包括图片)仅供学习。

文章目录

    • Kubenetes(k8s)
      • 什么是Kubenetes?
      • Kubenetes可以做什么?
      • Kubenetes中涉及的一些概念
        • 容器 container
        • Pod
        • 标签 Label
        • 服务 Service
        • 节点 Node
        • 集群 Cluster
      • 更多参考资料

Kubenetes(k8s)

什么是Kubenetes?

Kubernetes(k8s)是容器编排引擎,是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。
Docker便是一中典型的容器技术。当然,k8s不仅仅支持Docker,还支持Rocket,这是另一种容器技术。

Kubenetes可以做什么?

使用 Kubernetes 可以:

  • 自动化容器的部署和复制
  • 随时扩展或收缩容器规模
  • 将容器组织成组,并且提供容器间的负载均衡
  • 很容易地升级应用程序容器的新版本
  • 提供容器弹性,如果容器失效就替换它,等等…

换句话说,k8s方便了对容器的管理,有些是手动的,有些完全是自动管理的。

Kubenetes中涉及的一些概念

我刚刚接触 k8s 不久,刚刚接触的时候,对 k8s 的很多概念以及概念之间的关系没能理清楚,以至于给之后的工作带来了不小的困惑。理解这些概念不难,但很有必要。

容器 container

Kubenetes中容器(container)的概念和Docker中容器的概念相同,不同的容器(container)在文件资源和系统资源上是独立的。

比如从 docker 的镜像仓库中 pull 了一个镜像 image1,然后在本地执行 run 命令,那么就会在本地建立一个 container 容器。

Pod

Pod 是一组容器(container)的集合,这些容器共享相同的运行环境和一些资源,它们(container)之间通过远程过程调用(RPC)通信。不同容器之间在文件和系统资源上是独立的,但有时候在逻辑上也是需要有耦合的,比如一个web服务器容器和缓存容器。可以认为 Pod 是逻辑边界,不同 Pod 之间逻辑上是独立的。

Kubernetes(k8s)中几个概念理解_第1张图片

标签 Label

Label 是 Pod 的一个属性,方便对 Pod 进行聚类(找到从属的服务 Service)。

服务 Service

Service 是定义一系列 Pod 以及访问这些 Pod 的策略的一层抽象。Service 通过 Label 找到 Pod 组。因为Service 是抽象的,所以在图表里通常看不到它们的存在。
Service 拥有固定的 IP 地址,且能够在 Pod 之间实现负载均衡(LoadBalancer 服务)。

Kubernetes(k8s)中几个概念理解_第2张图片

节点 Node

节点是物理或者虚拟机器,比如一台台式机、笔记本,或者虚拟主机、云主机等 。每个节点都运行如下 Kubernetes 关键组件:

  • Kubelet:是主节点代理。
  • Kube-proxy:Service 使用其将链接路由到Pod,如上文所述。
  • Docker 或 Rocket:Kubernetes 使用的容器技术来创建容器。

集群 Cluster

集群是一组节点,这些节点可以是物理服务器或者虚拟机,之上安装了 Kubernetes 平台。
Kubernetes(k8s)中几个概念理解_第3张图片
更多的示意图
Kubernetes(k8s)中几个概念理解_第4张图片
Kubernetes(k8s)中几个概念理解_第5张图片

更多参考资料

https://blog.frognew.com/2017/04/kubernetes-overview.html
https://zhuanlan.zhihu.com/p/40927470
http://www.dockone.io/article/932
https://blog.csdn.net/tengxy_cloud/article/details/52847156
https://m635674608.iteye.com/blog/2360792
https://blog.csdn.net/weixin_38070561/article/details/82702024
https://thenewstack.io/how-kubernetes-is-transforming-into-a-universal-scheduler/
https://thenewstack.io/kubernetes-an-overview/
https://thenewstack.io/explore-multicloud-deployments-aci-connector-kubernetes/
https://thenewstack.io/find-perfect-kubernetes-distribution/
https://thenewstack.io/strategies-running-stateful-applications-kubernetes-pet-sets/
https://thenewstack.io/taking-kubernetes-api-spin/

你可能感兴趣的:(技术)