《kubernetes权威指南》-第一章学习笔记

1.什么是kubernetes?

kubernetes是一个全新的基于容器技术的分布式架构领先方案。

2.为什么要用kubernetes?

使用kubernetes提供的解决方案能够减少30%的开发成本,并且能够将开发人员的精力更加集中于业务本身,同时可以降低系统的后期运维难度和运维成本。使用kubernetes能够非常轻松的完成横向扩容,以应对突发流量的压力。

3.应用维度的基本概念

pod:kubernetes系统中的基本单元,一个pod部署在一个Node上。一个pod会包含多个容器,必定包含pause容器。

pause:每个pod中都运行一个特殊的pause容器,而pod中的其他容器称为业务容器,业务容器共享pause容器的网络栈和Volume挂载卷(即同一个pod中的容器可以不经过service互相通信)

service:对外提供服务的负载均衡单元,service有其自己的ClusterIP和Service Port,对内连接到具体的pod。pod地址多变,但service创建后地址就不变了,所以外部调用service感知不到内部pod的变化。外部调用service的时候通过虚拟机IP+service的端口进行访问。另外,ClusterIP是属于内部封闭的虚拟地址,不具备TCP/IP通信的基础。

deployment:一种资源对象,用于定义service管理的pod标签及数量等内容,kubernetes会自动根据deployment中的定义对pod进行创建,而无需人工干预。

endpoint:Pod的IP+容器的端口,用于表示一个容器的地址。

label:即标签,每一个资源对象都可以被打上一个标签,用来给资源对象分类,service可以配置selector来对标签进行选择。支持in语法,使用","表示AND的关系。

4.集群维度的基本概念

Master:每个kubernetes集群都需要一个或一组被称为Master的节点,来负责整个集群的管理和控制。如果Master发生宕机或者不可用,那么对集群内容器应用的管理都将无法实施。通常为了保证Master的高可用,会部署至少三台服务器。

Node:除了Master外的其他服务器,都称为Node,和Master一样,Node可以是一台物理主机,也可以是一台虚拟机。

NameSpace:即命名空间,很多情况下用于实现多租户的资源隔离,不同命名空间的资源互相不可见,每个Kubernetes集群创建完成后会创建两个命名空间,一个default和一个kube-system,用户创建的资源对象如果不指定命名空间就会放在default中,而kube-system存放的是系统资源。

5.外网如何访问Kubernetes?

Node是属于物理层面的概念,所以外网通过NodeIp及配置在service的端口号对Kubernetes进行访问。

6.其他资源对象

StatefulSet:deployment是无状态集群的建模,而StatefulSet是有状态集群的建模。

Job:批处理应用的建模。

相关推荐
敬往事一杯酒哈5 小时前
海康 AGV 导航读码器学习
学习
谢亮_vipxieliang7 小时前
Kubernetes 的“操作系统化”:从容器编排到 AI 基础设施控制平面
人工智能·平面·kubernetes
qq_284274057 小时前
机械原理笔记:平面机构自由度计算(复合铰链、局部自由度、虚约束)与四杆机构入门(含考点)
笔记·学习·平面·自动化·制造
qq_284274058 小时前
数控铣床与加工中心笔记:铣刀与刀柄系统、G54试切对刀、镜像加工指令、孔加工工艺(钻扩铰镗)与固定循环G73/G83/G81/G76/G87/G84
笔记·学习·自动化·制造
Titan20249 小时前
MySQL访问个人学习笔记
笔记·学习·mysql
sbjdhjd10 小时前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全
热爱Liunx的丘丘人10 小时前
1、什么是K8s
云原生·容器·kubernetes
小雪崩10 小时前
嵌入式学习 day64:字符设备驱动
学习
深圳老胡11 小时前
STM32CubeMX 生成 CMake 工程,用 VSCode 编译与调试的完整流程
笔记·stm32·单片机·代码规范
个 人 练 习 生11 小时前
C++ string 类模拟实现:从底层理解字符串(上)
开发语言·c++·经验分享·学习·程序人生