kubernetes deploy standalone mysql demo

2023-11-09

deployment mysql standalone

kubernetes 集群内部署 单节点 mysql

ansible all -m shell -a "mkdir -p /mnt/mysql/data"

cat mysql-pv-pvc.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: mysql-pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/mysql/data"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi

cat mysql-deploy.yaml

apiVersion: v1
kind: Service
metadata:
  name: mysql
spec:
  type: NodePort
  ports:
  - port: 3306
    nodePort: 30006
    targetPort: 3306
    protocol: TCP
  selector:
    app: mysql
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql
spec:
  selector:
    matchLabels:
      app: mysql
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - image: mysql:5.7
        name: mysql
        env:
          # Use secret in real usage
        - name: MYSQL_ROOT_PASSWORD
          value: password
        ports:
        - containerPort: 3306
          name: mysql
        volumeMounts:
        - name: mysql-persistent-storage
          mountPath: /var/lib/mysql
      volumes:
      - name: mysql-persistent-storage
        persistentVolumeClaim:
          claimName: mysql-pv-claim

start:

kubectl apply -f mysql-pv-pvc.yaml
kubectl apply -f mysql-deploy.yaml

check

[root@kube-master01 mysql]# kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
mysql-794c6d56c6-xnfhb   1/1     Running   0          10h
[root@kube-master01 mysql]# kubectl get svc
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
kubernetes   ClusterIP   10.43.0.1      <none>        443/TCP          23d
mysql        NodePort    10.43.17.172   <none>        3306:30006/TCP   10h
mysql        NodePort    10.43.17.172   <none>        3306:30006/TCP   10h
[root@kube-master01 mysql]# mysql -h 192.168.23.31 -P 30006 -u root -p'password'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 5.7.43 MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| clusterpedia       |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.05 sec)

mysql>

statefulset mysql standalone

在kube-node01 创建目录/mnt/mysql/data

mkdir -p /mnt/mysql/data

创建 pv & pvc

$ vim mysql-pv-pvc.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:
  name: mysql-pv-volume
  labels:
    type: local
spec:
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: mysql.standalone.node
          operator: In
          values:
          - enable
  storageClassName: manual
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/mysql/data"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pv-claim
  namespace: mysql
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi

创建 statefulset

$ vim mysql-deploy.yaml 
apiVersion: v1
kind: Service
metadata:
  name: mysql
  namespace: mysql
spec:
  type: NodePort
  ports:
  - port: 3306
    nodePort: 30006
    targetPort: 3306
    protocol: TCP
  selector:
    app: mysql
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: mysql
  namespace: mysql
spec:
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: mysql.standalone.node
                operator: In 
                values:
                - enable
      containers:
      - image: mysql:5.7
        name: mysql
        env:
          # Use secret in real usage
        - name: MYSQL_ROOT_PASSWORD
          value: password
        ports:
        - containerPort: 3306
          name: mysql
        volumeMounts:
        - name: mysql-persistent-storage
          mountPath: /var/lib/mysql
      volumes:
      - name: mysql-persistent-storage
        persistentVolumeClaim:
          claimName: mysql-pv-claim

执行:

kubectl apply -f mysql-pv-pvc.yaml 
kubectl apply -f mysql-deploy.yaml

检查

$ kubectl get all -n mysql
NAME          READY   STATUS    RESTARTS   AGE
pod/mysql-0   1/1     Running   0          5m16s

NAME            TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
service/mysql   NodePort   10.102.59.69   <none>        3306:30006/TCP   4m47s

NAME                     READY   AGE
statefulset.apps/mysql   1/1     5m16s

连接 mysql

[root@kube-master01 mysql-yaml]# mysql -h 192.168.23.21 -u root  -P 30006  -p'password'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)


helm install mysql standalone

