k8s学习-第4部分Helm(Helm安装MySQL集群)

这篇具有很好参考价值的文章主要介绍了k8s学习-第4部分Helm(Helm安装MySQL集群)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Helm安装MySQL集群(较为常用)

Helm简介

Helm 是一个 Kubernetes 应用的包管理工具,类似于 Ubuntu 的 APT 和 CentOS 中的 YUM。

Helm使用chart 来封装kubernetes应用的 YAML 文件,我们只需要设置自己的参数,就可以实现自动化的快速部署应用。

三大概念

  • Chart 代表着 Helm 包。
    • 它包含运行应用程序需要的所有资源定义和依赖,相当于模版。
    • 类似于maven中的pom.xml、Apt中的dpkb或 Yum中的RPM
  • Repository(仓库) 用来存放和共享 charts。
    • 不用的应用放在不同的仓库中。
  • Release 是运行 chart 的实例。

一个 chart 通常可以在同一个集群中安装多次。

每一次安装都会创建一个新的 release,release name不能重复。

Helm仓库

Helm有一个跟docker Hub类似的应用中心(Artifact Hub),我们可以在里面找到我们需要部署的应用。

安装Helm

下载安装包:

https://github.com/helm/helm/releases

https://get.helm.sh/helm-v3.10.0-linux-amd64.tar.gz

tar -zxvf helm-v3.10.0-linux-amd64.tar.gz 
mv linux-amd64/helm /usr/local/bin/helm

在K3s中使用,需要配置环境变量

export KUBECONFIG=/etc/rancher/k3s/k3s.yaml

安装单节点Mysql

#添加仓库
helm repo add bitnami https://charts.bitnami.com/bitnami
#查看chart
helm show chart bitnami/mysql 
#查看默认值
helm show values bitnami/mysql 

#安装mysql
helm install my-mysql \
--set-string auth.rootPassword="123456" \
--set primary.persistence.size=2Gi \
bitnami/mysql

#查看设置
helm get values my-mysql
#删除mysql
helm delete my-release

values.yaml

auth:
  rootPassword: "123456"

primary:
  persistence:
    size: 2Gi
    enabled: true

secondary:
  # 从节点的数量
  replicaCount: 2
  persistence:
    size: 2Gi
    enabled: true
# 集群模式
architecture: replication
helm install my-db -f values.yaml bitnami/mysql

如果报下面的错是环境变量没弄好

Error: INSTALLATION FAILED: Kubernetes cluster unreachable: Get "http://localhost:8080/version": dial tcp [::1]:8080: connect: connection refused

解决方法

编辑/etc/profile

vim /etc/profile

追加内容:

export KUBECONFIG=/etc/rancher/k3s/k3s.yaml

刷新配置

source /etc/profile

 再次执行helm install my-db -f values.yaml bitnami/mysql

安装成功后将显示的一大堆英文复制出来

NAME: cluster
LAST DEPLOYED: Mon Dec 26 16:17:16 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: mysql
CHART VERSION: 9.4.5
APP VERSION: 8.0.31

** Please be patient while the chart is being deployed **

Tip:

  Watch the deployment status using the command: kubectl get pods -w --namespace default

Services:

  echo Primary: cluster-mysql-primary.default.svc.cluster.local:3306
  echo Secondary: cluster-mysql-secondary.default.svc.cluster.local:3306

Execute the following to get the administrator credentials:

  echo Username: root
  MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace default cluster-mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d)

To connect to your database:

  1. Run a pod that you can use as a client:

      kubectl run cluster-mysql-client --rm --tty -i --restart='Never' --image  docker.io/bitnami/mysql:8.0.31-debian-11-r20 --namespace default --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash

  2. To connect to primary service (read/write):

      mysql -h cluster-mysql-primary.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"

  3. To connect to secondary service (read-only):

      mysql -h cluster-mysql-secondary.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"

在依次执行

# 设置root密码环境变量
MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace default cluster-mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d)

# 创建mysql客户端pod
kubectl run cluster-mysql-client --rm --tty -i --restart='Never' --image  docker.io/bitnami/mysql:8.0.31-debian-11-r20 --namespace default --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash

# 在pod中先连接主库
mysql -h cluster-mysql-primary.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"

# 创建test数据库和message的表 在表里放一条数据 hello

使用端口转发 用图形化工具连接mysql

kubectl port-forward --address=192.168.177.151 pods/cluster-mysql-primary-0 33060

