[Kubernetes]7. K8s包管理工具Helm、使用Helm部署mongodb集群(主从数据库集群)

上一节讲解了[Kubernetes]6. k8s Pod配置管理ConfigMap & Secret以及传递环境变量的使用,k8s的命名空间以及使用kubens管理命名空间的使用,这里来介绍一下Helm的使用

一.Helm相关介绍 

1.介绍

kubernetes 系统上部署容器化应用时需要事 先手动编写资源配置清单文件 定义资源对象 ,而且其 每一次的配置定义基本上都是硬编码 ,基本上 无法实现复用 .对于 较大规模的应用场景 ,应用程序的 配置,分发,版本控制,查找,回滚 甚至是查看都将是用户的噩梦,而Helm可大大简化应用管理的难度, Helm 类似 npm,pip,docker hub , 可以理解为是一个软件库, 它是Kubernetes的包管理器, 可以方便快速的为我们的集群安装一些第三方软件。
        比如要部署mongodb,部署的时候 首先要创建 PVC,PV以及StorageClass,创建好后还要定义mongodb对应的 StatefulSet,StatefulSet定义好后,还需要在配置里面 关联刚才的PVC,PV,关联好后,还需要 部署mongodb,这还只是搭建mongodb数据库,如果要搭建mongodb集群的话,还更加麻烦,如果 使用Helm就 可以非常方便的就搭建出来 MongoDB / MySQL 副本集群 ,只需几个命令就可以 创建mongodb数据库 ,或者 mongodb主从数据库的集群, YAML 文件别人都已经写好了,可以直接使用, 官网接下来看看如何在k8s集群中使用Helm,下面 官网 可以查看如何安装Helm,而 应用中心 可以搜索需要的软件(包)

 

2.安装 Helm

安装 文档  

(1).脚本安装 

Helm现在有个安装脚本可以自动拉取最新的Helm版本并在 本地安装,可以获取这个脚本并在本地执行,命令如下:

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
$ chmod 700 get_helm.sh
$ ./get_helm.sh

如果想直接执行安装,运行curl

https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

 (2).二进制版本安装(推荐)

1).下载
https://github.com/helm/helm/releases
https://get.helm.sh/helm-v3.11.1-linux-amd64.tar.gz
2).减压
tar xzvf helm-v3.11.1-linux-amd64.tar.gz
3).配置到全局
mv linux-amd64/helm /usr/local/bin/

具体如下:

4).配置.kube/config权限  

当使用helm时,如果出现示:kubernetes configuration file is group-readabl

WARNING: Kubernetes configuration file is group-readable. This is insecure.
Location: /root/.kube/config
WARNING: Kubernetes configuration file is world-readable. This is insecure.
Location: /root/.kube/config

则使用下面命令解决,这样就可以正常使用helm了 

chmod -R 600 ~/.kube/config

下面就来看看搭建mongodb集群

二.Helm 搭建mongodb集群 

1.安装mongodb 不使用persistence(无本地存储)

无本地存储:当重启的时候,数据库消失

(1).打开官网的应用中心

(2).安装 

#添加repo仓库
#bitnami 是自定义的
helm repo add bitnami https://charts.bitnami.com/bitnami#安装:bitnami和上面保存一致
#mongo:是自定义的
#--set 可以跟参数
#persistence.enabled 配置应用的持久化
helm install my-mongo bitnami/mongodb --set persistence.enabled=false,auth.rootPassword="mongopass"

具体命令如下: 

# 安装
helm repo add bitnami https://charts.bitnami.com/bitnami#--set 后可设置相关属性,比如用户名,密码等,这个可以查看helm mongodb的帮助文档
helm install my-mongo bitnami/mongodb --set persistence.enabled=false,auth.rootPassword="mongopass"

(3).设置环境变量 

 (4).开启一个客户端进行测试 

1).开启临时客户端

 2).连接数据库

 具体命令如下:

[root@VM-0-3-tencentos ~]# helm install my-mongo bitnami/mongodb --set persistence.enabled=false,auth.rootPassword="mongopass"
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /root/.kube/config
WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /root/.kube/config
NAME: my-mongo
LAST DEPLOYED: Tue Jan  9 22:19:48 2024
NAMESPA

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

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

相关文章

Prometheus实战篇:Prometheus监控docker

Prometheus实战篇:Prometheus监控docker 准备环境 监控docker 为了能够获取到Docker容器的运行状态,用户可以通过Docker的stats命令获取当前主机上运行容器的统计信息,可以查看容器的CPU利用率,内存使用量,网络IO总量以及磁盘IO总量等信息. docker stats除了使用命令以外,用户…

【占用网络】SurroundOcc:基于环视相机实现3D语义占用预测 ICCV 2023

前言 本文分享“占用网络”方案中,来自ICCV 2023的SurroundOcc,它基于环视相机实现3D语义占用预测。 使用空间交叉注意力将多相机图像信息提升到3D体素特征,即3D体素Query到2D图像中查询融合特征的思想。 然后使用3D卷积逐步对体素特征进行…

如何快速断行、分割行、切割行、换行、限制每行字数、平均分割每行字数、序号自动换行、关键字断行等等内容格式整理

首先,需要用到的这个工具: 百度 密码:qwu2蓝奏云 密码:2r1z 打开工具,切换到“文章工作域”(嗯...默认就是) 找到这个,多内容断行分割 点击打开,出现如下窗口设置 相关的…

Netty-Netty基础应用与了解

前言 Netty 的优势 1、 API 使用简单,开发门槛低; 2、功能强大,预置了多种编解码功能,支持多种主流协议; 3、定制能力强,可以通过 ChannelHandler 对通信框架进行灵活地扩展; 4、性能高…

