docker-compose deploy 高可用 elasticsearch TLS

2023-11-16

1.sysctl

[root@github es_tls]# cat /etc/sysctl.conf 
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).

net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

net.netfilter.nf_conntrack_max = 262144
net.nf_conntrack_max = 262144


fs.aio-max-nr = 1065535
kernel.pid_max = 600000
net.ipv4.tcp_max_syn_backlog = 30000
net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.ip_forward = 1
net.ipv4.ip_local_reserved_ports = 30000-32767
net.ipv4.ip_local_port_range = 1024 65000
net.core.netdev_max_backlog = 300000
net.ipv4.tcp_rmem = 4096 87380 134217728
net.ipv4.tcp_wmem = 4096 87380 134217728
net.ipv4.tcp_sack = 0
net.ipv4.tcp_fin_timeout = 20
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv6.route.max_size = 2147483647
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
vm.swappiness = 0
vm.max_map_count = 262144
fs.inotify.max_user_watches=1048576


2. swap

swapoff -a

3. hosts

echo "10.253.219.1 es01 es02 es03 kib01" >>  /etc/hosts

4. 配置 instances.yaml

$ vim instances.yaml
instances:
  - name: es01
    dns:
      - es01 
    ip:
      - 10.253.219.1

  - name: es02
    dns:
      - es02
    ip:
      - 10.253.219.1

  - name: es03
    dns:
      - es03
    ip:
      - 10.253.219.1

  - name: 'kib01'
    dns:
      - kib01
    ip:
      - 10.253.219.1


$ cat .env
COMPOSE_PROJECT_NAME=es 
CERTS_DIR=/usr/share/elasticsearch/config/certificates 
VERSION=7.17.6

$ mkdir -p /usr/share/elasticsearch/config/certificates

5. 创建证书

$ sudo docker-compose -f create-certs.yml run --rm create_certs
[+] Creating 1/0
 ✔ Volume "es_certs"  Created                                                                                                                                           0.0s 
Archive:  /certs/bundle.zip
   creating: /certs/ca/
  inflating: /certs/ca/ca.crt        
   creating: /certs/es01/
  inflating: /certs/es01/es01.crt    
  inflating: /certs/es01/es01.key    
   creating: /certs/es02/
  inflating: /certs/es02/es02.crt    
  inflating: /certs/es02/es02.key    
   creating: /certs/es03/
  inflating: /certs/es03/es03.crt    
  inflating: /certs/es03/es03.key    
   creating: /certs/kib01/
  inflating: /certs/kib01/kib01.crt  
  inflating: /certs/kib01/kib01.key  
$ sudo docker volume ls|grep es
local               es_certs

$ sudo ls /apps/data/docker/volumes/es_certs/_data
bundle.zip  ca	es01  es02  es03  kib01


6. 部署

$ sudo  docker-compose up -d
[+] Running 7/7
 ✔ Volume "es_data03"  Created                                                                                                                                          0.0s 
 ✔ Volume "es_data01"  Created                                                                                                                                          0.0s 
 ✔ Volume "es_data02"  Created                                                                                                                                          0.0s 
 ✔ Container es02      Started                                                                                                                                         10.8s 
 ✔ Container es01      Healthy                                                                                                                                         43.9s 
 ✔ Container es03      Started                                                                                                                                         10.8s 
 ✔ Container kib01     Started                                                                                                                                         40.6s 
$ sudo  docker-compose ps
NAME                IMAGE                                                  COMMAND                  SERVICE             CREATED             STATUS                    PORTS
es01                docker.elastic.co/elasticsearch/elasticsearch:7.17.6   "/bin/tini -- /usr/l…"   es01                53 seconds ago      Up 42 seconds (healthy)   0.0.0.0:9200->9200/tcp, 9300/tcp
es02                docker.elastic.co/elasticsearch/elasticsearch:7.17.6   "/bin/tini -- /usr/l…"   es02                53 seconds ago      Up 42 seconds             9200/tcp, 9300/tcp
es03                docker.elastic.co/elasticsearch/elasticsearch:7.17.6   "/bin/tini -- /usr/l…"   es03                53 seconds ago      Up 42 seconds             9200/tcp, 9300/tcp
kib01               docker.elastic.co/kibana/kibana:7.17.6                 "/bin/tini -- /usr/l…"   kib01               46 seconds ago      Up 6 seconds              0.0.0.0:5601->5601/tcp


$ sudo docker exec es01 /bin/bash -c "bin/elasticsearch-setup-passwords auto --batch --url https://es01:9200"
Changed password for user apm_system
PASSWORD apm_system = 6Je1ftTgEv7DrFzhNMDf

Changed password for user kibana_system
PASSWORD kibana_system = ZYbQBQXHHPYJvq6r2RVM

Changed password for user kibana
PASSWORD kibana = ZYbQBQXHHPYJvq6r2RVM

Changed password for user logstash_system
PASSWORD logstash_system = e7a3mdoDvEstm74ym4SK

Changed password for user beats_system
PASSWORD beats_system = SkNQ624TS29y5EAD9bXP

Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = D965EMle8bVNHh17dl2K

