kubernetes基础——1.基本概念
一、kubernetes特性
自动装箱,自我修复,水平扩展,服务发现和负载均衡,自动发布和回滚,密钥和配置管理,存储编排,批量处理执行。
二、kubernetes cluster
Masters * 3 <===> Node(worker) * n
3个Master节点,保持高可用。多个Node工作节点。
三、基本概念
1. Master
kubernetes里德Master是集群的控制节点,通常3台服务器作为冗余部署。
Master中有三个组件:
(1)API Server:集群的入口API
(2)scheduler:调度器,调度Pod
(3)Controller Manager:管理各种控制器。(控制器在loop中监控容器状态,在需要时向API Server发送请求。)
2. Pod
(1)Pod是Kubernetes的基础单元,Pod可以认为是容器的外壳,给容器作了一层抽象的封装。
(2)一个Pod可以包含多个容器,多个容器共享一个网络名称空间(net,UTS,IPC),而PID,USER,Mount是隔离的。
(3)一个Pod内的容器共享存储卷。
(4)一个Pod内的所有容器必须运行在同一个Node上。
3. Node
工作节点,多个Node的资源形成统一资源池。
每个Node节点上都运行一下关键进程:
(1)kubelet:负责Pod对应的容器的创建、启停等任务,同时与Master节点密切协作,实现集群管理的基本功能。
(2)kube-proxy:实现Kubernetes Service的通信与负载均衡机制的重要组件。
(3)Docker:Docker引擎,负责本机的容器创建和管理工作。
4. Label
键值对形成的标签,key与value均由用户自定。label可以附加到各种资源上。通过Label Selector(标签选择器)查询与筛选资源对象。
5. Pod控制器
(1)RC(Replication Controller)保持Pod副本数量,多退少补。
(2)Replica Set与Deployment,RS是RC的升级版本,一般被Deployment所使用。
(3)StatefulSet,面向有状态服务
(4)Daemon Set
(5)Job,一次性任务
(6)HPA,Horizontal Pod Autoscaler,横向自动扩容
6. Service
(1)定义了服务的访问入口地址。不是应用程序,只是一个iptables的dnet规则。
(2)前端Pod通过service入口访问,Service负载后面通过Label Selector筛选出的Pod。
(3)每一个Service会生成一个虚拟IP,通过Kubernetes的DNS映射,访问Service的name就好。
7. 三种网络通信
(1)同一个Pod内的多个容器间通过lo
(2)各Pod之间的通信(跨host)Overlay叠加网络,即隧道
(3)Pod与Service之间通信:Pod内某容器 ——> 网关(docker0) ——> IPV或iptables规则 ——> Service ——> Pod
三种IP
NodeIP:Node节点的IP
PodIP:Pod的IP
CluserIP:Service的IP
注:每个node节点中的kube-proxy组件负责更新IPVS或iptables规则。API server ——> kube-proxy ——> 规则
8. etcd
一个高可用的分布式键值数据库。
用来维护所有主节点的状态。
9. CNI
容器网络接口,遵循CNI开发的服务就可以作为kubernetes的网络解决方案。
常见的三方方案:
(1)flannel:配置网络,不支持网络策略
(2)calico:配置网络,配置策略,但使用复杂
(3)canel:使用flannel配置网络,使用calico配置策略。
注:可以像DNS一样作为kubernetes的附件,也可以在node上作为守护进程来使用。
10. Namespace
kubernetes的Namespace是逻辑上的分组,以便于管理与资源隔离。与docker的Namespace是不同的概念。
kubernetes基础——1.基本概念的更多相关文章
- 1-2、kubernetes架构概述和kubernetes基础概念
kubernetes https://draveness.me/understanding-kubernetes http://kubernetes.kansea.com/docs/ master/n ...
- linux运维、架构之路-Kubernetes基础(一)
一.Kubernetes介绍 Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统.Kubernetes的目标旨在消除编排物理/虚拟计算,网络和存储基础设施的负担,并 ...
- Kubernetes基础:查看状态、管理服务
目标 了解Kubernetes Pod 了解Kubernetes Node 学习如何调试部署问题 了解如何通过Service暴露应用 Kubernetes Pods 在Kubernetes中创建一个D ...
- Linux基础操作及概念
Linux基础操作及概念 终端的概念 通常我们在使用 Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的,在图形界面下为了实现让我们在一个窗口中完成用户输入和显示 ...
- kubernetes基础概念知多少
kubernetes(简称k8s)是一种用于在一组主机上运行和协同容器化应用程序的管理平台,皆在提供高可用.高扩展性和可预测性的方式来管理容器应用的生命周期.通过k8s,用户可以定义程序运行方式.部署 ...
- 入门Kubernetes -基础概念
一.Kubernetes概述 Kubernetes ,又称为 k8s(首字母为 k.首字母与尾字母之间有 8 个字符.尾字母为 s,所以简称 k8s)或者简称为 "kube" ,是 ...
- 4、kubernetes基础概念
一.基础概念 1.Master节点 整个集群的控制中枢.Master节点是Kubernetes集群的控制节点,在生产环境中不建议部署集群核心组件外的任何Pod,公司业务的Pod更是不建议部署到Mast ...
- Kubernetes基础概念及架构概述
Kubernetes 架构 Kubernetes是一个全新的基于容器技术的分布式架构,虽然Kubernetes只有三年,但它是谷歌十几年以来大规模应用容器技术的经验积累和升华的一个重要发展成果.确切的 ...
- kubernetes基础概念
kubernetes是基于容器技术的分布式架构领先方案.具有完备的集群管理能力,包括多层次的安全防护和准入机制.多租户应用支撑能力.透明的服务注册和服务发现机制.内建智能负载均衡器.强大的故障发现和自 ...
随机推荐
- 2021 编程语言排行榜出炉!C#年度语言奖
IEEE Spectrum 发布了 2021 年度编程语言排行榜,其中 Python 在总榜单以及其他几个分榜单中依然牢牢占据第一名的位置.另外值得关注的是微软 C# 语言,它的排行从 2020 年的 ...
- [学习笔记] Oracle基础增删改查用法
查询 select *|列名|表达式 from 表名 where 条件 order by 列名 select t.* from STUDENT.STUINFO t where t.stuname = ...
- 《MySQL5.7从入门到精通》(高清).PDF,免费无需任何解压密码
链接:https://pan.baidu.com/s/1nnm5IbExaBhjL6-7qR1Oxw 提取码:vzpx
- JMeter_响应数据为空以及中文乱码
一.响应数据为空 最近做测试接口,使用同样的请求方式.地址.参数和header,在postman中能正常响应,接收数据的也正常,但是在Jmeter中,虽然响应正常,但是响应数据却为空! Jmeter接 ...
- Shell统计每个单词出现的个数
题目链接 题目描述 写一个 bash脚本以统计一个文本文件 nowcoder.txt 中每个单词出现的个数. 为了简单起见,你可以假设: nowcoder.txt只包括小写字母和空格. 每个单词只由小 ...
- navicat 找不到系统路径 【修改了系统路径中文名称引起的】
这是我还没修改系统路径中文名称时的路径, 怎么办? 关闭当前用户连接 右键,选择连接属性 把那个改了即可
- 生产环境上,哨兵模式集群Redis版本升级应用实战
背景: 由于生产环境上所使用的Redis版本并不一致,好久也没有更新,为了避免版本不同对Redis集群造成影响,从而升级为统一Redis版本! 1.集群架构 一主两从三哨兵: 2.升级方案 (1)升级 ...
- JVM组成详解
一.JVM 整体组成 JVM 整体组成可分为以下四个部分: 类加载器(ClassLoader) 运行时数据区(Runtime Data Area) 执行引擎(Execution Engine) 本地库 ...
- 为什么char类型输入遇空格会结束,int类型必须要空格才能输出
char类型与int类型输入时的区别: 在C语言的规则中,规定了scanf函数在接收字符串时--遇到空格或回车就认为前面的输入已经完成且有效! 而对于int类型:表示整数,输入时需要用空格隔开,以确认 ...
- 12.25 补充总结-jsp标签
注:标签引用时,需在jsp 头部添加如下语句 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c ...