k8s部署最新版zookeeper集群(3.9.2),并配置prometheus监控

目录

  • zookeeper集群部署
    • 创建zookeeper文件夹
    • namespace.yaml
    • scripts-configmap.yaml
    • serviceaccount.yaml
    • statefulset.yaml
    • svc-headless.yaml
    • svc.yaml
    • metrics-svc.yaml
    • 执行部署
  • 接入prometheus
    • 访问prometheus查看接入情况
    • 导入zookeeper监控模版
    • 监控展示

zookeeper集群部署

复制粘贴即用

创建zookeeper文件夹

# 创建文件夹
mkdir -p /opt/zookeeper
cd /opt/zookeeper

namespace.yaml

apiVersion: v1
kind: Namespace
metadata:labels:kubernetes.io/metadata.name: zookeepername: zookeeper

scripts-configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:name: zookeeper-scriptsnamespace: zookeeperlabels:app.kubernetes.io/name: zookeeperapp.kubernetes.io/version: 3.9.2app.kubernetes.io/component: zookeeper
data:init-certs.sh: |-#!/bin/bashsetup.sh: |-#!/bin/bash# Execute entrypoint as usual after obtaining ZOO_SERVER_ID# check ZOO_SERVER_ID in persistent volume via myid# if not present, set based on POD hostnameif [[ -f "/bitnami/zookeeper/data/myid" ]]; thenexport ZOO_SERVER_ID="$(cat /bitnami/zookeeper/data/myid)"elseHOSTNAME="$(hostname -s)"if [[ $HOSTNAME =~ (.*)-([0-9]+)$ ]]; thenORD=${BASH_REMATCH[2]}export ZOO_SERVER_ID="$((ORD + 1 ))"elseecho "Failed to get index from hostname $HOSTNAME"exit 1fifiexec /entrypoint.sh /run.sh

serviceaccount.yaml

apiVersion: v1
kind: ServiceAccount
metadata:name: zookeepernamespace: zookeeperlabels:app.kubernetes.io/name: zookeeperapp.kubernetes.io/version: 3.9.2app.kubernetes.io/component: zookeeperrole: zookeeper
automountServiceAccountToken: false

statefulset.yaml