这个命令是前台运行 关闭后就断开连接文章来源地址https://www.toymoban.com/news/detail-480718.html

到了这里,关于k8s学习-第4部分Helm(Helm安装MySQL集群)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s学习(RKE+k8s+rancher2.x)成长系列之简配版环境搭建(四)之Helm及cert-manager安装

    注意:证书管理器需要与k8s集群版本兼容,对应关系:https://cert-manager.io/docs/installation/supported-releases/?spm=a2c4g.11186623.0.0.32be254d69N1yJ

    2024年02月22日
    浏览(31)
  • k8s之Helm安装

    一、最快安装–官网提供的脚本–默认获取最新版本 二、二进制安装 1、官网下载安装包 https://github.com/helm/helm/releases 下载方式: 点击下载、迅雷下载、wget下载-------建议迅雷下载! 2、 3、查看helm 4、命令补全 删除重新安装

    2024年02月14日
    浏览(29)
  • k8s helm安装使用

    1.前言 Helm 是一个 Kubernetes 包管理工具,它的作用是简化 Kubernetes 应用程序的部署和管理。Helm 允许您将 Kubernetes 应用程序打包为 chart,chart 是一组预定义的 Kubernetes 对象模板,包括 Deployment、Service、Ingress 等。使用 Helm,您可以轻松地将 chart 安装到 Kubernetes 集群中,并在需要

    2024年02月13日
    浏览(31)
  • K8S中使用helm安装MinIO

    使用helm部署MinIO分为两部分 helm部署MinIO operator,用来管理tenant(K8S集群中只能部署一个) helm部署MinIO tenant,真实的MinIO Cluster(K8S集群中可以部署多个) 使用helm部署到K8S集群,则需要考虑如何暴露服务的问题。官方文档helm安装步骤是通过修改service nodePort配置,暴露服务。

    2024年01月20日
    浏览(50)
  • 学习Helm来提高K8S运维效率

    Helm 是 Kubernetes 的一个包管理工具,用于简化应用程序在 Kubernetes 上的部署和管理过程。 它允许您使用预定义的模板(Charts)来描述应用程序的组件、依赖关系和配置。 Helm Charts 可以重复使用,提高了应用程序的可维护性和可扩展性。 Helm 包含两个主要组件:Helm 客户端和

    2024年02月14日
    浏览(26)
  • liqo学习及安装,k8s,kubernetes多集群互联

    先按照官方的教程在虚拟机安装学习 Docker,容器运行时。 Kubectl,Kubernetes 的命令行工具。 Helm,Kubernetes 的包管理器。 curl,通过 HTTP/HTTPS 与教程应用程序交互。 Kind,Docker 运行时中的 Kubernetes。(在docker中运行的Kubernetes,主要做测试用) liqoc​​tl与 Liqo 交互的命令行工具。

    2024年04月22日
    浏览(23)
  • 第27关 在K8s集群上使用Helm3部署最新版本v2.10.0的私有镜像仓库Harbor

    ------ 课程视频同步分享在今日头条和B站 大家好,我是博哥爱运维。 在前面的几十关里面,博哥在k8s上部署服务一直都是用的docker hub上的公有镜像,对于企业服务来说,有些我们是不想把服务镜像放在公网上面的; 同时如果在有内部的镜像仓库,那拉取镜像的速度就会很快

    2024年02月01日
    浏览(36)
  • k8s(1.28)使用Helm安装metrics-server

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: metrics-server安装后,可以查看集群的node和pod的CPU和Memory占用情况,非常有用。 提示:以下是本篇文章正文内容,下面案例可供参考 官网地址:https://github

    2024年02月19日
    浏览(33)
  • 通过containerd部署k8s集群环境及初始化时部分报错解决

    目录 一.基础环境配置(每个节点都做) 1.hosts解析 2.防火墙和selinux 3.安装基本软件并配置时间同步 4.禁用swap分区 5.更改内核参数 6.配置ipvs 7.k8s下载 (1)配置镜像下载相关软件 (2)配置kubelet上的cgroup 二.下载containerd(每个节点都做) 1.下载基本软件 2.添加软件仓库信息 3.更

    2024年02月07日
    浏览(34)
  • K8S搭建MySQL集群

    使用K8S搭建MySQL一主一从集群。 注意: 以下全部内容,需要把namespace: test中的test换成你要所部署集群所在的名称空间。 以上,MySQL的一主一从集群就创建完毕了。

    2024年02月09日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包