资源定义haproxy

在HAProxy负载均衡的Consul集群后端运行HashiCorp Vault服务的自动化部署指南 简介:本文介绍了如何在由HAProxy负载均衡的Consul群集后端上运行HashiCorp Vault服务,并利用Ansible进行自动化部署。HashiCorp Vault是一个用于管理敏感数据的工具,Consul是一个服务发现和配置管理平台。HAProxy被用作负载均衡器,Keepalived用作HAProxy的辅助工具以实现高可用性。 阅读详情

资源定义haproxy

重启策略:

Always:当容器终止退出后,总是重启容器,默认策略。

OnFailure:当容器异常退出(退出状态码非0)时,才重启容器。

Never:当容器终止退出,从不重启容器。

健康检查类型:
livenessProbe (存活检查)∶如果检查失败,将杀死容器,根据Pod的restartPolicy来操作。

readinessProbe (就绪检查)︰如果检查失败,Kubernetes会把Podservice endpoints中剔除。

#端口探测
apiVersion: v1
kind: Pod
metadata:
  name: probe-demo
  namespace: demo
spec:
containers:
- name: web
  image: nginx
  ports:
  - containerPort: 8o
  livenessProbe:
    tcpSocket:
      port: 80
    initialDelaySeconds: 30#启动容器后多少秒健康检查
    periodSeconds: 10#以后间隔多少秒检查一次
  readinessProbe:
    tcpSocket:
      port: 80
    initialDelaySeconds: 30
    periodSeconds: 10

示例:执行Shell命令
livenessProbe:
  exec:
    command:
    - cat
    - /tmp/healthy
    
示例:HTTP请求
livenessProbe:httpGet:
  httpGet:
    path: /healthz
    port: 8080
    httpHeaders:
    - name: Custom-Header
      value: Awesome
    

支持的检查方法:

  • httpGet:发送HTTP请求,返回200-400范围状态码为成功。
  • exec:执行Shell命令返回状态码是0为成功。
  • tcpSocket:发起TCP Socket建立成功。

初始化容器

InitContainer:顾名思义,用于初始化工作,执行完就结束,可以理解为一次性任务

  • 支持大部分应用容器配置,但不支持健康检查
  • 优先应用容器执行

应用场景:
环境检查:例如确保应用容器依赖的服务启动后再启动应用容器。初始化配置:例如给应用容器准备配置文件

haproxy

[root@master haproxy]# cat haproxy.yml 
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: haproxy
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: haproxy
  template:
    metadata:
      labels:
        app: haproxy
    spec:
      initContainers:
      - name: cp
        volumeMounts:
        - name: haproxy-cfg
          mountPath: /tmp/
      restartPolicy: Always		#健康检查出问题就重启容器
      containers:
      - image: best2001/haproxy:v3.0
        imagePullPolicy: Always
        env: 
        - name: RSs
          value: "10.97.0.10 10.97.0.50"
        name: haproxy
        ports:
        - containerPort: 80
          hostPort: 80
        livenessProbe:	#检查80端口是否存在
          tcpSocket:
            port: 80
      volumes:
      - name: haproxy-cfg
        emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
  name: haproxy
  namespace: default
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: haproxy
  type: NodePort

nginx

[root@master haproxy]# cat nginx.yml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx1
  labels:
    app: nginx1
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx1
  template:
    metadata:
      labels:
        app: nginx1 
    spec:
      initContainers:
      - name: in
        command:
        - "wget"
        - "-O"
        - "/usr/local/nginx/html"
        - "http://www.baidu.com"
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - mountPath: "/usr/local/nginx/html"
          name: document-root
      containers:
      - image: best2001/nginx:v0.3 
        imagePullPolicy: Always
        name: nginx1

---
apiVersion: v1
kind: Service
metadata:
  name: nginx1
  labels: 
    app: nginx1
