贺胖娇的编程之旅......

kubenetes权威指南1-2章

2020.05.16

kubenetes是什么

k8s是一个全新的基于容器技术的分布式架构领先方案,一个开放的开发平台,一个完备的分布式系统支撑平台

k8s重要资源对象介绍

Master

概念介绍

k8s中的Master指的是集群控制节点,在每个集群里都需要有一个Master来负责整个集群的管理和控制。

关键进程

(1)Kubenetes API Server(kube-apiserver):提供了HTTP Rest接口的额关键服务进程,是 kubenetes里所有资源的增删改查等操作的唯一入口,也是集群控制的入口进程
(2)kubenetes Controller Manager(kube-controller-manager):kubenetes里所有资源对象的自动化控制中心,可以将其理解为资源对象的大总管
(3)Kubenetes Scheduler(kube-scheduler):负责资源调度(Pod调度)的进程,相当于哦公交公司的调度室

Node

概念介绍

除了Master,Kubenetes集群中的其他机器被称为Node。Node是集群中的工作负载节点,每个Node都会被Master分配一些工作负载(Docker容器),当某个Node宕机时,其上的工作负载会被Master自动转移到其他节点上

关键进程

(1)kubelet:负责Pod对应的容器的创建、启停等任务,同时与Master密切协作,,实现集群管理的基本功能
(2)kube-proxy:实现kubenetes Service的通信与负载均衡的重要组件
(3)Docker Engine:负责本机的容器的创建和管理工作

Pod

概念介绍

在Kubernetes中,最小的管理元素不是一个个独立的容器,而是Pod,Pod是最小的,管理,创建,计划的最小单元.

部分概念

(1)可以设置限额的计算资源有CPU和Memory两种:
  通常以千分之一的CPU配额为最小单位,用m来表示
  Memory配额也是一个绝对值,单位是内存字节数
(2)Event是一个事件的记录,记录了事件的最早产生事件,最后重现事件,重复次数,发起者,类型,以及导致此事件的原因等众多信息。

Label

概念

一个Label是一个key=value的键值对,可类似于sql查询语句一样来进行查询

Deployment

Deployment内部使用了Replica Set来实现目的

kubectl的create命令和apply命令的区别

kubectl create:

(1)kubectl create命令,是先删除所有现有的东西,重新根据yaml文件生成新的。所以要求yaml文件中的配置必须是完整的

(2)kubectl create命令,用同一个yaml 文件执行替换replace命令,将会不成功,fail掉。

kubectl apply:

kubectl apply命令,根据配置文件里面列出来的内容,升级现有的。所以yaml文件的内容可以只写需要升级的属性

发表评论