helm部署zookeeper

基础信息:

Helm v3.12.3

Kubernetes v1.28.0

Containerd.io 1.6.22

以下为练习使用helm来安装、升级、回滚、卸载zookeeper的过程,供参考。

1、helm添加BitNami仓库

helm repo add bitnami https://charts.bitnami.com/bitnami

zhangzk@k8smaster:~$ helm repo add bitnami https://charts.bitnami.com/bitnami
"bitnami" has been added to your repositories

2、查看zookeeper的chart

  helm search repo zookeeper

zhangzk@k8smaster:~$ helm search repo zookeeper
NAME                            CHART VERSION   APP VERSION     DESCRIPTION                                       
bitnami/zookeeper               12.1.0          3.9.0           Apache ZooKeeper provides a reliable, centraliz...
bitnami/dataplatform-bp2        12.0.5          1.0.1           DEPRECATED This Helm chart can be used for the ...
bitnami/kafka                   25.1.0          3.5.1           Apache Kafka is a distributed streaming platfor...
bitnami/schema-registry         13.1.0          7.4.1           Confluent Schema Registry provides a RESTful in...
bitnami/solr                    8.0.0           9.3.0           Apache Solr is an extremely powerful, open sour...

3、拉取chart到本地

  helm pull bitnami/zookeeper

zhangzk@k8smaster:~/helm$ helm pull bitnami/zookeeper
zhangzk@k8smaster:~/helm$ ll
total 52
drwxrwxr-x 2 zhangzk zhangzk  4096 Aug 25 10:17 ./
drwxr-x--- 8 zhangzk zhangzk  4096 Aug 25 10:17 ../
-rw-r--r-- 1 zhangzk zhangzk 42792 Aug 25 10:17 zookeeper-12.1.0.tgz

4、修改values.yaml

  解压缩zookeeper-12.1.0.tgz

zhangzk@k8smaster:~/helm$ tar -zxvf zookeeper-12.1.0.tgz 
zhangzk@k8smaster:~/helm$ cd zookeeper
zhangzk@k8smaster:~/helm/zookeeper$ ll
total 124
drwxrwxr-x 4 zhangzk zhangzk  4096 Aug 25 10:18 ./
drwxrwxr-x 3 zhangzk zhangzk  4096 Aug 25 10:18 ../
-rw-r--r-- 1 zhangzk zhangzk   333 Aug 22 22:43 .helmignore
-rw-r--r-- 1 zhangzk zhangzk   226 Aug 22 22:43 Chart.lock
-rw-r--r-- 1 zhangzk zhangzk   845 Aug 22 22:43 Chart.yaml
-rw-r--r-- 1 zhangzk zhangzk 60180 Aug 22 22:43 README.md
drwxrwxr-x 3 zhangzk zhangzk  4096 Aug 25 10:18 charts/
drwxrwxr-x 2 zhangzk zhangzk  4096 Aug 25 10:18 templates/
-rw-r--r-- 1 zhangzk zhangzk 36205 Aug 22 22:43 values.yaml

修改values.yaml文件

修改点1:关闭持久化数据

## Enable persistence using Persistent Volume Claims
## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
##
persistence:## @param persistence.enabled Enable ZooKeeper data persistence using PVC. If false, use emptyDir##enabled: false

修改点2:修改为3份副本

## @param replicaCount Number of ZooKeeper nodes
##
replicaCount: 3

5、helm安装zookeeper到public-service命名空间

   kubectl create ns public-service

  helm install zookeeper -n public-service .

