kubernetes基本概念和术语
 
kubeernetes中的大部分概念如Node,Pod,Replication Controller ,Serverce等都可以看作一种“资源对象”,几乎所有的资源对象都可以通过
kubernetes提供的kubectl工具(或者API编程调用)执行增删改查等操作并将其保存在etcd中持久化存储。从这个角度来看,kubernetes其实
是一个高度自动化的资源控制系统,它通过跟踪对比etcd库里保存的“资源期望状态”与当前环境中的“实际资源状态”的差异来实现自动控制
和自动纠错的高级功能。
 
Master
 
Master:集群控制节点。每个Kubernetes集群里需要有一个Master节点来负责整个集群的管理和控制。基本上Kubernetes所有的控制命令都是
发给它,它来负责具体的执行过程,我们后面所有执行的命令都是在Master节点上运行的。Master节点通常会占据一个独立的X86服务器(或者
一个虚拟机),一个主要的原因是它太重要了,它是整个集群的“首脑”,如果它宕机或者不可用,那么我们所有的控制命令都失效。
在Master节点上运行着一下一组关键进程:
Kuberneres API Server(kube-apiserver),提供了HTTP Rest 接口的关键服务进程,是Kubernetes里所有资源的增删改查等操作的唯一入口,也是
集群控制的入口进程。
Kubernetes Controller Manager ,Kubernetes里所有资源对象的自动化控制中心,可以理解为资源对象的“大总管”。
Kubernetes Scheduler ,负责资源调度的进程,相当于公交司机的“调度室”
其实Master节点上往往还启动了一个etcd Server 进程,因为Kubernetes里所有的资源对象的数据全部是保存在etcd中。
Node
 
除了Master ,Kubernetes集群中的其他机器被称为Node节点。和Master一样,Node节点可以是一台物理主机,也可以是一台虚拟机。Node节点
才是Kubernetes集群中的工作负载节点,每个Node都会被Master分配一些工作负载(Docker容器),当某个Node宕机时,其上的工作负载会被
Master自动转移到其他节点上去。
每个Node节点上都运行着一组关键进程:

kubelet:负责Pod对应的容器的创建,启停等任务,同时与Master节点密切协作 ,实现集群管理的基本功能。
kube-proxy: 实现Kubernetes Service的通信与负载均衡机制的重要组建。
Docker Engine(docker):Docker引擎,负责本机的容器创建和管理工作。
Node 节点可以在运行期间动态增加到Kubernetes集群中,一旦Node被纳入集群管理范围,kubelet进程就会定时向Master节点汇报自身的情报,
例如操作系统,Docker版本,机器的CPU和内存情况,以及之前有哪些Pod在运行等,这样Master可以获知每个Node的资源使用情况,并实现
高效均衡的资源调度策略。而某个Node超过指定时间不上报信息时,会被Master判定为"失联",Node的状态被标记为不可用(not ready),随后Master
会触发“工作负载大转移”的自动流程。
查看集群中有多少个Node:
kubectl get nodes
查看某个nodede 详细信息:
kubectl describe node <node name>
Pod
 
pod是kubernetes的最重要也是最基本的概念,Pod是Kubernetes最基本的操作单元,包含一个或多个紧密相关的容器,一个Pod是一组相关容器的组合。一个Pod可以被一个容器
化的环境看作应用层的“逻辑宿主机”;每个Pod都有一个特殊的容器被称为"根容器"的Pause容器。Pause容器对应的镜像是Kubenetes平台的一部分,
除了Pause容器, 每个Pod还包含一个或多个紧密相关的用户业务容器。为何Kubernetes会设计出一个Pod概念呢?
每个容器都代表一个应用,一组相关容器要相互通信,在一个Pod中,多个业务容器共享Pause容器的IP,共享Pause容器挂接的Volume,这样既简化了密切
关联的关系密切的关系容器之间的通信问题,也解决了他们之间的文件共享问题
 
 

 Service

在Kubernetes的世界里,虽然每个Pod都会被分配一个单独的IP地址,但这个IP地址会随着Pod的销毁而消失,这就引出一个问题:如果有一组Pod组成一个集群来提供服务,那么如何来访问它呢?Service!

一个Service可以看作一组提供相同服务的Pod的对外访问接口,Service作用于哪些Pod是通过Label Selector来定义的。

  • 拥有一个指定的名字(比如my-mysql-server);
  • 拥有一个虚拟IP(Cluster IP、Service IP或VIP)和端口号,销毁之前不会改变,只能内网访问;
  • 能够提供某种远程服务能力;
  • 被映射到了提供这种服务能力的一组容器应用上;

如果Service要提供外网服务,需指定公共IP和NodePort,或外部负载均衡器;

NodePort 
系统会在Kubernetes集群中的每个Node上打开一个主机的真实端口,这样,能够访问Node的客户端就能通过这个端口访问到内部的Service了

 