参考:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kubernetes deploy standalone mysql demo 的相关文章

  • PhpMyAdmin 导出不包括 mysqldump 中的主键

    用PhpMyAdmin导出同一个表的结构 DROP TABLE IF EXISTS test apprentis CREATE TABLE IF NOT EXISTS test apprentis a id smallint 10 NOT
  • MySQL 存储过程、Pandas 和“执行多个语句时使用 multi=True”

    注意 正如下面 MaxU 所建议的 该问题特定于 mysql connector 如果您使用 pymysql 则不会出现该问题 希望这可以帮其他人省去一些麻烦 使用Python Pandas 和mySQL 根本无法让存储过程返回结果 更不用
  • Navicat 中的 MySQL 视图 - 如何定义“主键”?

    当我在 Navicat 中定义视图时 经常会收到以下消息 xxx 没有主键 对此表的更新将使用以下伪语句完成 UPDATE xxx SET ModifiedFieldsAndValues WHERE AllFieldsAndOldValue
  • 删除后找回 docker-for-windows Kubernetes kubeconfig 文件

    我的 Windows 版 Docker kube config设置对基于云的 K8s 集群的访问时 文件被替换 有没有办法重新创建它而无需重新启动 Docker for Windows Kubernetes Update我现在的 kube
  • MySQL max_allowed_pa​​cket 参数有什么问题?

    我需要增加 max allowed pa cket 参数 以适应一些理论上非常大的项目 如果我将此参数设置为 10M 那么与设置为 1M 或 4M 相比 我要支付什么价格 如果有的话 感谢您的任何意见 托马斯 我找到了这个解释 http w
  • 如何使用默认约束为mysql中的列创建随机数?

    DEFAULT 约束在接受字符串或当前日期值方面没有问题 我需要的是一个约束 每次创建实体时都会创建一个随机的 4 位数字 我尝试了以下代码 但它返回语法错误 ALTER TABLE client number ADD 代码 INT 4 D
  • 如何在不违反唯一约束的情况下交换MySQL中两行的值?

    我有一个带有优先级列的 任务 表 它具有唯一的约束 我试图交换两行的优先级值 但我一直违反约束 我在类似的情况下在某个地方看到过这个语句 但不是 MySQL 的 UPDATE tasks SET priority CASE WHEN pri
  • 将 .NET 小数存储到 MySQL 中的最佳字段定义是什么?

    我需要将小数存储到 MySQL 中 它可以具有不同的精度 因此我很想知道哪种 MySQL 字段类型绝对等同于 NET 的字段类型decimal http msdn microsoft com en us library system dec
  • 根据多行中的总分对 mysql 中的用户进行排名

    我有与这个问题中描述的非常相似的要求 mysql中的用户按积分排名 https stackoverflow com questions 34637943 rank users in mysql by their points 唯一的区别在于
  • MySQL 可以存储多少行?

    所以我是一个初学者 刚刚自学了几个月的MySQL 我在工作中总是使用 phpMyAdmin 我过去的工作只涉及大约 100k 行的表 所以没有什么大问题 然而 我的客户现在想要在表中存储大约 800 万行 MySQL phpMyAdmin
  • PDO 多查询“SQLSTATE[HY000]:一般错误”

    我仍在学习 PDO 所以我可能会错过一些东西 但基本上我正在尝试将一行插入表中 然后选择生成的 id 我不确定它是否喜欢一个 pdo 语句中的两个查询 这是我用来执行 SQL 的代码 public function ExecuteQuery
  • 如何更改Linux服务器中的MySQL表名不区分大小写?

    我正在开发一个旧网站 该网站曾经托管在 Apple 服务器上 当它迁移到新的 Linux 服务器时 它停止工作 我很确定这是因为 php 脚本中使用的所有 MySQL 查询对于表名都有不同的大小写组合 我不知道为什么原始开发人员在创建表名或
  • MySql 西班牙语字符数据

    我有一个包含西班牙语字符的数据库 为了填充数据库 我从字符编码 UTF 8 的客户端页面获取值 当我在 mySql 数据库中插入值时 行包含更改的数据 例如 如果我插入 M xico 数据库中的条目是 M xico 其影响是当我对指定 M
  • UTF-8、PHP 和 XML Mysql

    我在解决这个问题时遇到了很大的问题 我有一个编码 latin1 swedish ci 的 mysql 数据库和一个存储名称和地址的表 我正在尝试输出 UTF 8 XML 文件 但在使用以下字符串时遇到问题 Otiv gen它被输出为Otiv
  • MySQL 启动错误 - 根元素丢失

    我在 Windows Server 2003 R2 上安装 MySQL 大约两个月了 启动时 我们会看到一个错误 显示 高严重性错误 根元素丢失 然后是另一个高严重性错误 显示 在调用 WriteToLog 方法之前必须定义日志文件路径 任
  • 如何将UTF-8编码的汉字从MySql正确导出到SQL

    过去三天我们正在与严重的问题作斗争 我们从PhpmyAdmin导出MySql数据库文件 数据库条目中写入的数据是带有UTF 8字符集的中文 导出后将其转换为拉丁字符集 现在我们正在将此数据库SQl文件导入到其他主机 我们在UTF 8和排序规
  • Node.js 将 async/await 与 mysql 一起使用

    我一直在尝试在节点中将 async await 与 MySQL 一起使用 但它每次都会返回一个未定义的值 有理由吗 请在下面找到我的代码 const mysql require promise mysql var connection co
  • MySQL - 查找与连接表中的所有行匹配的行

    表 1 曲目 表 2 词汇表 表 3 N M 轨道有单词 trackwords 找到包含所有单词的所有曲目 目前查询如下 SELECT DISTINCT t id FROM track as t Left Join trackwords a
  • Sails 嵌套模型集合

    我有 3 个型号 用户模型 module exports schema true attributes login type string required true hosts collection host via owners acc
  • 学说 - 获取下一个和上一个记录

    这样我就已经获取了一些记录 我已创建日期字段 现在我想按日期获取下一条和上一条记录 通过以下方式让它工作 qb this gt createQueryBuilder a next qb gt expr gt gt a created dat