---
# Source: zookeeper/templates/statefulset.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:name: zookeepernamespace: zookeeperlabels:app.kubernetes.io/name: zookeeperapp.kubernetes.io/version: 3.9.2app.kubernetes.io/component: zookeeperrole: zookeeper
spec:replicas: 3revisionHistoryLimit: 10podManagementPolicy: Parallelselector:matchLabels:app.kubernetes.io/name: zookeeperapp.kubernetes.io/component: zookeeperserviceName: zookeeper-headlessupdateStrategy:rollingUpdate: {}type: RollingUpdatetemplate:metadata:annotations:labels:app.kubernetes.io/name: zookeeperapp.kubernetes.io/version: 3.9.2app.kubernetes.io/component: zookeeperspec:enableServiceLinks: trueserviceAccountName: zookeeper# 取消为 service account 自动挂载 API 凭证automountServiceAccountToken: falseaffinity:podAffinity:# pod反亲和,将pod打散至不同节点,实现高可用podAntiAffinity:preferredDuringSchedulingIgnoredDuringExecution:- podAffinityTerm:labelSelector:matchLabels:app.kubernetes.io/name: zookeeperapp.kubernetes.io/component: zookeepertopologyKey: kubernetes.io/hostnameweight: 1nodeAffinity:# 配置安全上下文    securityContext:fsGroup: 1001fsGroupChangePolicy: AlwayssupplementalGroups: []sysctls: []initContainers:containers:- name: zookeeperimage: docker.io/bitnami/zookeeper:3.9.2-debian-12-r2imagePullPolicy: "IfNotPresent"securityContext:allowPrivilegeEscalation: falsecapabilities:drop:- ALLprivileged: falsereadOnlyRootFilesystem: truerunAsGroup: 1001runAsNonRoot: truerunAsUser: 1001seLinuxOptions: {}seccompProfile:type: RuntimeDefaultcommand:- /scripts/setup.shresources:limits:cpu: 375mephemeral-storage: 1024Mimemory: 384Mirequests:cpu: 250mephemeral-storage: 50Mimemory: 256Mienv:- name: BITNAMI_DEBUGvalue: "false"- name: ZOO_DATA_LOG_DIRvalue: ""- name: ZOO_PORT_NUMBERvalue: "2181"- name: ZOO_TICK_TIMEvalue: "2000"- name: ZOO_INIT_LIMITvalue: "10"- name: ZOO_SYNC_LIMITvalue: "5"- name: ZOO_PRE_ALLOC_SIZEvalue: "65536"- name: ZOO_SNAPCOUNTvalue: "100000"- name: ZOO_MAX_CLIENT_CNXNSvalue: "60"- name: ZOO_4LW_COMMANDS_WHITELISTvalue: "srvr, mntr, ruok"- name: ZOO_LISTEN_ALLIPS_ENABLEDvalue: "no"- name: ZOO_AUTOPURGE_INTERVALvalue: "1"- name: ZOO_AUTOPURGE_RETAIN_COUNTvalue: "10"- name: ZOO_MAX_SESSION_TIMEOUTvalue: "40000"- name: ZOO_SERVERSvalue: zookeeper-0.zookeeper-headless.zookeeper.svc.cluster.local:2888:3888::1 zookeeper-1.zookeeper-headless.zookeeper.svc.cluster.local:2888:3888::2 zookeeper-2.zookeeper-headless.zookeeper.svc.cluster.local:2888:3888::3 - name: ZOO_ENABLE_AUTHvalue: "no"- name: ZOO_ENABLE_QUORUM_AUTHvalue: "no"- name: ZOO_HEAP_SIZEvalue: "1024"- name: ZOO_LOG_LEVELvalue: "ERROR"- name: ALLOW_ANONYMOUS_LOGINvalue: "yes"- name: ZOO_ENABLE_PROMETHEUS_METRICSvalue: "yes"- name: ZOO_PROMETHEUS_METRICS_PORT_NUMBERvalue: "9141"- name: POD_NAMEvalueFrom:fieldRef:apiVersion: v1fieldPath: metadata.name- name: ZOO_ADMIN_SERVER_PORT_NUMBERvalue: "8080"ports:- name: clientcontainerPort: 2181- name: followercontainerPort: 2888- name: electioncontainerPort: 3888# 开启metrics,供prometheus监控- name: metricscontainerPort: 9141- name: http-admincontainerPort: 8080livenessProbe:failureThreshold: 6initialDelaySeconds: 30periodSeconds: 10successThreshold: 1timeoutSeconds: 5exec:command:- /bin/bash- -ec- ZOO_HC_TIMEOUT=2 /opt/bitnami/scripts/zookeeper/healthcheck.shreadinessProbe:failureThreshold: 6initialDelaySeconds: 5periodSeconds: 10successThreshold: 1timeoutSeconds: 5exec:command:- /bin/bash- -ec- ZOO_HC_TIMEOUT=2 /opt/bitnami/scripts/zookeeper/healthcheck.shvolumeMounts:- name: empty-dirmountPath: /tmpsubPath: tmp-dir- name: empty-dirmountPath: /opt/bitnami/zookeeper/confsubPath: app-conf-dir- name: empty-dirmountPath: /opt/bitnami/zookeeper/logssubPath: app-logs-dir- name: scriptsmountPath: /scripts/setup.shsubPath: setup.sh- name: datamountPath: /bitnami/zookeepervolumes:- name: empty-diremptyDir: {}- name: scriptsconfigMap:name: zookeeper-scriptsdefaultMode: 493volumeClaimTemplates:- metadata:name: dataspec:accessModes:- "ReadWriteOnce"resources:requests:storage: "10Gi"# 按当前集群存储类修改    storageClassName: nfs-client

svc-headless.yaml

apiVersion: v1
kind: Service
metadata:name: zookeeper-headlessnamespace: zookeeperlabels:app.kubernetes.io/name: zookeeperapp.kubernetes.io/version: 3.9.2app.kubernetes.io/component: zookeeper
spec:type: ClusterIPclusterIP: NonepublishNotReadyAddresses: trueports:- name: tcp-clientport: 2181targetPort: client- name: tcp-followerport: 2888targetPort: follower- name: tcp-electionport: 3888targetPort: electionselector:app.kubernetes.io/name: zookeeperapp.kubernetes.io/component: zookeeper

svc.yaml

apiVersion: v1
kind: Service
metadata:name: zookeepernamespace: zookeeperlabels:app.kubernetes.io/name: zookeeperapp.kubernetes.io/version: 3.9.2app.kubernetes.io/component: zookeeper
spec:type: ClusterIPsessionAffinity: Noneports:- name: tcp-clientport: 2181targetPort: clientnodePort: null- name: tcp-followerport: 2888targetPort: follower- name: tcp-electionport: 3888targetPort: electionselector:app.kubernetes.io/name: zookeeperapp.kubernetes.io/component: zookeeper

metrics-svc.yaml

apiVersion: v1
kind: Service
metadata:name: zookeeper-metricsnamespace: zookeeperlabels:app.kubernetes.io/name: zookeeperapp.kubernetes.io/version: 3.9.2app.kubernetes.io/component: metricsannotations:prometheus.io/path: /metricsprometheus.io/port: "9141"# 开启prometheus监控prometheus.io/scrape: "true"
spec:type: ClusterIPports:- name: tcp-metricsport: 9141targetPort: metricsselector:app.kubernetes.io/name: zookeeperapp.kubernetes.io/component: zookeeper

