Kubernetes入门:Pod、节点、容器和集群都是什么?

转载 2018年04月16日 19:41:02

文章地址:

http://mini.eastday.com/bdmip/180103191329488.html


Kubernetes正迅速成为云计算中部署和管理软件的新标准。不过,Kubernetes既然能提供极高的价值,也肯定会附带一个陡峭的学习曲线。作为一个新手,试图解析官方文档可能会很困难。这个系统由许多不同的片段组成,并且很难区分哪些与你的用例相关。这篇文章将提供Kubernetes的简化视图,但它会对最重要的组件和它们如何组合在一起提供一个高层次的概述。

节点是Kubernetes中最小的计算硬件单元。它是集群中单个机器的表示。在大多数生产系统中,节点很可能是数据中心中的物理机器,或者是托管在像谷歌云平台这样的云供应商上的虚拟机。不过,不要让惯例限制了你的想象力,从理论上讲,你可以把任何东西做成一个结点。

把机器看作一个“节点”,可以让我们插入一个抽象层。现在,我们不必担心任何单个机器的独特特性,而是可以简单地将每台机器看作一组可以使用的CPU和RAM资源。这样,任何机器都可以替代Kubernetes集群中的任何其他机器。


集群(Cluster)

虽然使用单个节点是有用的,但它与Kubernetes理念不同。一般来说,你应该将集群看作一个整体,而无需担心单个节点的状态。

在Kubernetes中,节点汇聚资源,形成更强大的机器。当你将程序部署到集群中时,它将智能地处理将工作分配给你的各个节点。如果添加或删除了任何节点,集群将根据需要在工作中进行转换。这对程序或程序员来说都不重要,因为机器实际上是在运行代码。

如果这种类似“母巢”的系统让你想起《星际迷航》中的Borg,实话告诉你,你不是一个人,“Borg”是Kubernetes内部谷歌项目的名称。

容器(Container)

在Kubernetes上运行的程序被打包成Linux容器。容器是一个被广泛接受的标准,因此已经有许多预先构建的映像可以部署在Kubernetes上。

容器化允许你创建自足式的Linux执行环境。任何程序和它的所有依赖项都可以打包成一个文件,然后在网络上共享。任何人都可以下载该容器并在其基础设施上部署它,所需的设置非常少。创建一个容器可以通过编程方式完成,从而形成强大的CI和CD管道。

可以将多个程序添加到单个容器中,但是如果可能的话,你应该将自己限制为每个容器的一个进程。拥有很多小容器比一个大容器好。如果每个容器都有一个紧密的焦点,那么更新更容易部署,并且问题更容易诊断。



Kubernetes学习4--容器之间通讯方式及Flannel工作原理

接着上一篇的创建完pod后,自然会考虑到容器之间的通讯方式,也整理总结下其通讯方式及详细介绍下Flannel的工作原理。 一. 容器之间通讯方式 k8s里面容器是存在于pod里面的,所以容器之间通...
  • weixin_29115985
  • weixin_29115985
  • 2018年01月03日 20:18
  • 392

Kubernetes 对象之Pod(重点)

Kubernetes 对象之Pod Kubernetes的Pod Pod是Kubernetes创建或部署的最小/最简单的基本单位。 一个Pod代表集群上正在运行的一个进程。 一个Pod封装一个应用容...
  • ChenVast
  • ChenVast
  • 2017年11月22日 11:16
  • 503

Kubernetes Pod

Kubernetes PodPod是一个Kubernetes抽象,表示一组一个或多个应用程序容器(如Docker或rkt)以及这些容器的一些共享资源。这些资源包括:共享存储,作为卷网络,作为唯一的集群...
  • Coder_501
  • Coder_501
  • 2018年02月23日 13:38
  • 57

Kubernetes 1.5 实践 给Pod中的容器定义命令和参数

Kubernetes 1.5 实践 给Pod中的容器定义命令和参数defining a Command and Arguments for a Container 给容器定义一个命令和参数。This...
  • wenwst
  • wenwst
  • 2017年02月09日 10:34
  • 3210

Kubernetes系列04:深入掌握Pod

本节将对kubernetes如何发布和管理应用进行说明和示例,主要包括Pod和容器的使用、Pod的控制和调度、应用配置管理等内容。 1.Pod定义详解 yaml格式的Pod定义文件的完整内容:...
  • levy_cui
  • levy_cui
  • 2017年04月20日 19:55
  • 1278

kubernetes单个pod运行两个容器yaml文件实践

kubernetes单个pod运行两个容器yaml文件实践-1. rc的yaml文件 apiVersion: v1 kind: Replicationtroller ...
  • zhangxiangui40542
  • zhangxiangui40542
  • 2017年03月18日 20:31
  • 1415

Kubernetes1.3新特性:POD中的初始化容器

在kubernetes1.3的POD中,有两类容器,一类是系统容器(POD Container),一类是用户容器(User Container),在用户容器中,现在又分成两类容器,一类是初始化容器(I...
  • horsefoot
  • horsefoot
  • 2016年08月16日 15:10
  • 15318

kubernetes 容器内获取Pod信息(包括:宿主主机IP)

kubernetes 自从1.7开始,可以在pod 的container 内获取pod的spec,metadata 等信息。具体方法可以通过env获取: env: - nam...
  • kozazyh
  • kozazyh
  • 2018年03月06日 21:21
  • 286

Kubernetes容器集群中的日志系统集成实践

http://weixin.niurenqushi.com/article/2016-07-01/4349108.html Kubernetes是原生的容器编排管理系统,对于负载均衡、服务发...
  • liukuan73
  • liukuan73
  • 2016年09月13日 09:01
  • 2853

从 Kubernetes 谈容器网络

Pod 首先,Kubernetes 中的基本单元是 Pod,而非 Docker 容器。 Pod 是一组共享了下面资源的容器: 进程命名空间 网络命名空间 IPC 命名空间 UTS 命名空间 简单...
  • yeasy
  • yeasy
  • 2015年06月10日 16:54
  • 6134
收藏助手
不良信息举报
您举报文章:Kubernetes入门:Pod、节点、容器和集群都是什么?
举报原因:
原因补充:

(最多只允许输入30个字)