【教程】通过Excel宏/Pandas两种方法来自动添加渐变数据条

这种数据真的很难看懂: 一般会对其画折线图或者数据条,相比起来就非常直观: 但是每一列都要手动这样设置就非常累了,所以这里就用到了VBA宏(或者Pandas)。 VBA宏方法 从这里进入宏: 随便写一个宏名后点创建&#xff1…

PyTorch项目源码学习(1)

PyTorch PyTorch是一个开源的深度学习框架,项目地址 https://github.com/pytorch/pytorch 在学术工作中的使用频率较高。 其主体由C开发,PyTorch是Torch的Python调用版本。学习PyTorch项目源代码的目的在于学习其中的实现方法与技巧,增加训练…

LangChain 69 向量数据库Pinecone入门

LangChain系列文章 LangChain 50 深入理解LangChain 表达式语言十三 自定义pipeline函数 LangChain Expression Language (LCEL)LangChain 51 深入理解LangChain 表达式语言十四 自动修复配置RunnableConfig LangChain Expression Language (LCEL)LangChain 52 深入理解LangCh…

毕业论文idea

三大模块 分级、分类、系统 多看医学图像处理毕业论文。 Swin Transformer的模型表现不如MobileViT 使用高像素的数据集在云服务器上训练时,如果您发现Swin Transformer的模型表现不如MobileViT,这可能由几个因素导致: 模型架构与数据匹配…

机器视觉在OCR字符检测的应用

在产品质量 检测过程中,对于字符、条码等标识信息的识别、读取、检测是非常重要的一部分,比如在食品饮料包装检测中,生产日期 、保质期 、生产批号 、条码等字符信息是产品管理和追溯必不可缺的,因此利用机器视觉技术进行OCR字符采…

【实用技巧】Windows电脑向iPhone或iPad传输视频方法2:有线传输

一、内容简介 本文介绍如何使用 Windows 电脑向 iPhone 或 iPad 传输视频,以 iPhone 为例,iPad的操作方法类似,本文不作赘述。 二、所需原材料 Windows 电脑(有 USB-A 或 USB-C 接口)(桌面或其它文件夹中…

Web组件的使用

文章目录 1 概述2 加载网页加载在线网页加载本地网页 3 网页缩放文本缩放 4 Web组件事件Web组件处理JS confirm事件 5 Web和JavaScript交互启用JavaScriptWeb组件调用JS方法JS调用Web组件方法 6 处理页面导航7 调试网络应用8 参考链接 1 概述 相信大家都遇到过这样的场景&…

Mixtral Moe代码解读

一直对稀疏专家网络好奇,有些专家没被选中,那么梯度是否为0,这一轮被选中有梯度,下一轮没被选中无梯度,模型可以训练收敛吗? 由于每个token都会选择topk个专家,所以在每一轮epoch中,…

python工具-udp-tcp-client-server-demo

python工具-udp-tcp-client-server-demo server tcp-server: python xxx.py -type tcp -ip “127.0.0.1” -port 1234udp-server: python xxx.py -type udp -ip “127.0.0.1” -port 1234 client python xxx.py -type udp -ip “127.0.0.1” -port 1111python xxx.py -type tc…

依赖Kafka的Go单元测试例解

Kafka[1]是Apache基金会开源的一个分布式事件流处理平台,是Java阵营(最初为Scala)中的一款杀手级应用,其提供的高可靠性、高吞吐量和低延迟的数据传输能力,让其到目前为止依旧是现代企业级应用系统以及云原生应用系统中使用的重要中间件。 在…

pytorch无法把共享内存写入文件

环境: 在容器中跑pytorch模型的训练 问题表现: ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm). Traceback (most recent call last): File "/root/anaconda3/lib/python3.8/m…

flutter getTemporaryDirectory()的使用

下面是上传音视频流的截图,先保存在缓存,然后请求接口,成功或者失败会删除文件。 可以在Device File Explorer查看, Android: 会返回 /data/data//cache 这个目录,是应用私有的缓存目录。 iOS: 会返回 Library/Caches 下的一个…

Java学习笔记-day06-响应式编程Reactor API大全(上)

Reactor 是一个基于响应式编程的库&#xff0c;主要用于构建异步和事件驱动的应用程序。Reactor 提供了丰富的 API&#xff0c;包括创建、转换、过滤、组合等操作符&#xff0c;用于处理异步数据流。以下是一些 Reactor 的主要 API 示例&#xff1a; pom依赖 <dependencyMan…

191. 位1的个数

编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中数字位数为 1 的个数&#xff08;也被称为汉明重量&#xff09;。 提示&#xff1a; 请注意&#xff0c;在某些语言&#xff08;如 Java&#xff09;中…

LeetCode 2645. 构造有效字符串的最少插入数

一、题目 1、题目描述 LeetCode 给你一个字符串 word &#xff0c;你可以向其中任何位置插入 "a"、"b" 或 "c" 任意次&#xff0c;返回使 word 有效 需要插入的最少字母数。如果2645. 构造有效字符串的最少插入数 2、接口描述 ​ class Solut…

SpringCloud微服务 【实用篇】| RabbitMQ快速入门、SpringAMQP

目录 一&#xff1a;初始RabbitMQ 1. 同步和异步通讯 1.1 同步调用 1.2 异步调用 2. MQ常见框架 二&#xff1a;RabbitMQ快速入门 1. RabbitMQ概述和安装 2. 常见消息队列模型 3. 快速入门案例 三&#xff1a;SpringAMQP 1. Basic Queue 简单队列模型 2. Work Queu…