执行部署

# 执行部署
kubectl apply -f .
# 查看部署情况
kubectl get pod,svc,pvc -n zookeeper
NAME              READY   STATUS    RESTARTS   AGE
pod/zookeeper-0   1/1     Running   0          16h
pod/zookeeper-1   1/1     Running   0          16h
pod/zookeeper-2   1/1     Running   0          16hNAME                         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                      AGE
service/zookeeper            ClusterIP   10.0.6.237   <none>        2181/TCP,2888/TCP,3888/TCP   19h
service/zookeeper-headless   ClusterIP   None         <none>        2181/TCP,2888/TCP,3888/TCP   19h
service/zookeeper-metrics    ClusterIP   10.0.8.208   <none>        9141/TCP                     19hNAME                                     STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
persistentvolumeclaim/data-zookeeper-0   Bound    pvc-a6ac5f14-bd56-4d20-8e8b-64b8efe4ab52   10Gi       RWO            nfs-client     19h
persistentvolumeclaim/data-zookeeper-1   Bound    pvc-7beccb60-202f-4be4-90e0-2178385055fb   10Gi       RWO            nfs-client     19h
persistentvolumeclaim/data-zookeeper-2   Bound    pvc-7c5ed75d-0467-4007-b5f1-7a7701b91b92   10Gi       RWO            nfs-client     19h

接入prometheus

prometheus部署可查看历史博客:k8s-prometheus+grafana+alertmanager监控加邮件告警

访问prometheus查看接入情况

在这里插入图片描述

导入zookeeper监控模版

模版编号: 10465
在这里插入图片描述

监控展示

注:刚部署完监控值皆为0,图中为接入业务后有数据显示
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/9407.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库权限管理

1.查看系统级权限&#xff08;global level) Select * from mysql.user\G; 2.查看数据库中所有表的权限 Select * from mysql.db\G 3.远程连接数据库 第一步在有数据库服务上的主机上&#xff1a;授权 grant all on *.* to root192.168.40.83 identified by Zxy20234; 第…

【数据结构】 二叉树的顺序结构——堆的实现

普通的二叉树是不适合用数组来存储的&#xff0c;因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储 。 一、堆的概念及结构 父节点比孩子结点大 是大堆 父节点比孩子结点小 是小堆 堆的性质 堆中某…

java2Schema——jsonschema-generator使用

从JAVA代码生成Schema&#xff1a;https://github.com/victools/jsonschema-generator 引入依赖 <dependency><groupId>com.github.victools</groupId><artifactId>jsonschema-generator</artifactId><version>4.28.0</version><…

Centos7使用kubeadm搭建k8s集群(一主两从)----(mac版)

一、环境准备 1、下载centos7镜像 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 下载地址: centos安装包下载_开源镜像站-阿里云 选择对应的版本即可&#xff0c;我下载的&#xff1a;CentOS-7-x86_64-DVD-2207-02.iso 2、使用VirtualBox安装centos 选择新建&#xff0c…

Mac下安装ffmpeg

1、安装gedit brew install gedit2、配置环境变量&#xff0c;打开~/.zshrc&#xff0c;在末尾添加语句 export PATH$PATH:/usr/local/ffmpeg/bin3、执行语句&#xff0c;使环境变量生效 source ~/.zshrc 4、终端输入 ffmpeg &#xff0c;看环境变量是否配置成功。 至此&a…

现货黄金流程到何种程度?现货黄金在金融产品中的占比是多少?

踏入2024年以来&#xff0c;受美联储降息以及地缘局势紧张的影响&#xff0c;美元受压&#xff0c;避险情绪高涨&#xff0c;众多因素影响下黄金价格出现了强势的上涨&#xff0c;屡创历史新高。在上涨如此强劲的背景下&#xff0c;投资者希望通过黄金投资来实现资产增值。市场…

雷军-2022.8小米创业思考-6-互联网七字诀之口碑:口碑即定位,超预期才有口碑,品牌建设

第六章 互联网七字诀 专注、极致、口碑、快&#xff0c;这就是我总结的互联网七字诀&#xff0c;也是我对互联网思维的高度概括。 口碑 用户口碑是所有产品成功的关键因素&#xff0c;这是不言而喻的公理。 资源永远有限&#xff0c;对于创业公司尤其如此。只有专注&#xf…

等保测评数据库整改步骤