zhangzk@k8smaster:~/helm/zookeeper$ kubectl create ns public-service
namespace/public-service created
zhangzk@k8smaster:~/helm/zookeeper$ helm install zookeeper -n public-service .
NAME: zookeeper
LAST DEPLOYED: Fri Aug 25 10:39:05 2023
NAMESPACE: public-service
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: zookeeper
CHART VERSION: 12.1.0
APP VERSION: 3.9.0** Please be patient while the chart is being deployed **ZooKeeper can be accessed via port 2181 on the following DNS name from within your cluster:zookeeper.public-service.svc.cluster.localTo connect to your ZooKeeper server run the following commands:export POD_NAME=$(kubectl get pods --namespace public-service -l "app.kubernetes.io/name=zookeeper,app.kubernetes.io/instance=zookeeper,app.kubernetes.io/component=zookeeper" -o jsonpath="{.items[0].metadata.name}")kubectl exec -it $POD_NAME -- zkCli.shTo connect to your ZooKeeper server from outside the cluster execute the following commands:kubectl port-forward --namespace public-service svc/zookeeper 2181:2181 &zkCli.sh 127.0.0.1:2181

6、查看Pod的状态

   kubectl get po -n public-service

zhangzk@k8smaster:~/helm/zookeeper$ kubectl get po -n public-service
NAME          READY   STATUS    RESTARTS   AGE
zookeeper-0   1/1     Running   0          102m
zookeeper-1   1/1     Running   0          102m
zookeeper-2   1/1     Running   0          102m

7、查看节点状态

kubectl exec zookeeper-0 -n public-service /opt/bitnami/zookeeper/bin/zkServer.sh status

zhangzk@k8smaster:~/helm/zookeeper$ kubectl exec zookeeper-0 -n public-service  /opt/bitnami/zookeeper/bin/zkServer.sh status
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
/opt/bitnami/java/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/bitnami/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

8、升级版本 upgrade

修改 values.yaml文件replicaCount 为1并且保存

## @param replicaCount Number of ZooKeeper nodes
##
replicaCount: 1

  再执行如下命令:helm upgrade -n public-service zookeeper .

zhangzk@k8smaster:~/helm/zookeeper$ helm upgrade -n public-service zookeeper .
Release "zookeeper" has been upgraded. Happy Helming!
NAME: zookeeper
LAST DEPLOYED: Fri Aug 25 14:40:05 2023
NAMESPACE: public-service
STATUS: deployed
REVISION: 2
TEST SUITE: None
NOTES:
CHART NAME: zookeeper
CHART VERSION: 12.1.0
APP VERSION: 3.9.0** Please be patient while the chart is being deployed **ZooKeeper can be accessed via port 2181 on the following DNS name from within your cluster:zookeeper.public-service.svc.cluster.localTo connect to your ZooKeeper server run the following commands:export POD_NAME=$(kubectl get pods --namespace public-service -l "app.kubernetes.io/name=zookeeper,app.kubernetes.io/instance=zookeeper,app.kubernetes.io/component=zookeeper" -o jsonpath="{.items[0].metadata.name}")kubectl exec -it $POD_NAME -- zkCli.shTo connect to your ZooKeeper server from outside the cluster execute the following commands:kubectl port-forward --namespace public-service svc/zookeeper 2181:2181 &zkCli.sh 127.0.0.1:2181

再次查看pod发现只有一个pod了: kubectl get po -n public-service

zhangzk@k8smaster:~/helm/zookeeper$ kubectl get po -n public-service
NAME          READY   STATUS    RESTARTS   AGE
zookeeper-0   1/1     Running   0          20s

9、回滚版本

1)查看发布历史 : helm history zookeeper -n public-service

zhangzk@k8smaster:~/helm/zookeeper$ helm history zookeeper -n public-service
REVISION        UPDATED                         STATUS          CHART                   APP VERSION     DESCRIPTION     
1               Fri Aug 25 12:40:59 2023        superseded      zookeeper-12.1.0        3.9.0           Install complete
2               Fri Aug 25 14:40:05 2023        deployed        zookeeper-12.1.0        3.9.0           Upgrade complete

2)回滚到版本1: helm rollback zookeeper 1 -n public-service

hangzk@k8smaster:~/helm/zookeeper$ helm rollback zookeeper 1 -n public-service
Rollback was a success! Happy Helming!

3)再次查看pod发现又变更为3个pod了: kubectl get po -n public-service

