当前位置: 首页 > news >正文

K8s部署单机mysql

文章目录

  • 一、K8s部署单机mysql
    • 1.1 说明
    • 1.2 不足
  • 二、部署
  • 三、检查

一、K8s部署单机mysql

1.1 说明

  1. 定制配置数据存放在configMap
  2. mysql数据放在/opt/mysql目录下(/opt/mysql目录需要事先创建)
  3. root账号密码使用环境变量env
  4. 服务暴露方式为nodePort,端口30336

1.2 不足

  1. 这里为了简单,PV使用了hostPath,所以需要将pod固定在一个node上。可考虑使用nfs。

mysql57_deploy.yml

## single mysql deployment 
apiVersion: v1
kind: Namespace
metadata:name: mysql-test
---
apiVersion: v1
kind: ConfigMap
metadata:name: mysql-confignamespace: mysql-test
data:my.cnf: |-[client]default-character-set=utf8mb4[mysql]default-character-set=utf8mb4[mysqld] max_connections=2000default-time_zone='+8:00'character-set-server=utf8mb4collation-server=utf8mb4_unicode_ci
---
apiVersion: v1
kind: PersistentVolume
metadata:name: mysql-pv
spec:accessModes:- ReadWriteOncecapacity:storage: 10GistorageClassName: mysql-localhostPath:path: /opt/mysql
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: mysql-pvcnamespace: mysql-test
spec:accessModes:- ReadWriteOnceresources:requests:storage: 1Gilimits:storage: 10GistorageClassName: mysql-local
---
apiVersion: apps/v1
kind: Deployment
metadata:name: mysql-deploymentnamespace: mysql-test
spec:replicas: 1selector:matchLabels:app: mysqltemplate:metadata:labels:app: mysqlspec:containers:- name: mysql57env:- name: MYSQL_ROOT_PASSWORDvalue: Nssg1234*!image: docker.io/library/mysql:5.7.42imagePullPolicy: IfNotPresentresources:requests:cpu: 500mmemory: 512Milimits:cpu: 1000mmemory: 1GilivenessProbe:exec:command: ["mysqladmin", "-uroot", "-p${MYSQL_ROOT_PASSWORD}", "ping"]initialDelaySeconds: 20readinessProbe:exec:command: ["mysqladmin", "-uroot", "-p${MYSQL_ROOT_PASSWORD}", "ping"]initialDelaySeconds: 10volumeMounts:- name: datamountPath: /var/lib/mysql- name: configmountPath: /etc/mysql/conf.d/my.cnfsubPath: my.cnf- name: localtimemountPath: /etc/localtimevolumes:- name: datapersistentVolumeClaim:claimName:mysql-pvc- name: configconfigMap:name: mysql-config- name: localtimehostPath:path: /etc/localtime
---
apiVersion: v1
kind: Service
metadata:name: mysql-svcnamespace: mysql-test
spec:selector:app: mysqltype: NodePortports:- name: mysqlport: 3306targetPort: 3306nodePort: 30336

二、部署

mkdir /opt/mysql
ctr -n k8s.io i pull docker.io/library/mysql:5.7.42
kubectl apply -f mysql57_deploy.yml

三、检查

kubectl get deployment -n mysql-test
kubectl get pods -n mysql-test
kubectl exec -it [pod_name] -n mysql-test -- /bin/sh
http://www.lryc.cn/news/152884.html

相关文章:

  • Midjourney学习(二)参数的基础
  • Ubuntu安装Protobuf,指定版本
  • 没有使用sniffer dongle在windows抓包蓝牙方法分享
  • 解决Debian系统通过cifs挂载smb后,中文目录乱码问题
  • springboot整合jquery实现前后端数据交互
  • TypeScript 中的类型检查实用函数
  • JavaScript中的事件委托(event delegation)
  • ubuntu OCR 脚本
  • Go死码消除
  • 基于改进莱维飞行和混沌映射的粒子群优化BP神经网络分类研究(Matlab代码实现)
  • 12. 自动化项目实战
  • Window11下载安装jdk8-jdk11与环境变量的配置
  • Vector Search with OpenAI Embeddings: Lucene Is All You Need
  • JS算法与树(二)
  • composer 扩展库。助手库文档
  • Web弹性布局
  • 基于深度学习的AI生成式人脸图像鉴别
  • iOS开发Swift-1-Xcode创建项目
  • AI 领域中 SLAM、Planning 和 Perception 的区别和联系
  • 【数据库】MySQL基础知识全解
  • 【golang】调度系列之goroutine
  • A 股个股资金流 API 数据接口
  • 【前端】Layui动态数据表格拖动排序
  • Linux 忘记密码解决方法
  • 【计算机组成 课程笔记】2.1 设计自己的计算机
  • vb房屋销售管理系统设计与实现
  • SpringCloud学习笔记(十三)_Zipkin使用SpringCloud Stream以及Elasticsearch
  • 重仓“AI”的百度迎来收获季?
  • Linux 通过 Docker 部署 Nacos 2.2.3 服务发现与配置中心
  • macOS上制作arm64的jdk17镜像