一个系统可能包含很多模块,如数据库、前端、缓存、搜索、消息队列等,每个模块都需要做到高可用,才能保证整个系统的高可用。对于数据库服务而言,高可用的实现可能更加复杂,对用户的服务可用,不仅仅是能访问,还需要有正确性保证,因此讨论数据库的高可用方案时,在容灾之外,还要同时考虑方案中数据一致性问题。本文将通过介绍一些业界主流的数据库高可用架构、每种方案的特性和优缺点,以及数据库高可用架构的自动化运维实现
MHA的优点是成熟稳定,可以自动进行故障检测和转移;扩展性也好,可以根据需要扩展MySQL的节点数量和结构;节约成本、易安装,不改变现有部署,无服务器性能下降;适配各类存储引擎。至于缺点,主要是VIP的配置麻烦,需要编写脚本或使用第三方工具来实现;需要基于SSH免认证配置,系统存在一定的安全隐患;只监控主服务器是否可用,不能监控从服务器。英方高可用VIP配置简单,一键式设置,无需SSH免认证配置,
转载
2023-08-01 20:06:29
83阅读
目录 文章目录目录CNICNI 规范CNI PluginMain 插件Bridge 插件HOST-DEVICEMACVLAN第三方网络插件CNI 使用的 I/O 接口虚拟化 CNIKubernetes 本身并没有实现自己的容器网络,而是借助 CNI 标准,通过插件化的方式来集成各种网络插件,实现集群内部网络相互通信。CNI(Container Network Interface,容器网络的 API
转载
2024-05-13 15:36:51
151阅读
文章目录Linux内核实现名称空间的创建ip netns命令创建Network Namespace操作Network Namespace转移设备veth pair创建veth pair实现Network Namespace间通信veth设备重命名四种网络模式配置bridge模式配置none模式配置container模式配置host模式配置容器的常用操作查看容器的主机名在容器启动时注入主机名手动指
转载
2024-02-28 10:34:09
87阅读
CNI(Container Network Interface) 即容器的网络API接口,在Kubernetes中通过CNI来扩展网络功能,今天我们从零开始实现一个自己的CNI网络插件。本文所有代码见:https://github.com/qingwave/mycniCNI简介Kubernetes提供了很多扩展点,通过CNI网络插件可以支持不同的网络设施,大大提供了系统的灵活性,目前也已成为容器网
转载
2024-05-28 10:04:20
54阅读
使用容器总是感觉像使用魔法一样。对于那些理解底层原理的人来说容器很好用,但是对于不理解的人来说就是个噩梦。很幸运的是,我们已经研究容器技术很久了,甚至成功揭秘容器只是隔离并受限的 Linux 进程,运行容器并不需要镜像,以及另一个方面,构建镜像需要运行一些容器。现在是时候解决容器网络问题了。或者更准确地说,单主机容器网络问题。本文会回答这些问题:如何虚拟化网络资源,让容器认为自己拥有独占网络?如何
转载
2024-04-07 08:08:02
39阅读
docker容器虚拟化虚拟化网络所有东西都是虚拟的,Network Namespace(网络隔离空间) 是 Linux 内核提供的功能,是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自网络栈信息。不管是虚拟机还是容器,运行的时候仿佛自己都在独立的网络中。而且不同Network Namespace的资源相互不可见,彼此之间无法通信。网络隔离空间是看不见摸不着的,隔离空间,互不相干,
转载
2024-04-04 09:52:46
212阅读
1、Docker 网络模型在讨论Kubernetes网络之前,让我们先来看一下Docker网络。Docker采用插件化的网络模式,默认提供bridge、host、none、overlay、maclan和Network plugins这几种网络模式,运行容器时可以通过–network参数设置具体使用那一种模式。bridge:这是Docker默认的网络驱动,此模式会为每一个容器分配Network Na
转载
2024-03-25 08:47:46
39阅读
容器网络容器需要的封闭环境主要使用了两种技术,一种是看起来是隔离的技术,称为namespace,也即每个 namespace 中的应用看到的是不同的 IP 地址、用户空间、程号等。另一种是用起来是隔离的技术,称为cgroup,也即明明整台机器有很多的 CPU、内存,而一个应用只能用其中的一部分。容器内部的客户端访问外部网络中的服务器容器是一种比虚拟机更加轻量级的隔离方式,主要通过 namespac
转载
2024-03-26 06:57:49
48阅读
目录Linux内核实现名称空间的创建docker的4种网络模式容器的常用操作Linux内核实现名称空间的创建ip netns可以借助ip netns命令来完成对 Network Namespace 的各种操作。ip netns命令来自于iproute安装包,一般系统会默认安装,如果没有的话,请自行安装。注意:ip netns命令修改网络配置时需要 sudo 权限。[root@localhost ~
转载
2023-12-06 22:09:54
76阅读
Flannel实质上是一种“覆盖网络(overlay network)”,也就是将TCP数据包装在另一种网络包里面进行路由转发和通信,目前已经支持UDP、VxLAN、AWS VPC和GCE路由等数据转发方式。实验环境已安装docker环境,开启路由转发,关闭沙盒,关闭防火墙[root@localhost ~]# systemctl disable firewalld
Removed symlink
转载
2024-07-04 14:30:50
97阅读
docker 容器网络集成在 Libnetwork 库中,Libnetwork的目标是提供一个强大的容器网络模型CNM(Container Network Model),另一种CNI(Container Network Interface),为应用程序提供一致的编程接口和所需的网络抽象。这里主要讨论CNM模型,因为kuryr-Libnetwork就是这种模型的实现,kuryr-kubernetes
转载
2024-05-27 20:48:09
19阅读
简介Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址。在默认的Docker配置中,每个节点上的Docker服务会分别负责所在节点容器的IP分配。这样导致的一个问题是,不同节点上容器可能获得相同的内外IP地址。并使这些容器之间能够之间通过IP地址相互找到,也就是相互ping通
转载
2024-07-23 13:23:30
61阅读
容器使用的网络类型(无论是 bridge、overlay、macvlan 网络还是自定义网络插件)在容器内是透明的。从容器的角度来看,它有一个带 IP 地址,网关,路由表,DNS 服务和其他网络细节的网络接口(假设容器没有使用 none 网络驱动程序)。这个话题是从容器的角度来看网络问题。1. 发布的端口默认情况下,创建容器时,它不会将其任何端口发布到外部世界。要使端口可用于 Docker 之外的
转载
2024-03-17 13:43:59
225阅读
网络栈 通过Network Namespace隔离linux容器的"网络栈",网络栈包括网卡、回环设备、路由表和iptables规则,这个要素构成了进程发起和响应网络请求的基本环境; 容器也可以直接使用宿主机的网
转载
2024-03-04 06:07:33
45阅读
docker在Mac下使用非常方便,官网提供了desktop版本的可视化软件,甚至还十分贴心地集成好了k8s套件。然而如果想同时部署和使用多个容器,每个容器不使用127.0.0.1地址,而是各自有ip,如使用172.17.0.x网段,则需要解决从宿主机到各个容器的网络通信。如果是使用其他Linux系统的用户则不用担心这个问题,Linxu系统会自动帮我们处理好ip之间的互通(宿主机和各个容器之间)。
转载
2023-08-18 14:23:16
327阅读
目录标题简单介绍一下Docker四种网络模式Docker自定义网络 简单介绍一下在没安装docker之前ifconfig命令是查看不到docker0的网卡的每运行一个容器就会生成一个veth对docker0:虚拟网关——>容器的网关,绑定物理网卡,负责做NAT 地址转换、端口映射 loopback:回环网卡TCP/IP网卡是否生效 veth对:一组互相连接的虚拟接口,用于连接两个网络/名称
转载
2024-04-23 20:31:46
14阅读
在Kubernetes中要保证容器之间网络互通,网络至关重要。而Kubernetes本身并没有自己实现容器网络,而是通过插件化的方式自由接入进来。在容器网络接入进来需要满足如下基本原则:Pod无论运行在任何节点都可以互相直接通信,而不需要借助NAT地址转换实现。Node与Pod可以互相通信,在不限制的前提下,Pod可以访问任意网络。Pod拥有独立的网络栈,Pod看到自己的地址和外部看见的地址应该是
转载
2024-02-28 21:45:57
63阅读
1.1.容器网络基础Kubernetes是一个开源容器调度编排引擎,管理大规模容器化应用,采用典型的Master-Worker主从分布式技术架构,由集中式管理节点(Master Node),分布式的工作节点(Worker Node)组成。向下屏蔽底层差异化的分布式基础设施,以应用为中心构建云计算的基础操作系统能力(即云原生操作系统),面向用户提供云原生时代的云计算的新界面。其中,Kubernete
转载
2024-04-16 10:28:44
34阅读
一、Flannel简介Flannel 由CoreOS开发,用于解决docker集群跨主机通讯的覆盖网络(overlay network),它的主要思路是:预先留出一个网段,每个主机使用其中一部分,然后每个容器被分配不同的ip;让所有的容器认为大家在同一个直连的网络,底层通过UDP/VxLAN/Host-GW等进行报文的封装和转发。默认的节点间数据通信方式是UDP转发。
2. 它的功能是
转载
2024-03-26 16:21:03
204阅读