云原生如何来进行HTTPS升级
Posted 雨夜随笔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云原生如何来进行HTTPS升级相关的知识,希望对你有一定的参考价值。
容器的资源共享
namespace | 被隔离的全局系统资源 | 在容器语境下的隔离效果 |
Mount | 文档系统挂接点 | 每个容器能看到不同的文档系统层次结构 |
UTS | nodename 和 domainname | 每个容器可以有自己的 hostname 和 domainame |
PID | 进程 ID 数字空间 (process ID number space) | 每个 PID namespace 中的进程可以有其独立的 PID;每个容器可以有其 PID 为 1 的root 进程;也使得容器可以在不同的 host 之间迁移,因为 namespace 中的进程 ID 和 host 无关了。这也使得容器中的每个进程有两个PID:容器中的 PID 和 host 上的 PID。 |
IPC | 特定的进程间通信资源,包括System V IPC 和 POSIX message queues | 每个容器有其自己的 System V IPC 和 POSIX 消息队列文档系统,因此,只有在同一个 IPC namespace 的进程之间才能互相通信 |
Network | 网络相关的系统资源 | 每个容器拥有其独立的网络设备,IP 地址,IP 路由表,/proc/net 目录,端口号等等。这也使得一个 host 上多个容器内的同一个应用都绑定到各自容器的 80 端口上。 |
User | 用户和组 ID 空间 | 在 user namespace 中的进程的用户和组 ID 可以和在 host 上不同;每个 container 可以有不同的 user 和 group id;一个 host 上的非特权用户可以成为 user namespace 中的特权用户; |
Sidecar
我们可以选用任何语言和技术来实现:特别是在原应用代码修改较为麻烦的情况下,因为Sidecar和原有应有服务器完全解耦,所以我们可以选用任何语言和技术来实现我们的HTTPS代理服务。
复用:有些人可能觉得直接实现一个HTTPS代理服务并不难,可以完全不用容器。而使用容器这种Sidecar模式的好处就在于复用性。容器支持环境变量或者配置文件的方式来修改服务的功能,我们可以以此在将这个服务应用于别的应用服务器时,只需要少量的修改便可以达成目的。
应用场景
动态加载配置:Sidecar和原有应用服务器共享Mount Namespace(即存储),Sidecar容器部署一个配置管理程序,接受外部的配置输入,这样当配置发生改动后,自动更改原有应有服务器的配置。如果同时共享了PID Namespace,可以在配置发生改动后,向应用服务器发送终止命令(比如SIGKILL),促使应用服务器重启然后加载新的配置。
健康检查:Sidecar模式可以部署一个健康检查服务,来监控原有的应用服务的健康性。
日志管理:Sidecar和原有的应用共享日志存储,然后Sidecar容器部署一套日志管理服务来提供高级的日志管理功能,比如统计,筛选等。
Sevice Mesh
云原生架构
以上是关于云原生如何来进行HTTPS升级的主要内容,如果未能解决你的问题,请参考以下文章
前沿分享|阿里云数据库解决方案资深专家 李圣陶:云原生数据库解决方案 加速企业国产化升级