Changed password for user elastic
PASSWORD elastic = fQkkGPlAaQld61gRr8GK

测试

$ sudo curl --cacert /apps/data/docker/volumes/es_certs/_data/ca/ca.crt -u elastic:fQkkGPlAaQld61gRr8GK  https://10.253.219.1:9200/_cat/nodes?v
ip         heap.percent ram.percent cpu load_1m load_5m load_15m node.role   master name
172.22.0.2            6          76  19   19.73   19.07    19.65 cdfhilmrstw -      es01
172.22.0.4           14          76  19   19.73   19.07    19.65 cdfhilmrstw -      es02
172.22.0.3           12          76  19   19.73   19.07    19.65 cdfhilmrstw *      es03

7. 修改 kibanna 密码

修改 docker-compose.yaml

......
      ELASTICSEARCH_PASSWORD: ZYbQBQXHHPYJvq6r2RVM
.....

重启

$ sudo docker-compose stop
[+] Stopping 4/4
 ✔ Container es02   Stopped                                                                                                                                             1.8s 
 ✔ Container kib01  Stopped                                                                                                                                             2.0s 
 ✔ Container es03   Stopped                                                                                                                                             1.8s 
 ✔ Container es01   Stopped   

$ sudo docker-compose up -d
[+] Running 4/4
 ✔ Container es03   Started                                                                                                                                             6.6s 
 ✔ Container es01   Healthy                                                                                                                                            38.1s 
 ✔ Container es02   Started                                                                                                                                             6.6s 
 ✔ Container kib01  Started 

$ sudo docker-compose ps
NAME                IMAGE                                                  COMMAND                  SERVICE             CREATED              STATUS                        PORTS
es01                docker.elastic.co/elasticsearch/elasticsearch:7.17.6   "/bin/tini -- /usr/l…"   es01                About an hour ago    Up About a minute (healthy)   0.0.0.0:9200->9200/tcp, 9300/tcp
es02                docker.elastic.co/elasticsearch/elasticsearch:7.17.6   "/bin/tini -- /usr/l…"   es02                About an hour ago    Up About a minute             9200/tcp, 9300/tcp
es03                docker.elastic.co/elasticsearch/elasticsearch:7.17.6   "/bin/tini -- /usr/l…"   es03                About an hour ago    Up About a minute             9200/tcp, 9300/tcp
kib01               docker.elastic.co/kibana/kibana:7.17.6                 "/bin/tini -- /usr/l…"   kib01               About a minute ago   Up 30 seconds                 0.0.0.0:5601->5601/tcp
                                                      
sudo curl --cacert /apps/data/docker/volumes/es_certs/_data/ca/ca.crt -u  kibana_system:ZYbQBQXHHPYJvq6r2RVM  https://10.253.219.1:5601

8. 清理

docker-compose stop
docker-compose rm

清理容器卷

$  sudo cat /etc/systemd/system/docker.service.d/docker-options.conf
[Service]
Environment="DOCKER_OPTS= --insecure-registry=0.0.0.0/0  --data-root=/apps/data/docker --log-opt max-size=50m --log-opt max-file=5 --live-restore=true --pidfile=/apps/run/docker/docker.pid --iptables=true"

$  sudo ls /apps/data/docker/volumes/es_certs/_data/
bundle.zip  ca	es01  es02  es03  kib01

$ sudo docker volume ls|grep es
local               es_certs
local               es_data01
local               es_data02
local               es_data03

sudo docker volume rm es_certs
sudo docker volume rm es_data01
sudo docker volume rm es_data02
sudo docker volume rm es_data03

$ sudo ls /apps/data/docker/volumes/es_certs/_data/
ls: cannot access /apps/data/docker/volumes/es_certs/_data/: No such file or directory

参考:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker-compose deploy 高可用 elasticsearch TLS 的相关文章

