kubernetes相关概念

kubernetes ginotang 1335℃ 0评论

K8S的重要组件

master中的组件

K8S包括master和node,它们各自运行着不同的组件。其中master节点中运行着一些重要组件,这些组件都以容器的形式运行。

这些组件包括:

  • apiserver 用于暴露Kubernetes API。任何的资源请求/调用操作都是通过kube-apiserver提供的接口进行
  • controller-manager 由多个控制器线程组成,这些控制器通常是一个独立的进程。
  • scheduler 调度器。用于为pod选择合适的node进行部署
  • etcd 集群信息中心。所有Kubernetes需要的信息都保存在etcd中,例如网络配置、节点配置等

controller-manager由以下controller组成

  • Node控制器 用于监控节点的状态,例如up或down
  • Replication控制器 用于维护节点中的pod数量
  • Endpoints控制器 填充Endpoint对象,例如连接service和pod
  • Service Account 和Token控制器 为新的Namespace创建默认帐户访问API Token。

通过下面的命令可以查询这些组件的运行情况

也可以通过下面的命令检查组件状态是否健康

node中的组件

node的作用相对来说没有那么重要,因此node节点中的组件比master的少,主要有:

  • kube-proxy
  • kubelet

kube-proxy通过在主机上维护网络规则并执行连接转发来实现Kubernetes服务抽象,例如service和pod通讯。

kubelet是node节点执行命令的前端,apiserver可以直接和kubelet通讯。它不是以容器的方式执行,而是systemd的形式。

相关概念

这些概念主要是controller,包括Pod、ReplicaSet、Deployment、Namespace等。

Pod

Pod是Kubernetes创建或部署的最小/最简单的基本单位,一个Pod可以封装一个或多个容器,同一个Pod中的所有容器共享所有资源。

Kubernetes中的Pod使用可分两种主要方式:

  • Pod中运行一个容器。“one-container-per-Pod”模式是Kubernetes最常见的用法; 在这种情况下,你可以将Pod视为单个封装的容器,但是Kubernetes是直接管理Pod而不是容器。
  • Pods中运行多个需要一起工作的容器。Pod可以封装紧密耦合的应用,它们需要由多个容器组成,它们之间能够共享资源,这些容器可以形成一个单一的内部service单位 – 一个容器共享文件,另一个“sidecar”容器来更新这些文件。Pod将这些容器的存储资源作为一个实体来管理。

ReplicaSet

ReplicaSet和前面说过的Replication Controller类似。ReplicaSet也是控制器,用于管理Pod在节点中的数量,在旧版的K8S中使用的是Replication Controller,但新版中建议使用ReplicaSet。

Deployment

Deployment也是其中一种控制器,Deployment处于比ReplicaSet更高的一个层次。我们都知道Pod由ReplicaSet管理,而ReplicaSet则由Deployment管理,因此我们很少有必要直接使用ReplicaSet控制器,更多的是使用Deployment。

Namespace

名称空间用于对Pod进行逻辑隔离,不同Namespace中的Pod不能进行通讯。用户创建的Pod在default名称空间中运行,Kubernetes的核心组件运行在kube-system名称空间中。

获取所有名称空间

获取特定名称空间组的Pod

Kubernetes对象

K8S对象实际上是一个描述性文件,通常是yaml格式。K8S对象通常有以下作用

  • 描述Pod中容器的特征,例如应该在哪个节点运行
  • 描述容器可用的资源
  • 描述容器的运行策略,例如升级和容错策略等

K8S通过kubectl apply命令使用这些对象,例如下面定义了一个Deployment的对象

然后就可以通过这个对象创建Deployment,假如文件名称是nginx.yaml:

对象参考

对象文件应该如何编写,估计很多人难以记得,因为涉及的参数太多。因此官方提供了API参考,编写的时候就可以跟着这份文档来做,慢慢就熟悉了

Kubernetes API Reference Docs

转载请注明:Pure nonsense » kubernetes相关概念

喜欢 (0)
0 0 投票数
文章评分
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x
()
x