zhangzk@k8smaster:~/helm/zookeeper$ kubectl get po -n public-service
NAME          READY   STATUS    RESTARTS   AGE
zookeeper-0   1/1     Running   0          30m
zookeeper-1   1/1     Running   0          31m
zookeeper-2   1/1     Running   0          31m

10、卸载release

  helm uninstall zookeeper -n public-service

zhangzk@k8smaster:~/helm/zookeeper$ helm uninstall zookeeper -n public-service
release "zookeeper" uninstalled

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

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

相关文章

《2023年网信人才培训-网络安全从业人员能力素养提升培训》第一期成功举办

随着网络强国和数字中国建设的步伐加快,建设规模宏大、结构合理、素质优良的人才队伍成为一项重要工作。知了汇智作为数字产教融合基地,通过与高校、企业等多方合作,建立了完整的网络安全人才培养生态链。凭借自身技术优势和丰富的产业资源&a…

docker的安装

CentOS7 安装 Docker 安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 添加下载源 yum-config-manager --add-repo http://mirrors.aliyun.com/…

m4s格式转换mp4

先安装 ffmpeg,具体从官网可以查到,https://ffmpeg.org,按流程走。 转换代码如下,可以任意选择格式导出 import subprocess import osdef merge_audio_video(input_audio_path, input_video_path, output_mp4_path):# 构建 FFmpe…

【PHP】echo、print、print_r和var_dump的区别

echo、print、print_r和var_dump都是用于在PHP中输出或打印值的语句或函数。 echo: echo是一个语言结构,用于输出一个或多个字符串或变量。它可以接受多个参数,每个参数可以是字符串、数字、变量等。 echo "Hello"; // 输出字符串…

服务器虚拟化

服务器虚拟化用于屏蔽服务器用户对服务器资源。包括操作系统,处理器和单个物理服务器的数量和标识。 服务器虚拟化是通过软件应用程序对物理服务器划分为多个唯一且隔离的虚拟化服务器的过程。每个虚拟化服务器都可以独立运行自己的操作系统。 将服务器物理资源抽…

呈现数据的精妙之道:选择合适的可视化方法

在当今数据时代,数据可视化已成为理解和传达信息的重要手段。然而,选择适合的数据可视化方法对于有效地呈现数据至关重要。不同的数据和目标需要不同的可视化方法,下面我们将探讨如何选择最佳的数据可视化方法来呈现数据。 1. 理解数据类型&a…

在线OJ平台项目

一、项目源码 Online_Judge yblhlk/Linux课程 - 码云 - 开源中国 (gitee.com) 二、所用技术与开发环境 1.所用技术: MVC架构模式 (模型-视图-控制器) 负载均衡系统设计 多进程、多线程编程 C面向对象编程 & C 11 & STL 标准库 C Boost 准标…

【前端】CSS技巧与样式优化

目录 一、前言二、精灵图1、什么是精灵图2、为什么需要精灵图3、精灵图的使用①、创建CSS精灵图的步骤1)、选择合适的图标2)、合并图片3)、设置背景定位 ②、优化CSS精灵图的技巧1)、维护方便2)、考虑Retina屏幕3&…

业务系统架构实践总结

我从2015年起至今2022年,在业务平台(结算、订购、资金)、集团财务平台(应收应付、账务核算、财资、财务分析、预算)、本地生活财务平台(发票、结算、预算、核算、稽核)所经历的业务系统研发实践…

18V降压5V芯片

航誉微高效率同步降压芯片。输出电流可以高达2A。采用两种工作模式:PWM与PFM切换工作。92%的占空比实现了低压操作并延长了便携系统的电池使用寿命;输出电压可调;振荡频率为 600KHz(典型值)。内部同步开关提高了效率并…

D.OASIS City 和 Warrix 在The Sandbox 庆祝 Rise of the 10th Legend十周年