等保测评中的数据库整改步骤通常包括以下几个关键环节&#xff1a; 1. **身份鉴别** - 确保每个用户都有唯一身份标识&#xff0c;密码具有复杂度要求&#xff0c;并定期更换。 - 配置数据库系统鉴别失败处理功能&#xff0c;如限制非法登录次数和超时自动退出。 2. **…

C++语法|进程虚拟地址空间和函数调用栈

本文来自施磊老师的课程&#xff0c;老师讲的非常不错&#xff0c;我的笔记也是囫囵吞枣全部记下&#xff0c;但是我在这里推荐一本书&#xff0c;真的真的建议初学C或者想要进阶C的同学们看看&#xff1a;《CPU眼里的C/C》 文章目录 进程的虚拟地址空间和布局进程虚拟地址空间…

机器学习过拟合解决方案 - 正则化

在机器学习中&#xff0c;线性回归是一种常见的预测模型&#xff0c;旨在找到一个线性函数来尽可能准确地预测目标值。然而&#xff0c;当模型过于复杂&#xff0c;尤其是参数过多时&#xff0c;就会发生过拟合现象&#xff0c;即模型在训练数据上表现很好&#xff0c;但在新的…

ros 学习记录(二)URDF小车运动控制

URDF小车运动控制 准备工作创建 robot_xacro.launch 接上文&#xff0c;想用键盘控制小车在Gazebo中移动。 准备工作 名称版本ROSNoeticGazebo11.11.0 创建 robot_xacro.launch 通过运行这个launch文件&#xff0c;可以启动Gazebo仿真环境&#xff0c;并在仿真环境中加载和…

【ITK配准】第十四期 BSpline可变形配准样例

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享ITK配准中的BSpline可变形配准,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO BSpline可变形…

【八十五】【算法分析与设计】单调栈的全新版本,两个循环维护左小于和右小于信息,84. 柱状图中最大的矩形,85. 最大矩形

84. 柱状图中最大的矩形 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 示例 1: 输入&#xff1a;heights [2,1,5,6,2,3] 输出&#xff1a;10 解释&am…

nginx开启局域网https访问

需求 调试webRTC 功能,需要在局域网搭建https发给我协议; 实现 环境 局域网已部署有nginx; 部署可参考专栏文章 已安装Openssl 未安装可以执行 sudo yum install openssl 这个命令进行安装 生成证书和私钥 生成私钥:打开命令提示符或终端窗口,执行以下命令以生成私钥文件…

20240510金融读报:金监局出台商业银行代理保险通知银行保险做好五大篇文章意见碳减排票据实例债券通知实行

1、金监局印发《关于商业银行代理保险业务有关事项的通知》&#xff0c;修改原部分内容。银行合作保险工作无上限、合作应双方法人机构或授权一级分支机构签约、银行代理佣金率不能超备案 2、广碳所粤华发电公司绿色&#xff08;碳减排&#xff09;票据实例&#xff1a;背景&am…

日本站群服务器的优点以及适合该服务器的业务类型?

日本站群服务器的优点以及适合该服务器的业务类型? 日本站群服务器是指位于日本地区的多个网站共享同一台服务器的架构。这种服务器架构有着诸多优点&#xff0c;使其成为许多企业和网站管理员的首选。以下是日本站群服务器的优点以及适合该服务器的业务类型的分析&#xff1…

企业怎样进行项目管理?

在当今快节奏的商业环境中&#xff0c;企业要想保持竞争力&#xff0c;有效的项目管理是关键。项目管理不仅涉及到规划、执行和监控&#xff0c;还包括团队协作、资源分配和风险管理等多个方面。zz-plan 作为一款集多种功能于一体的在线甘特图协作软件&#xff0c;为企业项目管…

【小笔记】问答系统可视化实现的三种方式

下面三种方式都是基于Python的哈&#xff0c;从简单到复杂。 方式一&#xff1a;命令行交互问答 优点&#xff1a;原始简单直接 方式二&#xff1a;使用Python可视化框架 优点&#xff1a;无需学习前端技术栈即可搭建一个web。 streamlit&#xff1a;⭐️⭐️⭐️⭐️gra…

android原生开发学习路线

基础知识&#xff1a; 学习Java语言基础&#xff0c;包括面向对象编程、数据结构、算法等。了解Android操作系统的基本概念&#xff0c;包括它的架构和组件。 Android开发环境搭建&#xff1a; 安装Android Studio&#xff0c;这是官方推荐的集成开发环境(IDE)。配置Android SD…

MySQL——变量的定义与使用

新建链接&#xff0c;自带world数据库&#xff0c;里面自带city表格。 DQL # MySQL变量的定义与使用 #1、不允许数字作为开头 #2、只能用_或$符号&#xff0c;不允许使用其他符号 #3、不允许使用关键字或保留字 set userName小可爱; select userName; #标识符只影响当前查询#…