《Linux运维总结:基于Ubuntu22.04操作系统+x86_64架构CPU部署consul v1.18.1之二进制版TLS/ACL集群》

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》


一、简介

1、什么是consul

Consul是HashiCorp公司推出的开源工具,用于实现 分布式系统的服务发现与配置。 Consul是分布式的、高可用的、可横向扩展的。

架构图如下:
在这里插入图片描述

总结如下:

1、CLIENT表示consul的client模式,就是客户端模式。是consul节点的一种模式,这种模式下,所有注册到当前节点的服务会被转发到SERVER【通过HTTP和DNS接口请求server】,本身是不持久化这些信息。

2、SERVER表示consul的server模式,表明这个consul是个server,这种模式下,功能和CLIENT都一样,唯一不同的是,它会把所有的信息持久化的本地,这样遇到故障,信息是可以被保留的。

3、SERVER-LEADER:中间那个SERVER下面有LEADER的字眼,表明这个SERVER是它们的老大,它和其它SERVER不一样的一点是,它需要负责同步注册的信息给其它的SERVER,同时也要负责各个节点的健康监测。


2、etcd、Zookeeper 和 Consul对比

特性/工具 etcd zookeeper Consul
一致性模型 强一致性 (Raft) 强一致性 (ZAB) 最终一致性 (可配置为强一致性)
扩展性 良好,适合大量键值对 良好,但在大量数据时可能遇到性能瓶颈 可能遭受高延迟和内存压力
功能和易用性 API 简洁,易于使用 功能强大,支持多种高级特性 API 设计友好,易于集成
服务发现 支持服务发现 支持服务发现 专门设计用于服务发现
健康检查 不直接支持 不直接支持 支持健康检查
安全性 支持TLS或者启用用户身份认证 支持ACL 支持 TLS 和 ACL
多数据中心 支持多数据中心配置 支持多数据中心配置 原生支持多数据中心配置
语言和生态 使用 Go 语言,广泛的客户端库支持 使用 Java 编写,适合 Java 应用程序 使用 Go 语言,支持多种语言的客户端库
社区和生态 活跃的社区,是 Kubernetes 的一部分 历史悠久,庞大的用户基础 良好的文档和社区支持
性能 在处理大量键值对时表现出色 在某些场景下提供了更好的最小延迟 性能取决于使用场景
自身监控 metrics - metrics
使用场景 配置管理、服务注册和发现等场景 复杂协调服务 服务发现、健康检查和配置管理等场景

3、配置consul的TLS、ACl和Gossip Encryption

总结:consul有三方面的安全保护机制
1、Gossip Encryption:Consul使用Gossip协议来管理集群中的成员关系,以及把消息广播到集群中,通过UDP完成
2、TLS:使用https加密consul的API、GRPC
3、ACl:控制Services、Nodes、KV的读写权限


二、部署说明

1、环境信息

主机IP 节点名称 操作系统 内核版本 consul版本 服务启动用户 集群角色
192.168.1.111 consul-server-node-1 Ubuntu 22.04.4 LTS 5.15.0-113-generic 1.18.1 consul server
192.168.1.112 consul-server-node-2 Ubuntu 22.04.4 LTS 5.15.0-113-generic 1.18.1 consul server
192.168.1.113 consul-server-node-3 Ubuntu 22.04.4 LTS 5.15.0-113-generic 1.18.1 consul server
192.168.1.114 consul-client-node-4 Ubuntu 22.04.4 LTS 5.15.0-113-generic
  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东城绝神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值