【k8s】k8s部署mariadb数据库

news/2024/5/19 21:29:11/文章来源:https://blog.csdn.net/qq_45547688/article/details/129712077

文章目录

  • 前言:
  • 一、构建mariadb的dockerfile
  • 二、docker build打包并上传到harbor仓库
  • 三、编写yaml文件
  • 四、使用kubectl apply部署到K8s
  • 总结


前言:

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。
在这里插入图片描述

一、构建mariadb的dockerfile

[root@master mysql]# vim Dockerfile
FROM mariadb:latest
ENV MYSQL_ROOT_PASSWORD 123456    ###设置数据库的root的密码
ENV LANG zh_CN.UTF-8   ### 设置zh_CN.UTF-8

二、docker build打包并上传到harbor仓库

[root@master mysql]# 
docker build -t xxx.xxx.com:10443/library/mariadb:latest .     ###打镜像设置标签
docker push xxx.xxx.com:10443/library/mariadb:latest    ### 推送镜像

如果就是在本机上装可以不用推送到镜像仓库

三、编写yaml文件

[root@master mysql]# vim mariadb.yaml 
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: mariadb-pvcnamespace: jdxc
spec:accessModes:- ReadWriteOnceresources:requests:storage: 20Gi
---
apiVersion: v1
kind: Service
metadata:name: mariadbnamespace: jdxc
spec:ports:- nodePort: 3306   ###如果本地有多个数据库可以改变暴露的端口号port: 3306protocol: TCPtargetPort: 3306selector:app: mariadbtype: NodePort
---
apiVersion: apps/v1
kind: StatefulSet
metadata:name: mariadbnamespace: jdxc
spec:serviceName: mariadbreplicas: 1selector:matchLabels:app: mariadbtemplate:metadata:labels:app: mariadbspec:nodeSelector:    ###这个节点调度可以设置为你自己打的标签也可以删不进行调度name: "master"containers:- name: mariadbimage: xxx.xxx.com:10443/library/mariadb:latest    ###设置你本地的镜像名就可以imagePullPolicy: Always        ###如果设置为本地镜像的话就不用设置拉取设置为 Neverports:- containerPort: 3306protocol: TCPvolumeMounts:- mountPath: /var/lib/mysqlname: dataimagePullSecrets:   ###如果你是本地的镜像的话就可以不用设置镜像拉去密钥的参数,直接删除- name: registry-pull-secret ###密钥参数volumes:- name: datapersistentVolumeClaim:claimName: mariadb-pvc

ps:imagePullSecret资源将Secret提供的密码传递给kubelet从而在拉取镜像前完成必要的认证过程,简单说就是你的镜像仓库是私有的,每次拉取是需要认证的。

PS:这里面使用ceph-rbd作为默认starageclass,如何配置storageclass请查看前面的文章

四、使用kubectl apply部署到K8s

kubectl apply -f mariadb.yaml

在这里插入图片描述
这样就是运行正常搭建结束

总结

mariadb快速搭建,操作前一定要有StorageClass根据PVC动态生成PV并绑定,这样数据库生成的数据可以挂载出来

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

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

相关文章

5.网络爬虫——Xpath解析

网络爬虫——Xpath解析Xpath简介Xpath解析节点选择路径表达式谓语未知节点Xpath实战演示豆果美食实战获取数据源代码前言: 📝​📝​此专栏文章是专门针对Python零基础爬虫,欢迎免费订阅! 📝​📝…

Python绘制论文曲线图

1、折线图 plt.plot() 常用的一些参数: 颜色(color): ‘c’ 青红(cyan) ‘r’ 红色(red) ‘m’ 品红(magente) ‘g’ 绿色(green) ‘y’ 黄色…

什么平台制作表单工具效率高?

目前,低代码开发平台在很多行业中得到了应用和推广。如果需要制作表单工具,还依然用传统的表单工具来制作表单,效率不仅得不到提升,而且办公自动化发展步伐也将缓慢发展。那么,借助什么样的平台可以让制作表单工具更高…

OpenHarmony开发一个App,安装到BearPi-HM Micro开发板

一、前言 建议先阅读我们这篇 OpenHarmony 快速上手 BearPi-HM Micro 一个带显示屏的开发板,这里面详细介绍了Micro开发板如何进行源码编译烧录,以及hap包安装的全过程。 本篇是介绍如何开发一个App,然后安装到BearPi-HM Micro开发板上。 有同学会问,这不是有手就行了吗?…

基于YOLOv5的停车位检测系统(清新UI+深度学习+训练数据集)

摘要:基于YOLOv5的停车位检测系统用于露天停车场车位检测,应用深度学习技术检测停车位是否占用,以辅助停车场对车位进行智能化管理。在介绍算法原理的同时,给出Python的实现代码、训练数据集以及PyQt的UI界面。博文提供了完整的Py…

xss-labs靶场分析及绕过

level1源码&#xff1a;图中框示的为注入点&#xff0c;下同payloadname<script>alert(1)</script>注入结果&#xff1a;原理&#xff1a;由于第一关没有做任何的过滤所以直接注入就行level2源码&#xff1a;payload&#xff1a;keyworda"><script>a…

Vue3学习笔记(1.0)

Vue.js是一套构建用户界面的渐进式框架。 Vue只关注视图层&#xff0c;采用自底向上增量开发的设计。 Vue的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件。 <div id"hello-world" class"demo"> {{message}} </div><scr…

