[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

相关推荐

  1. K8s: Helm搭建mongodb(1)

    2024-01-11 08:10:03       26 阅读
  2. k8s 使用 helm 文件部署 8.12.2 es 分角色

    2024-01-11 08:10:03       21 阅读
  3. K8s: Helm搭建mysql(2)

    2024-01-11 08:10:03       35 阅读
  4. Kubernetes (K8s) 部署

    2024-01-11 08:10:03       70 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-11 08:10:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-11 08:10:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-11 08:10:03       82 阅读
  4. Python语言-面向对象

    2024-01-11 08:10:03       91 阅读

热门阅读

  1. pnp4nagios 配置 nagios

    2024-01-11 08:10:03       45 阅读
  2. C语言中顺序栈的实现与表示

    2024-01-11 08:10:03       52 阅读
  3. 面试题-手撕NMS(非极大值抑制)

    2024-01-11 08:10:03       62 阅读
  4. 【前端】html5用range型input标签怎么显示数字

    2024-01-11 08:10:03       59 阅读
  5. 前端计算精度丢失问题

    2024-01-11 08:10:03       61 阅读
  6. python实现对导入包中的全局变量进行修改

    2024-01-11 08:10:03       54 阅读