k8s上的基础概念和术语的更多相关文章

  1. k8s 基础概念和术语

    Master k8s里的master指的是集群控制节点,每个k8s集群里需要有一个Master节点来负责整个集群的管理和控制,基本k8s所有控制命令都发给它,它负责整个具体的执行过程,后面执行操作基本 ...

  2. k8s之Pod基础概念

    1. 资源限制 Pod是kubernetes中最小的资源管理组件,Pod也是最小化运行容器化应用的资源对象.一个Pod代表着集群中运行的一个进程.kubernetes中其他大多数组件都是围绕着Pod来 ...

  3. 深入解析Windows操作系统笔记——CH1概念和术语

    1.概念和工具 本章主要介绍Windows操作系统的关键概念和术语 1.概念和工具 1.1操作系统版本 1.2基础概念和术语 1.2.1Windows API 1.2.2 服务.函数和例程 1.2.3 ...

  4. 【k8s】基础概念 + 工作原理

    工作原理: 原理图 工作原理描述: 1>用户通过kubectl或者API server的REST API接口,提交需要运行的docker容器(创建pod请求): 2>api server将 ...

  5. k8s记录-k8s基本概念和术语

    每次个节点上当然都要运行Docker.Docker来负责所有具体的映像下载和容器运行. Kubernetes主要由以下几个核心组件组成: etcd保存了整个集群的状态: apiserver提供了资源操 ...

  6. K8s(一)----容器编排工具基础概念

    kubernetes(k8s)容器编排工具基础概念 Kubernetes (K8s): 中文社区:https://www.kubernetes.org.cn/replication-controlle ...

  7. Kubernetes(K8s)基础概念 —— 凿壁偷光

    Kubernetes(K8s)基础概念  --  凿壁偷光 K8s是什么:全称 kubernetes  (k12345678s) 作用:用于自动部署,扩展和管理"容器化应用程序"的 ...

  8. Kubernetes学习之基础概念

    本文章目录 kubernetes特性 kubernetes集群架构与组件 一.kubernetes集群架构 二.集群组件 三.ubernetes集群术语 深入理解Pod对象 一.Pod容器分类 基础容 ...

  9. 什么是JavaScript闭包终极全解之一——基础概念

    本文转自:http://www.cnblogs.com/richaaaard/p/4755021.html 什么是JavaScript闭包终极全解之一——基础概念 “闭包是JavaScript的一大谜 ...

随机推荐

  1. php php-fpm、nginx和js

    1 php-fpm是什么 php-fpm是php fastCGI process manager的缩写.它是php的进程管理器,对每个请求的处理都是一个进程. php-fpm管理了一个进程池,假如进程 ...

  2. [转帖]深入理解 MySQL—锁、事务与并发控制

    深入理解 MySQL—锁.事务与并发控制 http://www.itpub.net/2019/04/28/1723/ 跟oracle也类似 其实所有的数据库都有相同的机制.. 学习了机制才能够更好的工 ...

  3. 类———用类定义对象———error:C++表达式必须包含类类型

    //原文参考https://blog.csdn.net/lanchunhui/article/details/52503332 你以为你定义了一个类的对象,其实在编译器看来你是声明了一个函数 clas ...

  4. 题解 AT1357 【n^p mod m】

    此题就是快速幂取模 先简单讲一讲快速幂 首先,快速幂的目的就是做到快速求幂,假设我们要求a^b,按照朴素算法就是把a连乘b次,这样一来时间复杂度是O(b)也即是O(n)级别,快速幂能做到O(logn) ...

  5. linux下安装phpunit

    安装pear 的命令如下: $ wget http://pear.php.net/go-pear.phar $ php go-pear.phar 如果报出PHP Warning:  file_exis ...

  6. 网络 osi七层协议

    一 互联网的本质 咱们先不说互联网是如何通信的(发送数据,文件等),先用一个经典的例子,给大家说明什么是互联网通信. 现在追溯到八九十年代,当时电话刚刚兴起,还没有手机的概念,只是有线电话,那么此时你 ...

  7. python递归方式和普通方式实现输出和查询斐波那契数列

    ●斐波那契数列 斐波那契数列(Fibonacci sequence),是从1,1开始,后面每一项等于前面两项之和. 如果为了方便可以用递归实现,要是为了性能更好就用循环. ◆递归方式实现生成前30个斐 ...

  8. IDEA闪退问题

    这段时间经常遇到IDEA闪退的问题,在网上搜了一大堆的博客,无外乎是说让修改下面两个文件,但是改来改去没什么卵用,最后重装IDEA,一样的,没什么用.持续时间有几个月了,内心也有点崩溃,昨天下午彻底心 ...

  9. android——屏幕适配

    一,基本概念 1:dip: 其实也就是dp,与像素无关 2:px: 像素,在安卓布局中不用px,因为每个手机像素不同,px显示的布局大小也就不同 3:dpi: 通俗点就是每英寸多少个像素,简称像素密度 ...

  10. linux MySql 在 Master 主从复制配置

    在 Master 服务器上建立用于 Slave 服务器复制数据的帐户 [root@master ~]# mysql mysql> grant replication slave,replicat ...