Spring WebSocket入门实例、源码解读、STOMP客户端

1 Spring WebSocket入门实例 在浏览器和服务器之间,使用WebSocket发送和接收消息。具体会使用到WebSocket子协议STOMP。 1.1 创建Spring Boot项目,添加WebSocket依赖 后端Spring Boot的WebSocket依赖,前端使用Thymeleaf,所以需要webjars依赖。 pom.xml如下: <!-- 后端W…

buu刷题(4)

目录 [HFCTF2020]BabyUpload [XNUCA2019Qualifier]EasyPHP .htaccess包含文件 第一种方法 第二种方法 [GWCTF 2019]你的名字 [EIS 2019]EzPOP [2020 新春红包题]1 如何绕过后缀名呢 方法一 还有一点就是json格式的数据会被执行吗&#xff0c;实践试试 构造一下试试&am…

【kubernetes云原生】k8s标签选择器使用详解

目录 一、标签选择器来源 二、什么是标签选择器 2.1 标签选择器概述 2.2 标签选择器概述属性 三、标签使用场景 四、标签选择器特点 4.1 基本特点 4.2 核心标签选择器 4.3 补充说明 五、标签选择器常用操作命令 5.1 前置准备 5.2 常用操作命令 5.2.1 查看namespac…

git与gitee结合使用,提交代码,文件到远程仓库

git与gitee结合使用&#xff0c;如何提交文件到远程仓库&#xff0c;以及如何克隆仓库的内容到本地1.安装git1.1 git 安装以后&#xff0c;cmd git --version 说 git 不存在&#xff0c;问题的解决2.配置ssh公钥和创建配置gitee仓库2.1 配置ssh公钥2.2 创建并配置gitee仓库3. 小…

蓝桥杯训练day3

day31.递推&#xff08;1&#xff09;3777. 砖块&#xff08;2&#xff09;95. 费解的开关&#xff08;3&#xff09;1208. 翻硬币2.递归&#xff08;1&#xff09;1497. 树的遍历&#xff08;2&#xff09;97. 约数之和1.递推 &#xff08;1&#xff09;3777. 砖块 思路&…

纯干货:分享一些跨境电商客服经常会用到的话术(含中英文)

纯干货&#xff1a;分享一些跨境电商客服经常会用到的话术&#xff08;含中英文&#xff09;跨境电商同国内的电商平台一样&#xff0c;是将国内的产品卖到国外去赚取信息差&#xff0c;只不过客服面对的是国外的客户&#xff0c;仍旧需要为客户解决一系列服务问题。让前来咨询…

go_admin开源项目笔记

git clone 到本地 然后进入到 go-admin 根目录 执行 &#xff1a;go build 报错如下&#xff1a; 拿第一个详细解读&#xff1a; common\middleware\sentinel.go:4:2: missing go.sum entry for module providing package github.com/alibaba/sentinel-golang/core/system (im…

41.解构赋值

目录 1 数组解构 1.1 基本用法 1.2 交换值 1.3 数组排序 1.4 多解构多余的会变为undefined 1.5 少的就按顺序来 1.6 解构其余的值 1.7 默认解构值 1.8 跳过一些值 1.9 支持多维数组 2 对象解构 2.1 基本用法 2.2 数组套对象 2.3 多级对象 2.4 数…

ideal导入Spring源码详解

前言 踩过很多坑&#xff0c;参考过很多博客&#xff0c;在不懈的坚持下终于迈进了spring源码的门槛 1、环境配置 本博客使用的是 ideal2020.3gradle-6.4.1spring-framework-5.1.xjdk8 1.1安装和配置gradle 1.1.1下载gradle 下载链接 我使用的是gradle-6.4.1-bin.zip这个…

win下pytorch安装—cuda11.7 + cudnn8.4 + pytorch1.13 + tensorRT

安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch安装四、tensorRT8.X安装写在前面 博主这里装的是cuda11.7&#xff0c;最后一步tensorRT运行的时候有个pycuda的安装&#xff0c;它的最新版本只支持到cuda11.6&#xff0c;所以博主最后是又把cuda…

【UML】项目开发流程

以下模型是一个项目从启动到最终部署&#xff0c;逐步细化&#xff08;精化&#xff09;、实现的过程 1、业务用例模型 业务用例模型在项目启动阶段&#xff0c;使用业务用例模型来获取需求&#xff0c;是为了真是业务建立模型&#xff0c;为了和客户达成共识&#xff0c;暂不…

Android network — ipv6邻居发现协议

Android network — ipv6邻居发现协议0. 前言1. 地址解析1.1 IPv6地址解析过程分析&#xff1a;1.2 报文抓包分析&#xff1a;2. 跟踪邻居状态3. 重复地址检测3.1 抓包分析3.2 IPv6地址生命周期&#xff1a;4. 路由器发现4.1 地址自动配置&#xff1a;4.2 默认路由器优先级和路…

2023最好就业的8门编程语言出炉~

今天给大家分享 DevJobsScanner 不久前刚发布的「Top 8 Most Demanded Programming Languages in 2022」清单。 DevJobsScanner 在过去的14个月&#xff08;从2021年10月到2022年11月&#xff09;中分析了超过 1200 万个开发人员职位需求&#xff0c;并从其中挑选了明确需要编程…