火博体育正规吗欧洲杯预选赛法国队出场名单 | 怎样优雅的在 Docker 中启动高性能负载平衡器 HAProxy
皇冠hg86a
火博体育正规吗欧洲杯预选赛法国队出场名单 中国银河目标价
您不错将 HAProxy 四肢 Docker 容器启动吗?是的!这还需要问吗?如今 Docker 无处不在,您会发现很多诈欺设施齐已被 Docker 化;HAProxy 负载平衡器也不例外,但 HAProxy 等于为此而生的。四肢在 Linux 上启动的孤苦劳动,将其移植到 Docker 似乎很当然。
为什么要在 Docker 容器内启动负载平衡器?这么作念性能会有扣头么?它会引入任何安全问题吗?
www.viphuangguantiyumaster.vip在这篇博文中,您将了解为什么要推敲在容器内启动 HAProxy 以及可能产生的成果。然后你会看到怎样去作念。请珍藏,咱们先容的是怎样启动 HAProxy,而不是 HAProxy Kubernetes Ingress Controller。
HAProxy Technologies 在其定名空间 haproxytech 下构建我方的一组 Docker 镜像。这些会按期更新最新的补丁和安全更新。我将在这篇博文中使用这些镜像。你会在这里找到它们:
HAProxy(Alpine Linux 基础)- https://hub.docker.com/r/haproxytech/haproxy-alpine HAProxy (Ubuntu 基础) – https://hub.docker.com/r/haproxytech/haproxy-ubuntu HAProxy (Debian 基础) – https://hub.docker.com/r/haproxytech/haproxy-debian我演示的敕令是在 Linux 职责站上施行的,要是您在使用 Docker Desktop for Windows 或 Docker Desktop for Mac 时也能平方职责。
时尚 1使用 Docker 的公道您是否但愿大要启动 HAProxy 而无需编译、装配依赖项或以其他神志更变您的系统?
Docker 容器带来了可不雅的公道,其中最主要的是装配和施行的操作较少。Docker 允许您将容器放到主机系统上独立即取得正在启动的劳动——无需装配剧本,无需装配 C 库。该劳动齐备包含在容器中,您需要作念的等于启动它,然后将 TCP 端口映射到它。当您部署一个容器时,您不错取得启动完好的诈欺设施过火启动时环境的智力,而无需将其本体装配到主机系统上。
生命周期治理也变得行径化。启动、罢手和删除容器就像调用一排 docker 敕令通常约略。这反过来又使部署成为一个可叠加和可测试的经由。它还有助于更毁坏地进行软件升级。
火博体育正规吗 2使用 Docker 的性能影响您但愿您的负载平衡器启动速率快,且不会加多环境延长。那么,问题是,在容器内启动 HAProxy 有什么影响?
皇冠账号在 CPU 支拨方面,记着,与诬捏机不同,Docker 不需要在主机操作系统之上的诬捏化层。容器在主机的内核上启动,基本上仅仅另一个进度,尽管它与主机上启动的其他进度具有更好的防碍性(它使用定名空间来松手这小数)。IBM 计议东说念主员的一项计议发现,使用 Docker 的 CPU 支拨不错忽略不计,这应该不及为奇。
汇注是另一趟事。默许情况下,Docker 允许您通过创建到主机的桥接汇注来访谒在容器内启动的劳动。由于必须在容器的土产货汇注和主机的桥接汇注之间发生的汇注地址调遣 (NAT),这如实会导致延长。在之前援用的归拢 IBM 计议中,计议东说念主员发现 Docker 的 NAT 改日自客户端的 100 字节请乞降来自诈欺设施的 200 字节反映的延长从约莫 35 微秒加多到 70 微秒。
皇冠信用盘平台另一方面,桥接汇注很灵验,因为它们允许您将容器组防碍到容器汇集合,何况仅将其中一些容器走漏给主机,这关于减少主机汇注所需的 IP 地址数目十分浮浅(念念念念启动数百致使数千个容器所需的 IP 数目)。要是您有好奇羡慕好奇羡慕了解关系 Docker 中汇注怎样职责的更多信息,不错在 YouTube 上不雅看 Docker 团队提供的深刻探讨。
要是您需要十分低的延长,您不错切换到使用 Docker 的主机汇注功能,它允许您的容器与主机分享调换的汇注,从而无需 NAT。再说一次,要是你念念启动 Docker Swarm 或 Kubernetes,它们使用阴事汇注,关于不同的汇注驱动设施,如 Project Calico 和 Cilium 有惩处有缱绻,本篇著作著作并不触及该怎样作念。
皇冠客服飞机:@seo3687简而言之,除非您需要十分低的延长,不然您应该坚捏使用默许的桥接汇注选项。请务必对其进行测试,望望您是否达到了所需的混沌量。
3使用 Docker 的安全推敲您可能会惦记很多 Docker 容器以 root 身份启动他们的劳动,而这个 root 用户与主机系统上的 root 用户调换。对容器冲突的担忧是合理的。HAProxy 也以 root 身份启动。然而,让您宽解:HAProxy 需要 root 访谒权限,因为它需要绑定到受甩手的 TCP 端口,如 80 和 443。然而,一朝完成启动,皇冠app它就会毁掉其 root 权限并以非特权用户身份启动。
东说念主们还会量度容器可能是坏心的风险。这是坚捏使用由 HAProxy Technologies 制作的 haproxytech Docker 镜像的一个很好的根由。
4使用 Docker 启动 HAProxy咱们将创建一个 Web 诈欺设施的三个实例、一个 HAProxy 实例和一个将它们邻接在总计的桥接汇注。因此,一朝您装配了 Docker,请使用以下敕令在 Docker 中创建一个新的桥接汇注:
$ sudo docker network create --driver=bridge mynetwork
然后使用该 docker run 敕令创建并启动 Web 诈欺设施的三个实例。在此示例中,我使用 Docker 镜像 jmalloc/echo-server https://hub.docker.com/r/jmalloc/echo-server。这是一个约略的 Web 诈欺设施,可复返您发送给它的 HTTP 苦求的看护信息。
$ sudo docker run -d \ --name web1 --net mynetwork jmalloc/echo-server:latest $ sudo docker run -d \ --name web2 --net mynetwork jmalloc/echo-server:latest $ sudo docker run -d \ --name web3 --net mynetwork jmalloc/echo-server:latest
请珍藏,咱们为每个劳动分配了一个唯独称号并将其附加到咱们创建的桥接汇注。您当今应该启动了三个 Web 诈欺设施,您不错通过调用以下 docker ps 敕令进行考证:
$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 98216bb8c5ff jmalloc/echo-server:latest "/bin/echo-server" About a minute ago Up About a minute 8080/tcp web3 ae6accc111d9 jmalloc/echo-server:latest "/bin/echo-server" About a minute ago Up About a minute 8080/tcp web2 554fafbc2b3b jmalloc/echo-server:latest "/bin/echo-server" About a minute ago Up About a minute 8080/tcp web1
这些容器监听我方的端口 8080,但咱们莫得将这些端口映射到主机,因此它们不行路由。咱们将通过 HAProxy 负载平衡器将流量中继到这些容器。接下来,让咱们在它们前边添加 HAProxy。在面前目次中创建一个名为 haproxy.cfg 的文献,并在其中添加以下内容:
global stats socket /var/run/api.sock user haproxy group haproxy mode 660 level admin expose-fd listeners log stdout format raw local0 info defaults mode http timeout client 10s timeout connect 5s timeout server 10s timeout http-request 10s log global frontend stats bind *:8404 stats enable stats uri / stats refresh 10s frontend myfrontend bind :80 default_backend webservers backend webservers server s1 web1:8080 check server s2 web2:8080 check server s3 web3:8080 check
需要珍藏的几点:
在该 global 部分中,该 stats socket 行启用了 HAProxy 启动时 API,还启用了 HAProxy 的无缝再行加载。 第一个前端监听端口 8404 并启用 HAProxy Stats 面目板,该面目板炫耀关系您的负载平衡器的及时统计信息。 另一个前端监听端口 80,并将苦求分拨到 Web 劳动器后端中列出的三个 Web 诈欺设施之一。 咱们莫得使用每个 Web 诈欺设施的 IP 地址,而是使用它们的主机名 web1、web2 和 web3。当您像咱们通常创建 Docker 桥接汇注时,您也不错使用这种基于 DNS 的路由。接下来,创建并启动一个 HAProxy 容器,并通过包含-p 参数将其端口 80 映射到主机上的调换端口。还要为 HAProxy Stats 页面映射端口 8404:
19日的2023年击剑亚锦赛男花个人赛决赛,中国队的莫梓维以15:9击败韩国选手河泰圭问鼎冠军。命中制胜一剑后,莫梓维摘下面罩躺倒在剑道上,仰天长啸,庆祝夺得自己的首个国际大赛冠军。赛后回想刚过去不久的夺冠时刻,他只记得“眼泪瞬间就涌出来了”。
总台记者 赵雄:我现在是在四川内江市的沱江河畔,我身后的水面上进行的是今年端午节的划龙舟比赛。在现场我们可以看到,水手正在根据锣鼓声的节奏,快速地抢划船桨,四艘并排的龙舟快速地冲向终点。今年的龙舟比赛共分为四组,实行一轮定胜负,按时间进行最终排名。
$ sudo docker run -d \ --name haproxy \ --net mynetwork \ -v $(pwd):/usr/local/etc/haproxy:ro \ -p 80:80 \ -p 8404:8404 \ haproxytech/haproxy-alpine:2.4
docker ps 之后调用炫耀 HAProxy 正在启动:
$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d734d0ef2635 haproxytech/haproxy-alpine:2.4 "/docker-entrypoint.…" 3 seconds ago Up 2 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:8404->8404/tcp haproxy
您不错通过http://localhost访谒echo-server Web 诈欺设施。每个对它的苦求齐将由 HAProxy 进行负载平衡。此外,您不错在http://localhost:8404看到 HAProxy Stats 页面。
要是您对 haproxy.cfg 文献进行了更变,则不错通过调用以下 docker kill 敕令再行加载负载平衡器,而不会失掉流量:
欧洲杯预选赛法国队出场名单在上一场比赛中,明星球员张三在比赛中受伤,众多球迷心急如焚。但在经过治疗后,张三状态逐渐恢复,为球队重获胜利做出了贡献。据悉,张三本赛季的表现令人惊叹,不少球迷将他视为当之无愧的足球天才。$ sudo docker kill -s HUP haproxy
要删除容器和汇注,启动 docker stop,docker rm 和 docker network rm 敕令:
$ sudo docker stop web1 && sudo docker rm web1 $ sudo docker stop web2 && sudo docker rm web2 $ sudo docker stop web3 && sudo docker rm web3 $ sudo docker stop haproxy && sudo docker rm haproxy $ sudo docker network rm mynetwork5追念
在这篇博文中,您了解了如安在 Docker 容器内启动 HAProxy 简化其部署和生命周期治理。Docker 提供了一种用于部署诈欺设施的行径化模式,使该经由具有可叠加性和可测试性。固然启动 Docker 的 CPU 支拨不错忽略不计,但它可能会导致非凡的汇注延长,但其影响取决于您的场景和混沌量需求。
hga030皇冠要启动 HAProxy,只需创建一个 HAProxy 成就文献,然后使用 docker run 敕令调用 HAProxy Docker 镜像的称号。HAProxy Technologies 在 Docker Hub 上提供最新的 Docker 镜像。

