微服务(12)

目录

56.k8s是怎么进行服务注册的?

57.k8s集群外流量怎么访问Pod?

58.k8s数据持久化的方式有哪些?

[59.Relica Set和Replication Controller之间有什么区别?](#59.Relica Set和Replication Controller之间有什么区别?)

[60.什么是Service Mesh(服务网格)?](#60.什么是Service Mesh(服务网格)?)


56.k8s是怎么进行服务注册的?

Pod启动后会加载当前环境所有Service信息,以便不同Pod根据Service名进行通信。

57.k8s集群外流量怎么访问Pod?

可以通过Service的NodePort方式访问,会在所有节点监听同一个端口,比如:30000,访问节点的流量会被重定向到对应的Service上面。

58.k8s数据持久化的方式有哪些?

EmptyDir(空目录):

没有指定要挂在宿主机上的某个目录,直接由Pod内部映射到宿主机上。类似于docker中的manager volume。

主要使用场景:

1.只需要临时将数据保存在磁盘上,比如在合并/排序算法中;

2.作为两个容器的共享存储,使得第一个内容管理的容器可以将生成的数据存入其中,同时由同一个webservice容器对外提供这些页面。

emptyDir的特性:同个Pod里面的不同容器,共享同一个持久化目录,当pod节点删除时,volume的数据也会被删除。如果仅仅是容器被销毁,pod还在,则不会影响volume中的数据。

总结来说:emptyDir的数据持久化的生命周期和使用的pod一致。一般是作为临时存储使用。

hostpath:

将宿主机上已存在的目录或文件挂在到容器内部。类似于docker中的bind mount挂在方式。

这种数据持久化方式,运用场景不多,因为他增加了Pod与节点之间的耦合。

一般对于k8s集群本身的数据持久化和docker本身的数据持久化会使用这种方式,可以自行参考apiService的yaml文件,位于:/etc/kubernetes/main...目录下。

PersistentVolume(简称PV):

基于NFS服务的PV,也可以基于GFS的PV。他的作用是统一数据持久化目录,方便管理。

指定PV的访问模式:

1.ReadWriteOnce:只能以读写的方式挂载到单个节点;

2.ReadOnlyMany:能以只读的方式挂载到多个节点;

3.ReadWriteMany:能以读写的方式挂载到多个节点。

以及指定pv的回收策略(这里的回收策略指的是在PV被删除后,在这个PV下所存储的源文件是否删除);

1.recycle:清除PV的数据,然后自动回收;

2.Retain :需要手动回收;

3.delete:删除云存储资源,云存储专用。

若需使用PV,那么还有一个重要的概念:PVC,PVC是向PV申请应用所需要的容量大小,k8s集群中可能会有多个PV,PVC和PV若要关联,其定义的访问模式必须一致。定义的storageClassName也必须一致,若集群中存在相同的(名字,访问模式都一致)两个PV,那么PVC会选择他所需容量接近的PV去申请,或者随机申请。

59.Relica Set和Replication Controller之间有什么区别?

Relica Set和Replication Controller几乎完全相同。他们都确保在任何给定时间运行指定数量的Pod副本。不同之处在于复制Pod使用的选择器。Replica Set使用基于集合的选择器,而Replication Controller使用基于权限的选择器。

Equity Based选择器:这种类型的选择器允许按标签键和值进行过滤。因此,在外行术语中,基于Equity的选择器将仅查找与标签具有完全相同短语的pod。示例:假设您的标签表示app=nginx,那么使用此选择器,您只能查找标签应用程序等于nginx的那些Pod。

Selector Based选择器:此类型的选择器允许根据一组值过滤键。因此,换句话说,基于Selector的选择器将查找已在集合中提及其标签的Pod。

示例:假设您的标签键在(Nginx,NPS,Apache)中显示应用程序。然后,使用此选择器,如果您的应用程序等于任何nginx,NPS或Apache,则选择器将其视为真实结果。

60.什么是Service Mesh(服务网格)?

Service Mesh 是专用的基础设施层,轻量级高性能网络代理。提供安全的,快速的,可靠的服务间通讯,与实际应用部署一起,但对应用透明。

相关推荐
十八旬23 分钟前
苍穹外卖项目实战(日记十)-记录实战教程及问题的解决方法-(day3-2)新增菜品功能完整版
java·开发语言·spring boot·mysql·idea·苍穹外卖
鞋尖的灰尘38 分钟前
springboot-事务
java·后端
银迢迢44 分钟前
SpringCloud微服务技术自用笔记
java·spring cloud·微服务·gateway·sentinel
用户0332126663671 小时前
Java 将 CSV 转换为 Excel:告别繁琐,拥抱高效数据处理
java·excel
这周也會开心1 小时前
Java-多态
java·开发语言
渣哥1 小时前
揭秘!Java反射机制到底是什么?原来应用场景这么广!
java
叫我阿柒啊1 小时前
Java全栈开发实战:从Spring Boot到Vue3的项目实践
java·spring boot·微服务·性能优化·vue3·全栈开发
CPU NULL2 小时前
Spring拦截器中@Resource注入为null的问题
java·人工智能·后端·spring
藤椒鱼不爱编程2 小时前
面向对象_抽象类与接口
java
MacroZheng2 小时前
告别Swagger UI!一款更适合Spring Boot的API文档新选择!
java·spring boot·后端