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

相关推荐
jackson凌13 分钟前
【Java学习笔记】键盘录入方法
java·笔记·学习
郭涤生30 分钟前
Linux 常用命令总结
linux·笔记
小咖拉眯36 分钟前
L2-033 简单计算器满分笔记
笔记·算法
睡了吃-41 分钟前
spark- SQL简介
笔记
半度、1 小时前
提示工程指南学习记录(三)
学习
孞㐑¥1 小时前
C++之哈希
开发语言·c++·经验分享·笔记
勇敢牛牛_1 小时前
【Rust基础】crossbeam带来的阻塞问题
开发语言·笔记·rust
mex_wayne1 小时前
基础学习:(6)nanoGPT
人工智能·学习·transformer
七灵微2 小时前
PyTorch进阶学习笔记[长期更新]
pytorch·深度学习·学习
点我头像干啥2 小时前
第8节:机器学习基础 - 监督学习概念
人工智能·神经网络·学习·机器学习