从零开始入门 K8s | 详解 K8s 容器基本概念

论坛 期权论坛     
选择匿名的用户   2021-5-30 01:15   724   0
<h3>Kubernetes 有如下几个核心的功能:</h3>
<p>服务的发现与负载的均衡;</p>
<p>容器的自动装箱,我们也会把它叫做 scheduling,就是“调度”,把一个容器放到一个集群的某一个机器上,Kubernetes 会帮助我们去做存储的编排,让存储的声明周期与容器的生命周期能有一个连接;</p>
<p>Kubernetes 会帮助我们去做自动化的容器的恢复。在一个集群中,经常会出现宿主机的问题或者说是 OS 的问题,导致容器本身的不可用,Kubernetes 会自动地对这些不可用的容器进行恢复;</p>
<p>Kubernetes 会帮助我们去做应用的自动发布与应用的回滚,以及与应用相关的配置密文的管理;</p>
<p>对于 job 类型任务,Kubernetes 可以去做批量的执行;</p>
<p>为了让这个集群、这个应用更富有弹性,Kubernetes 也支持水平的伸缩。</p>
<h3>Kubernetes 特点</h3>
<p>可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)</p>
<p>可扩展: 模块化, 插件化, 可挂载, 可组合</p>
<p>自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展</p>
<h3 id="三kubernetes的架构">Kubernetes 的架构</h3>
<p>KubernetesKubernetes 是典型的中控分布式架构(Central control distributed architecture)Master 作为中央的管控节点,会去与 Node 进行一个连接。下面分别列举 Master、Node 的组件。所有 UI 的、clients、这些 user 侧的组件,只会和 Master 进行连接,把希望的状态或者想执行的命令下发给 Master,Master 会把这些命令或者状态下发给相应的节点,进行最终的执行。</p>
<p><img alt="file" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-a789384b3290dec636ad7ddebaf06981"></p>
<p><strong>Kubernetes 的架构:Master</strong></p>
<p>Master组件提供集群的管理控制中心,可以在集群中任何节点上运行。但是为了简单起见,通常在一台VM/机器上启动所有Master组件,并且不会在此VM/机器上运行用户容器。</p>
<p><strong>etcd</strong>:是一个分布式的一个存储系统,提供高可用性、严格数据一致性的非关系型数据库,API Server 中所需要的这些原信息都被放置在 etcd 中,etcd 本身是一个高可用系统,通过 etcd 保证整个 Kubernetes 的 Master 组件的高可用性。具有共享配置、服务发现、分布式等特点。常被用于构建服务发现系统。</p>
<p><strong>kube-apiserver</strong>:任何的资源请求/调用操作都是通过kube-apiserver提供的接口进行,依靠 CA 认证体系提供身份认证、授权、鉴权等访问控制功能,统称 3A(Authenkube-apiservertication、Authorization、Admission)Kubernetes 中所有的组件都会和 API Server 进行连接,组件与组件之间一般不进行独立的连接,都依赖于 API Server 进行消息的传送;</p>
<p><strong>kube-scheduler</strong>:资源调度器,按照预设的策略将 Pod 调度到目的(最佳)Node 上启动。</p>
<p><strong>Controller:</strong>是控制器,它用来完成对集群状态的一些管理。比如刚刚我们提到的两个例子之中,第一个自动对容器进行修复、第二个自动进行水平扩张,都是由 Kubernetes 中的 Controller 来进行完成的;</p>
<p>Controller又分为运行管理控制器(<strong>kube-controller-manager</strong>)和云控制器管理器负责(<strong>cloud-controller-manager</strong>)与底层云提供商的平台交互</p>
<ul><li> <p><strong>kube-controller-manager</strong>:运行管理控制器、中央控制管理器,Cluster 的核心管理模块,负责整个 Cluster 的 “运”(e.g. 故障检测、弹性扩展、滚动更新,etc.)<strong>kube-controller-manager</strong>控制器包括:</p> </li></ul>
<ol><li>节点(Node)控制器。</li><li>副本(Replication)控制器:负责维护系统中每个副本中的pod。</li><li>端点(Endpoints)控制器:填充Endpoints对象(即连接Services&Pods)。</li><li>Service Account和Token控制器:为新的Namespace 创建默认帐户访问API Token。</li></ol>
<ul><li> <p id="cloud-controller-manager"><strong>cloud-controller-manager:</strong>云控制器管理器负责与底层云提供商的平台交互。云控制器管理器是Kubernetes版本1.6中引入的,目前还是Alpha的功能。</p> <p>云控制器管理器仅运行云提供商特定的(controller loops)控制器循环。可以通过将<code>--cloud-provider</code> flag设置为external启动kube-controller-manager ,来禁用控制器循环。<strong>cloud-controller-manager 具体功能</strong>:</p> </li></ul>
<ol><li>节点(Node)控制器</li><li>路由(Route)控制器</li><li>Service控制器</l
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP