kubernetes 基础概念学习

kubernetes基础概念
1)master/node的几个守护进程
master :API Server(提供了k8s各类资源对象(Pod,RC,service)的增,删,改,查及HTTP REST接口)
???????????????Scheduler(负责Pod调度,通过调度算法为待调度Pod列表的每个Pod从Node列表中选择一个最适合的Node,并将信息写入etcd中。kubelet通过API Server监听到kubernetes Scheduler产生的Pod绑定信息,然后获取对应的Pod清单,下载Image,并启动容器。)
???????????????Controller-Manager(作为集群内部的管理控制中心,负责集群内的Node、Pod副本、服务端点(Endpoint)、命名空间(Namespace)、服务账号(ServiceAccount)、资源定额(ResourceQuota)的管理,当某个Node意外宕机时,Controller Manager会及时发现并执行自动化修复流程,确保集群始终处于预期的工作状态)
总结:API server 接受请求 > scheduler控制器调度启动pod>Controller Manager确保schedule 正常
node:kubelet(每个Node节点都会启动kubelet进程,用来处理Master节点下发到本节点的任务,管理Pod和其中的容器。kubelet会在API Server上注册节点信息,定期向Master汇报节点资源使用情况,并通过cAdvisor监控容器和节点资源。可以把kubelet理解成【Server-Agent】架构中的agent,是Node上的pod管家。),docker,kube-proxy
pod(为了统一管理集群上面的大量的像POD一样的资源,添加元数据信息)
???????Label: key=value(类型数据)
????????? Pod :分两类
????????????? 1)自主式pod(指定调度到某节点,如节点down pod 无法恢复)
????????????? 2)控制器管理pod 一般有如下控制器 不同类型的控制用于不同类似的pod

   ???????????????????          ReplicationController(控制副本数,滚动更新)
            ????????????????????ReplicaSet(升级后的控制器)
   ???????????????????          Deployment(一般使用此声明式管理器)只能用于无状态应该
            ????????????????????statefulset 有状态副本集控制器

??????????????????? DaemonSet 使用此控制器部署的副本 会在每一个node上面都有
?????????????????????job,ctonjod 作业 计划作业 (如备份操作,或者计划任务之类的 或者数据清理 用这个控制器)
HPA控制器(HorizontalPodAutoscaler)自动伸缩控制器,比如限制CPU 利用率60% 如果超过这个设定值就会创建新的pod)
service服务发现 相当于一个ipvs dnat 规则
K8S网络模型(附件一般有两种:flannel(网络配置,calico既能网络配置也网络策略),canel(使用flanel的网络和calico 的网络策略) 应对多租户的网络安全隔离使用namespace+网络策略 进行隔离

各个pod一网段地址:
1)同一pod内多个容器间通信:lo
2)各pod之间通信
3) pod 与service 的通信
service 一网段地址
node 一网段地址

原文地址:http://blog.51cto.com/1014810/2320664

时间: 2024-07-30 05:20:12

kubernetes 基础概念学习的相关文章

kubernetes基础入门之-配置kubernetes skyDNS服务

kubernetes基础入门之-安装部署配置示例 部署kubernetes skyDNS  kubernetes可以为pod提供dns内部域名解析服务. 其主要作用是为pod提供可以直接通过service的名字解析为对应service的ip的功能! 1.首先在各节点的kubelet 进程中添加选项: KUBELET_ARGS="--cluster_dns=10.254.0.10 --cluster_domain=kube.local" [Master 节点操作如下:] [[email 

kubernetes基础

(1)什么是Kubernetes? Kubernetes是一个在集群主机间进行自动化部署.扩展和容器操作的提供以容器为中心基础设施的开源平台. 通过Kubernetes,你可以快速有效地响应用户需求: 快速而有预期地部署你的应用 极速地扩展你的应用 无缝铺展新的应用功能 节省资源,优化硬件资源的使用 我们的目标是孕育一个组件和工具的生态系统以资源在公有云和私有云中运行的应用的负担. Kubernetes特点: 可移植: 支持公有云,私有云,混合云,复合云 可扩展: 模块化,热插拨,可组合 自愈:

Kubernetes基础篇:主要特性、基本概念与总体架构

Kubernetes基础篇:主要特性.基本概念与总体架构 本文试图将Kubernetes的基础相关知识描述清楚,让一个从来没有Kubernetes实践的开发人员,能够非常容易地理解Kubernetes是什么,能够做哪些事情,以及使用它能带来的好处是什么. Kubernetes是什么 Kubernetes是一个开源的容器编排引擎,它支持自动化部署.大规模可伸缩.应用容器化管理.我们在完成一个应用程序的开发时,需要冗余部署该应用的多个实例,同时需要支持对应用的请求进行负载均衡,在Kubernetes

kubernetes基础操作命令

#kubernetes 基础命令及操作##获取集群的基本信息kubectl cluster-infokubectl get nodeskubectl get namespaceskubectl get deployment --all-namespaceskubectl get svc --all-namespaceskubectl get podkubectl get pod -o wide --all-namespaceskubectl logs podName##创建pod或srvkube

Kubernetes/2.Kubernetes基础和部署说明

Kubernetes基础和部署说明 本章节首先就基础组件.集群基础对象和控制器进行了详细的介绍和说明,然后辨析了集群网络中的三种网络和专有名词,最后关于新手部署测试和生产环境的部署要点进行了归纳说明. 基础组件 基础对象(Objects) 控制器 集群网络 部署要点 备注 基础组件 如图所示,kubernetes集群中主要分为三个组件: Master Components kube-apiserver:作为k8s控制平面的前端,也是所有请求接收的入口 etcd:k8s集群后端所有集群数据的高可用

Kubernetes/1.Kubernetes基础

Kubernetes基础 本章主要让我们初步了解到Kubernetes的主要组件有哪些,以及其协作关系是怎么样的. 架构图 流程概述 参考文档 备注 架构图 Master节点:(又称为控制平面:control plane) 包括kube-apiserver.kube-scheduler.kube-controller-manager和etcd四个组件. kube-apiserver: 是一个将Kubernetes控制平面中的API暴露出来的API服务,这服务是Kubernetes控制平面的前端.

Kubernetes基础概念总结

1.基础架构 1.1 Master Master节点上面主要由四个模块组成:APIServer.scheduler.controller manager.etcd. APIServer.APIServer负责对外提供RESTful的Kubernetes API服务,它是系统管理指令的统一入口,任何对资源进行增删改查的操作都要交给APIServer处理后再提交给etcd.如架构图中所示,kubectl(Kubernetes提供的客户端工具,该工具内部就是对Kubernetes API的调用)是直接

kubernetes基础学习(基于自己对公司k8s知识普及的ppt)

前言: 公司算是很早一批使用k8s(kubernetes)的那一群,印象中是17年下半年就开始使用,也算是kubernetes使用的先驱之一了,从刚开始认识k8s到现在使用接近2年,陆陆续续从入门学习,到现在玩的还算溜,也踩过N多坑,血泪史也是一篇接一篇的,虽然用了两年多,公司很多人还是不太了解这个东西到底是啥,于是乎,在领导推动下,我写了一篇基础的关于kubernetes的介绍,事先说明,此文技术干货很少,大多数是理论介绍(虽然网上资料很多,我也算是收集了一下.),尽量用简单明了的方式去介绍这

kubernetes基础概念知多少

kubernetes(简称k8s)是一种用于在一组主机上运行和协同容器化应用程序的管理平台,皆在提供高可用.高扩展性和可预测性的方式来管理容器应用的生命周期.通过k8s,用户可以定义程序运行方式.部署升级策略.动态伸缩容,使得用户以一种更灵活可靠的方式来管理应用程序. 关于k8s,是一种对应用服务的打包.部署.监控等一整套生命周期的自动化管理平台,目前各大公司已在生产环境部署使用,同时k8s社区比较活跃,在未来一段时间内会越来越流行,可以说是以后服务部署的事实标准,对于Java开发者来说,你可以