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

相关推荐
菜鸟蹦迪4 分钟前
学习记录:mybatis和jdbc实现数据表作为参数的相关的sql操作
sql·学习·mybatis
清晨朝暮13 分钟前
【Linux 学习计划】-- yum
学习
oneDay++33 分钟前
# IntelliJ IDEA企业版安装与配置全指南:避坑详解
java·开发语言·经验分享·学习·学习方法
2303_Alpha1 小时前
深度学习入门:深度学习(完结)
人工智能·笔记·python·深度学习·神经网络·机器学习
wktomo1 小时前
GO语言学习(二)
学习·golang
姝孟2 小时前
学习笔记(C++篇)—— Day 6
笔记·学习
白白白飘2 小时前
pytorch 15.1 学习率调度基本概念与手动实现方法
人工智能·pytorch·学习
LuckyLay2 小时前
Vue百日学习计划Day16-18天详细计划-Gemini版
前端·vue.js·学习
hnlucky2 小时前
Windows 上安装下载并配置 Apache Maven
java·hadoop·windows·学习·maven·apache
霸王蟹2 小时前
React Fiber 架构深度解析:时间切片与性能优化的核心引擎
前端·笔记·react.js·性能优化·架构·前端框架