spec:
  ports:
  - port: 80
    targetPort: 80
  selector:
    app: nginx1
  clusterIP: 10.97.0.50

apache

[root@master haproxy]# cat apache1.yml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: httpd1
  labels:
    app: httpd1
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: httpd1
  template:
    metadata:
      labels:
        app: httpd1 
    spec:
      containers:
      - image: best2001/httpd
        imagePullPolicy: Always
        name: httpd1

---
apiVersion: v1
kind: Service
metadata:
  name: httpd1
  labels: 
    app: httpd1
spec:
  ports:
  - port: 80
    targetPort: 80
  selector:
    app: httpd1
  clusterIP: 10.97.0.10
consul-vault:在具有HAProxy前端的Consul群集后端上运行的HashiCorp Vault服务 立即下载

相关推荐

docker-lb:运行 HAProxy 的 Docker 容器由 consul-template 自动配置

docker-lb 运行 HAProxy 的 Docker 容器由 consul-template 自动配置。 您可以轻松运行自己的 HAProxy 负载均衡器。 例子: $ docker run --name=myapp-loadbalancer \ -it --rm \ -p 8000 \ -p 127.0.0.1::8081 \ -e APP_NAME=myapp \ -e CONFIG_TEMPLATE_URL= " https://github.com/markocelan/docker-lb/raw/master/in.template.example " \ -e CONSUL=127.0.0.1:8500 \ markocelan/docker-lb 端口 8000 是您的上游服务获得平衡的地方 端口 8081 是您可以查看 HAProxy 状态的地方

mysql mgr CONSuL_Mysql MGR + Consul + Consul-template + Haproxy 搭建mysql 高可用集群 (三)...

使用consul做服务发现Consul是一款用Go开发的分布式服务协调管理的工具,它提供了服务发现,健康检查,Key/Value存储等功能,并且支持跨数据中心的功能。这里用consul来做mysql主从的服务发现。Consul-template是Consul的一个扩展工具,通过监听Consul中的数据可以动态修改一些配置文件。这里用来动态生成haproxy的配置文件。从官网下载consul和con...

weixin_35187410的博客 294

ScanNet数据集详解

ScanNet 是一个 RGB-D 视频数据集,在超过 1500 次扫描中包含了 250 万个视图,并标注了 3D 相机位姿、表面重建和实例级的语义分割。为了收集这些数据,设计了一个易于使用且具有扩展性的 RGB-D 捕获系统,包括自动化的表面重建和众包的语义标注。如果您想下载 ScanNet 数据,请使用您的机构邮箱地址填写一份 ScanNet 使用条款协议,并发送至 scannet@googlegroups.com。压缩包是将3D的标注信息“拍扁”成2D图片的结果,对应原始视频的每一帧。

frostmelody 全网同名,大家多多关注呀~ 持续分享优质内容! 3919

Consul系列:让服务Running in anywhere

测试Consul server服务的高可用,先停止其中一台Consul server节点的容器,并清理Consul 的持久化数据,其它服务的Consul节点正常,达到预期结果,后来尝试恢复 这个Consul server,恢复后发现从Consul ui查发现 少了一些服务节点,查询过后,正好是清理数据的这台Consul server上的服务在 Consul 中消失了,因此又重新在这个 节点进行相应的服务注册才真正恢复正常。于是就向客户申请开通相应的udp端口,开通后,再进行测试,发现问题还是存在。

quanzhan_King的博客 1557

PostgreSQL数据库全攻略:从入门到精通

本文是一份PostgreSQL数据库综合指南,涵盖安装配置、基础操作和高级管理。主要内容包括:1) PostgreSQL简介与各平台安装方法;2) 数据库基本操作,如创建数据库/表、CRUD操作、用户权限管理;3) 高级功能包括索引优化、事务控制、视图、存储过程、触发器和扩展模块;4) 数据库管理维护,涉及配置调优、备份恢复、性能监控和日常维护;5) 安全设置与高可用方案。指南提供了从入门到进阶的实用知识,强调结合官方文档进行深入学习,帮助用户高效使用这一功能强大的开源关系型数据库系统。

