《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:批处理应用的建模。

相关推荐
CSDN_PBB4 小时前
[STM32 - 野火] - - - 固件库学习笔记 - - - 十五.设置FLASH的读写保护及解除
笔记·stm32·学习
鸡啄米的时光机7 小时前
vscode的一些实用操作
vscode·学习
Kai HVZ8 小时前
《深度学习》——调整学习率和保存使用最优模型
人工智能·深度学习·学习
守护者1708 小时前
JAVA学习-练习试用Java实现“使用Apache Ignite对大数据进行内存计算和快速筛查”
java·学习
夜流冰9 小时前
编程参考 - C语言可变参数
笔记
格雷亚赛克斯9 小时前
Qt笔记31-69
数据库·笔记·qt
Long_poem9 小时前
【自学笔记】版本控制与持续集成基础知识点总览-持续更新
笔记·ci/cd
Stream٩( 'ω' )و10 小时前
109~133笔记
笔记
weixin_5025398510 小时前
rust学习笔记2-rust的包管理工具Cargo使用
笔记·学习·rust
孤独得猿11 小时前
排序算法复习——包括插入排序、希尔排序、冒泡排序、快排(包括霍尔法、挖坑法、快慢指针法)、堆排、选择排序、归并排序等 (代码采用c/c++混编)
c语言·数据结构·c++·笔记·算法·排序算法