随机推荐

  • 文本聚类(一)—— LDA 主题模型

    目录 文本聚类 一 LDA 主题模型 1 1 加载数据集 1 2 数据清洗 分词 1 3 构建词典 语料向量化表示 1 4 构建 LDA 模型 1 5 模型的保存 加载以及预测 1 6 小结 Update log 2021 07 08 主要
  • 使用PLC-Recorder快速连接PLC记录数据

    一 快速获取软件 PLC Recorder是一款优秀的国产PLC故障记录及数据采集软件 相较昂贵的国外软件 即使免费试用版本 已基本能满足工控 维护一族工程师们使用了 下面介绍一下获取方法 首先 可以在官网上下载此软件 点击软件下载的第一项
  • [技术发展-14]:高级研修班-智能制造-智能制造技术体系与发展状况

    目录 作者主页 https blog csdn net HiWangWenBing 文章出处 https blog csdn net HiWangWenBing article details 118251237 第1章 智能制造是历史发展
  • python常见异常类型&异常处理

    python常见异常类型 异常处理 常见异常类型 ZeroDivisionError 除 或取模 零 IndexError 序列中没有此索引 KeyError 映射中没有这个键 NameError 未声明 初始化对象 SyntaxError
  • chatgpt赋能python:如何让Python程序运行

    如何让Python程序运行 Python是一种高级编程语言 它被广泛应用于各种不同的领域 包括Web开发 数据分析 机器学习 人工智能等等 当你编写Python程序时 你需要学习如何让它们在你的计算机上运行 在本文中 我们将介绍如何让Pyt
  • ajax请求不能下载文件

    最近在做文件下载 后台写了个控制层 直接走进去应该就可以下载文件 各种文件图片 excel等 但是起初老是下载失败 并且弹出下面的乱码 前台请求代码 fileexcel unbind click bind click function al
  • 【随笔】年轻人的存款多少取决于个人或家庭的消费观

    近日 有调查称 大概五分之一的年轻人存款在一万元以内 10万元存款是一个 坎 存款超过10万就会超过53 7 的人 年轻人 存款 两个词碰撞在一起 引来了广泛的关注和讨论 你认为年轻人存款难吗 可以从以下几个角度发表你的看法 目录 一 灵魂
  • 脑机接口BCI技术概述

    脑机接口BCI技术概述 前言 一 脑机接口BCI是什么 二 BCI的框架 1 信号采集 2 信号处理 2 1 预处理 2 2 特征提取 2 3 模式分类 3 BCI应用 三 脑控系统中常用的BCI范式 1 基于感觉运动节律的BCI 2 基于
  • v-text的用法

    v text指令 相当于原生js中的innerText 用于将数据填充到标签中 作用于插值表达式类似 但是没有闪动问题 如果数据中有HTML标签会将html标签一并输出 注意 此处为单向绑定 数据对象上的值改变 插值会发生变化 但是当插值发
  • 安卓智能手机开发,打地鼠实例(登录页面+游戏界面+课程设计)

    主要为大家详细介绍了Android实现打地鼠小游戏 文中示例代码介绍的非常详细 具有一定的参考价值 感兴趣的小伙伴们可以参考一下 文件 url80 ctfile com f 25127180 743379579 b297fb p 55168
  • JavaSe学习日记

    前言 How to study 需求 工作需要 跳槽 对方需要 技术控 看看传统技术能否解决 能解决 不完美 解决不了 问清楚新技术到底有什么优异 引出我们学习的新技术和知识点 学习新技术或者知识点的基本原理和基本语法 先不要考虑细节 快速
  • Qt 5.9.6 配置MSVC 2017编译器

    一 安装Visual Studio 使用MSVC 2017的最低版本为Visual Studio 2017 高版本适用 我使用的是Visual Studio Community 2019 VS官网下载 选择安装通用Windows平台开发和使
  • GCC - structure/union前端解析说明

    以GCC8 2 0版本为例 介绍gcc语法解析器 parser 对声明即函数定义的解析过程以及structure union的简单解析说明 1 GCC中声明和定义的解析过程 1 1 解析入口 c parse file GCC中gcc c c
  • 双指针算法模板

    什么是同向双指针 什么是相向双指针 双指针的鼻祖题 两数之和 Two Sum 链表上的快慢指针算法 快速排序 归并排序 几乎所有 Two Sum 变种 Partition Quick Select 分成两个部分 分成三个部分 一些你没听过的
  • 关于keil中内存分配的问题,局部变量、全局变量,堆栈的分配

    看 map文件 从 map文件中可以看出 ram中的数据是如何摆放的 1 首先从0x20000000开始 放全局变量的数据 如上图2所示 0x20000000以及0x200000004 0x20000008的地方的数据 存放的是全局变量 分
  • 基于STM32F407的摄像头(不带FIFO的OV7670)图像采集及LCD显示实验-笔记整理

    硬件说明 STM32F4开发板 stm32f4系列的芯片处理的能力可以说非常强大了的 而且内部还自带有数字摄像头接口 DCMI 可以说stm32f407的核心板和不带FIFO的摄像头模块OV7670简直就是绝配 我手上的这块张这个样子 图片
  • 安卓studio 配置Flutter

    1 下载Flutter SDK Flutter SDK 我的安卓studio版本是4 2 1 下载的Flutter SDK 是Dev channel Windows 2 6 0版本 2 将压缩包解压到指定目录 例如C src flutter
  • 最新如何在kali linux中安装搜狗输入法

    在安装之前我们先来更新我们的源 更新方法 leafpad etc apt sources list 在打开的文件中输入下面的源 保存退出 阿里云源 deb http mirrors aliyun com kali sana main non
  • javaFX用IDEA打包导出exe后图片不显示问题

    今天在用idea打包完成了JavaFX项目时 查到了两种方法 一种是用eclipse中的ant直接打包形成可安装的exe文件 见https code makery ch zh cn library javafx tutorial part7
  • docker-compose deploy 高可用 elasticsearch TLS

    文章目录 1 sysctl 2 swap 3 hosts 4 配置 instances yaml 5 创建证书 6 部署 7 修改 kibanna 密码 8 清理 1 sysctl root github es tls cat etc sy