索大神的博客 1969

jetson nano网络配置(有线、无线、USB)

注意:本节内容使用Jetson nano B01 版本或Jetson nano ALT 版本安装方式相同,在安装无线网卡等设备时,由于线材和设备比较脆弱,需要轻拿轻放,接口连接不上时,需要重新对准接口在进行连接,不要强行连接。Jetson nano 需要连接网络来进行更多的操作,本节就来讲解Jetson nano 的三种网络连接方法。有线:我们可以使用网线连接Jetson nano 的RJ45 接口,实现联网。

m0_73841621的博客 1万+

HAProxy-Consul 项目使用教程

HAProxy-Consul 项目使用教程 项目介绍 HAProxy-Consul 是一个开源项目,旨在通过 Consul 服务发现机制,使 HAProxy 能够动态地发现和负载均衡后端服务。该项目结合了 HAProxy 的高性能负载均衡能力和 Consul 的服务发现功能,为微服务架构提供了强大的支持。 项目快速启动 环境准备 在开始之前,请确保你已经安装了以下软件: Docker Docke...

gitblog_00050的博客 993

tuts4you-lena151-Crackme-tutorial06

一、前言      本次研究的是lena151-Crackme-tutorial06,也是一个应用程序,但因为平台迭代的关系,程序不能正常运行,只能完成部分破解。 (一)·本次我们要破解的目标是个应用程序,如下图 (二)、使用工具:x32dbg 二、过程 这个程序的破解的方法很多,首先最简单的一种不外乎就是搜索字符串,我就按照这个思路来完成。 (一)查找字符串<Unregis...

h123120的专栏 518

Registrator+Consul+Consul-template+HaProxy实现动态修改Haproty配置文件

实现需求: 用 Haproxy 做负载均衡,手动方式在配置文件中添加或删除节点服务器信息,比较麻烦。 通过 Registrator 收集需要注册到 Consul 作为 Haproxy 节点服务器的信息,然后注册到 Consul key/value 。 Consul-template 去 Consul key/value 中读取信息 , 然后自动修改 Haproxy 配置文件,并重载 Hap...

xiaomin1991222的专栏 559

abap中使用Screen painter为普通屏幕创建单选按钮组radiobutton组的过程

选择屏幕中,创建radiobutton组直接使用代码实现,如下所示 SELECTION-SCREEN BEGIN OF BLOCK BK1 WITH FRAME TITLE TEXT-001. PARAMETERS R1 RADIOBUTTON GROUP GR1. PARAMETERS R2 RADIOBUTTON GROUP GR1. PARAMETERS R3 RADIOBUTTON GR

charliefromkansas的博客 8302

树莓派通过TTL3.3转485 Modbus采集水表

所需道具 树莓派0,我用的是树莓派zero wh; 具有光电直读功能的有线水表,我用的是咸鱼淘的埃美柯LXSY-20E1; TTL3.3 转 485模块,带隔离的贵些; 5V转12V升压模块。 原理 树莓派有UART(GPIO14 Tx 和 GPIO15 Rx)串口通讯功能,电器特性是3.3V TTL,直读远传水表支持M-Bus/485通讯接口,我买的光电直读水表485要求12V供电(根据仪表厂家说明书)。TTL和485虽然都是串口通讯,但电器特性不一样,不能直接接!我已经烧掉一个树莓派...

xhydongda的博客 3442

资源定义方式创建haproxy

资源定义方式创建haproxy创建两个httpd服务的pod创建haproxy服务的pod 创建两个httpd服务的pod //创建yml文件,定义deploy、service等资源 [root@master manifest]# cat httpd.yml --- apiVersion: apps/v1 kind: Deployment metadata: name: httpd namespace: default spec: replicas: 2 selector: mat