D.OASIS 首次展示了变革性娱乐 D.OASIS City,正如它与 WARRIX 一起承诺的那样。WARRIX 是获得泰国国家队球衣生产授权的标志性运动服装品牌。 这款激动人心的游戏冒险游戏于今天推出,让用户能够投入 D.OASIS City x WARRIX:Rise of the 10th…

一文速学-让神经网络不再神秘,一天速学神经网络基础-激活函数(二)

前言 思索了很久到底要不要出深度学习内容,毕竟在数学建模专栏里边的机器学习内容还有一大半算法没有更新,很多坑都没有填满,而且现在深度学习的文章和学习课程都十分的多,我考虑了很久决定还是得出神经网络系列文章,…

cgo踩坑:交叉编译过程出现的问题could not determine kind of name for C.XXX

尝试了网上的几种解决方法&#xff0c;都不行&#xff0c;现总结起来&#xff1a; 确认 /* #include <stdio.h> */ import "C"不要有空行 确认你引用的头文件存在&#xff08;stdio.h这种编译器自带的不需要你确认&#xff09; 如果引用了多个包&#xff0c…

健康安全的新定义,照明舒适达到巅峰,SUKER书客护眼台灯L1震撼发售

深耕照明领域多年的SUKER书客&#xff0c;这一次给大家带来一份大惊喜。在最近正式发布新品——SUKER书客护眼台灯L1&#xff0c;这款护眼台灯承载着在照明领域的前沿技术&#xff0c;能保证照明安全健康和舒适度并带来非常优秀的护眼效果。作为书客在护眼台灯领域的颠覆式新品…

[JavaWeb]【九】web后端开发-SpringBootWeb案例(菜单)

目录 一、准备工作 1.1 需求 1.2 环境搭建 1.2.1 准备数据库&表 1.2.2 创建springboot工程 1.2.3 配置application.properties & 准备对应实体类 1.2.3.1 application.properties 1.2.3.2 实体类 1.2.3.2.1 Emp类 1.2.3.2.2 Dept类 1.2.4 准备对应的Mapper、…

vue项目,如何修改Element-Plus等UI组件库的样式,三种方式搞定!!!

前言 我们在学习和使用组件库构建页面的时候&#xff0c;时常会遇到这样的问题。 即&#xff0c;尽管组件库已经提供了较多的功能&#xff0c;来帮助我们构建自定义的效果&#xff0c;但有时仍不能使我们满意。 这个时候我们就不得不修改UI库的样式&#xff0c;来达到想要的状…

Spring MVC 四:Context层级

这一节我们来回答上篇文章中避而不谈的有关什么是RootApplicationContext的问题。 这就需要引入Spring MVC的有关Context Hierarchy的问题。Context Hierarchy意思就是Context层级&#xff0c;既然说到Context层级&#xff0c;说明在Spring MVC项目中&#xff0c;可能存在不止…

TCP通信流程以及一些TCP的相关概念

1.TCP和UDP区别 都为传输层协议 UDP&#xff1a;用户数据报协议&#xff0c;面向无连接&#xff0c;可以单播&#xff0c;多播&#xff0c;广播&#xff0c;面向数据报&#xff0c;不可靠 TCP&#xff1a;传输控制协议&#xff0c;面向连接的&#xff0c;可靠的&#xff0c;基…

C++ Windows API IsDebuggerPresent的作用

IsDebuggerPresent 是 Windows API 中的一个函数&#xff0c;它用于检测当前运行的程序是否正在被调试。当程序被如 Visual Studio 这样的调试器附加时&#xff0c;此函数会返回 TRUE&#xff1b;否则&#xff0c;它会返回 FALSE。 这个函数经常被用在一些安全相关的场景或是防…

VUE笔记(五)网络通信

一、axios的简介 1、什么是axios 文档&#xff1a;Axios 中文文档 | Axios 中文网 | Axios 是一个基于 promise 的网络请求库&#xff0c;可以用于浏览器和 node.js 概念&#xff1a;axios是一个基于Promise的网络请求库&#xff0c;可以用于浏览器和node.js 特点&#xff…