随机推荐

  • 读《游戏之旅--我的编程感悟》有感

    我不是学计算机的 但此书给我的感触颇深 此书成于2005年 我真希望自己能早6年读到这本书呀 2007年大学的时候就读到 作者叫云风 个人主页 www codingnow com 是个技术高手 网易游戏开发部门的重要人物 他书中有这样一段话
  • 【RabbitMQ教程】Work queues 工作队列模式

    目录 前言 Work queues工作模式介绍 消息模型 适用场景 消费策略 重要 消费策略选择 消费策略代码示例 轮询分发 1 定义生产者和消费者 2 运行程序 3 结果分析 公平分发 1 定义生产者和消费者 2 运行程序 3 结果分析
  • 憨批的语义分割3——unet模型详解以及训练自己的unet模型(划分斑马线)

    憨批的语义分割3 unet模型详解以及训练自己的unet模型 划分斑马线 学习前言 模型部分 什么是unet模型 unet模型的代码实现 1 主干模型Mobilenet 2 unet的Decoder解码部分 代码测试 训练部分 训练的是什么
  • 蓝桥杯-第六届蓝桥杯C语言A组/B组/C组-Python题解

    目录 方程整数解 星系炸弹 奇妙的数字 牌型种数 手链样式 饮料换购 奖券数目 三羊献瑞 加法变乘法 隔行变色 立方尾不变 方程整数解 方程 a 2 b 2 c 2 1000 这个方程有整数解吗 有 a b c 6 8 30 就是一组解 你
  • 猫眼美团滑块

    猫眼演场会下单会弹出美团的滑块验证码 使用js过滑块 想看演唱会但是又抢不到票 用python写一个猫眼自动下单
  • 2020年最常见的25个Web开发面试问题

    Java面试笔试面经 Java技术每天学习一点 Java面试 关注不迷路 作者 Team Codegiant 译者 王强 策划 李俊辰 本文最初发布于 Medium 网站 经原作者授权由 InfoQ 中文站翻译并分享 你把闹钟设定在了下午
  • 软件测试值不值得学,2023软件测试行情分析

    目录 1 人们的生活离不开软件 有软件的地方就有测试 2 测试工程师特别是自动化测试工程师的需求会越来越大 3 软件测试经验越丰富越受欢迎 不存在35岁限制 4 所有新兴行业比如chat gtp 车载系统等都需要测试工程师 薪资 就业 软件
  • Office2010安装步骤

    这是一篇我自己写于17年8月27日的office2010的安装教程 发现挺多人都不会安装或者激活 所以特地写了这篇文 安装office2010前请确保电脑中没有安装其它版本的office软件 否则可能造成两个版本的office不能正常使用
  • MATLAB:矩阵(基础知识)

    一 数组的创建和操作 1 矩阵的输入 gt gt A A gt gt B 6 5 3 B 6 5 3 gt gt C B C 6 5 3 2 调用矩阵 gt gt A 1 2 3 4 5 A 1 2 3 4 5 gt gt a1 A 1 访
  • kvm设置桥接网卡

    kvm默认的网卡模式为nat 虚拟主机可访问外网 但外部无法访问虚拟主机 将其改为桥接模式以实现内外互通 环境 centos6图形界面下 有virtual machine manager 程序 整个过程就两步 1 修改物理机网卡为桥接模式
  • SpringBoot报错:Cannot call isReadOnlyBeforeAttachedToSession when isReadOnlySettingAvailable == true

    错误后边会说明哪个实体类导致的 在实体类上加上 Proxy lazy false
  • Apache Beam实战指南

    https mp weixin qq com s biz MzU1NDA4NjU2MA mid 2247492538 idx 2 sn 9a2bd9fe2d7fd681c10ebd368ef81c9c chksm fbea5a75cc9dd
  • [原创]LoadRunner 12.02 录制脚本时提示无Internet访问,如何解决?

    在使用LoadRunner 12 02 进行录制脚本时提示无Internet访问 如下图 翻译中文如下 可以尝试以下方式解决 点击弹出框中的 Yes 即可 若还是有问题 尝试以下方式 1 LR12走的是证书机制 你按照我附件 图片1 中提供
  • springboot集成springsecurity + jwt的使用

    当项目中要用到用户的认证及权限的时候我们一般会使用 springSecurity来解决 引入 引入很简单
  • 学习若依框架----之----获取登录登录系统、ip、浏览器信息

    文章目录 1 导入需要用到的依赖 2 IP获取 3 AddressUtils 获取地址类 4 登录日志管理工具 4 SpringUtils获取bean工具 5 客户端工具 6 使用 7 测试 8 数据库记录 若依里面 创建登录日志是根据异步
  • USDT信用卡和转账入账接口

    class Usdtpay public function index data this gt request gt param uid data uid token data token type data type changeid
  • 经验模态分解(EMD)

    目录 1 背景 2 时间序列平稳性 3 EMD 方法 4 EMD 过程 5 EMD 方法的缺陷 6 Python 1 背景 实际工程测量中由于测量系统受外界环境影响经常在测量信号中产生趋势项 趋势项是指信号中周期大于采样长度的频率成分 通常
  • Unity内存与资源管理

    内存管理是程序开发的核心问题 而资源的使用又与内存息息相关 因此本章想要梳理整个开发流程中Unity对于内存与资源的管理方式 一 内存基础 1 1 基础概念 内存是暂时存放CPU中的运算数据 与硬盘等外部存储器交换的数据 在操作系统中 内存
  • R语言产生随机数

    R语言中有4个产生随机数的函数 dunif 指定随机数密度 punif 指定随机数的分布类型 qunif 指定quantile function runif 产生随机分布的散点 如果需要指定随机数的类型 可用以下几个函数 round 四舍五
  • kubernetes deploy standalone mysql demo

    文章目录 deployment mysql standalone statefulset mysql standalone helm install mysql standalone deployment mysql standalone