tianwailaiwu_的博客 610

(建议收藏)2024最新 URL Scheme大全APP跳转界面地址更新中 ios快捷指令快捷方式链接跳转微信小程序必备autojs可用免root (可定制开发和提取URL Scheme 参数提取)

(建议收藏)2024最新 URL Scheme大全APP跳转界面地址更新中 ios快捷指令快捷方式链接跳转微信小程序必备autojs可用免root (可定制开发和提取URL Scheme 参数提取)

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1万+

K8s资源定义haproxy

K8s资源定义haproxy 先简单的做出两个运行httpd程序的pod,其中默认的index.html文件不一样 [root@master httpd1]# vim Dockerfile FROM busybox RUN mkdir /data && echo 'test page1' > /data/index.html CMD ["/bin/httpd","-f","-h","/data"] [root@master httpd1]# docker build -t 9

Cadillac_Yuhuang的博客 1364

PCL点云DBSCAN聚类算法:基于密度的点云聚类

核心点是在给定半径内拥有足够多邻居点的点,边界点是在给定半径内没有足够多邻居点但是位于核心点的邻域内的点,噪声点是既不是核心点也不是边界点的点。本文将介绍PCL中的DBSCAN(基于密度的空间聚类应用噪声)算法,用于点云数据的聚类。上述示例代码首先从PCD文件中读取点云数据,并设置了DBSCAN聚类的参数,包括邻域搜索半径(epsilon)和邻域内最小点数(min_points)。需要注意的是,示例代码中的点云数据格式为pcl::PointXYZ,如果使用其他类型的点云数据,需要相应地修改代码。

LpmShell的博客 1238

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Kubernetes使用资源定义haproxy

文章目录一、健康检查二、探针类型三、应用自修复四、使用资源定义方式创建haproxy的pod进行负载均衡4.1 准备工作4.2 用上面两个httpd镜像创建rs1、rs2容器4.3 写资源清单 定义haproxy4.4 访问测试 一、健康检查 强大的自愈能力是 Kubernetes 这类容器编排引擎的一个重要特性。自愈的默认实现方式是自动重启发生故障的容器。除此之外,用户还可以利用 Liveness 和 Readiness 探测机制设置更精细的健康检查,进而实现如下需求: 零停机部署。 避免部署无效的镜像。

Gf19991225的博客 898

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

k8s资源定义并创建haproxy的pod进行负载均衡

这里写自定义目录标题k8s资源清单定义入门k8s的核心资源创建资源的方式资源配置清单的组成定义一个基于YAML格式的配置文件的自主式pod资源 k8s资源清单定义入门 k8s的核心资源 workload型资源: Pod ReplicaSet Deployment StatefulSet DaemonSet Job Cronjob 服务发现及负载均衡型资源: Service Ingress 配置与存储相关的资源: 存储卷 云端存储 亚马逊弹性块存储 SAN GlusterFS(分布式存

m0_46289146的博客 1240

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

k8s资源定义haproxy负载均衡

K8s资源定义haproxy 先简单的做出两个运行httpd程序的pod,其中默认的index.html文件不一样 [root@JLmaster ~]# vim Dockerfile FROM busybox RUN mkdir /data && echo 'hello,this is a test page 1 > /data/index.html C...

Jivove的博客 301

K8s资源定义haproxy负载均衡

K8s资源定义haproxy 先简单的做出两个运行httpd程序的pod,其中默认的index.html文件不一样 [root@master ~]# vim Dockerfile FROM busybox RUN mkdir /data && echo 'hello,this is a test page 1 > /data/index.html CMD ["/bin/httpd","-f","-h","/data"] [root@master ~]# docker build

I'm the best !!! 258
上一篇: kubernetes资源清单定义haproxy实现负载均衡
下一篇: k8s资源调度
在你书包里拉屎
博客等级 码龄5年 149粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值