K8s--09 编写mysql的持久化deployment

摘要:
K8S实践--编写MySQL持久性部署1.实验--编写MySQL永久性部署#并首先标记它[root@node1~/Volume]#kubectlabelnodesnode3disktype=SSD#写入资源列表[root@node1~/volume]#catmysql主机路径ssd.yamlapiVersion:apps/v1kind:Deploymen

k8s实战--编写mysql的持久化deployment


1.实验-编写mysql的持久化deployment
#先打标签
[root@node1 ~/volume]# kubectl label nodes node3 disktype=SSD
#编写资源清单
[root@node1 ~/volume]# cat mysql-hostpath-ssd.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql-dp
  namespace: default
spec:
  selector:
    matchLabels:
      app: mysql 
  replicas: 1
  template: 
    metadata:
      name: mysql-pod
      namespace: default
      labels:
        app: mysql
    spec:
      containers:
      - name: mysql-pod
        image: mysql:5.7 
        ports:
        - name: mysql-port
          containerPort: 3306
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: "123456" 
        volumeMounts:
        - mountPath: /var/lib/mysql
          name: mysql-volume
      volumes:
      - name: mysql-volume
        hostPath:
          path: /data/mysql
          type: DirectoryOrCreate 
      nodeSelector:
        disktype: SSD


2.检查是否生成容器
[root@node1 ~/volume]# kubectl get pod
mysql-dp-d9dd6799d-rn4lf           1/1     Running   0          3m56s

3.登录并进入mysql镜像
[root@node1 ~/volume]# kubectl exec -it mysql-dp-d9dd6799d-rn4lf /bin/bash
root@mysql-dp-d9dd6799d-rn4lf:/# 

4.在容器里面登录数据库
root@mysql-dp-d9dd6799d-rn4lf:/# mysql -uroot -p123456

5.创建数据库并查看
mysql> create database dyc;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dyc                |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)


6.退出并删除mysql容器的资源清单
[root@node1 ~/volume]# kubectl delete -f  mysql-hostpath-ssd.yaml

7.再次应用资源清单
[root@node1 ~/volume]# kubectl create -f mysql-hostpath-ssd.yaml

8.登录新生成的数据库容器
[root@node1 ~/volume]# kubectl exec -it mysql-dp-d9dd6799d-dg6p8 /bin/bash
root@mysql-dp-d9dd6799d-dg6p8:/# 

9.登录容器中的数据可并查看之前创建的数据库是否存在
root@mysql-dp-d9dd6799d-dg6p8:/# mysql -uroot -p123456
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dyc                |         #之前创建的数据库存在,即持久化成功
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

10.查看加点mysql容器是否把数据映射到宿主机
[root@node3 ~]# ll /data/mysql/
drwxr-x--- 2 polkitd input       20 3月   2 21:46 dyc
drwxr-x--- 2 polkitd input     4096 3月   2 21:40 mysql

免责声明:文章转载自《K8s--09 编写mysql的持久化deployment》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇sql server下载测试数据库AdventureWorks关于修改思科WLC SSID下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【笔记】SpringBoot+Shiro 实现简单权限管理(使用mysql数据库)

网上翻了好久 都没有SpringBoot+Shiro的入门教程 原本想看《跟我学Shiro》 然后发现这是从头开始 但是我就需要和SpringBoot整一块 不需要那么多的东西 感觉这个当参考书不错 于是东拼西凑终于整成了 把别人的教程上我用不到的都删了 该改的改 终于拿到了我理想中的效果 先是数据库部分 因为是简单的实现 就没有弄得太复杂 三部分 用户...

mysql如何修改所有的definer

mysql中的definer是什么,有什么作用? 我们在mysql创建view、trigger、function、procedure、event时都会定义一个Definer=‘xxx’,类似如下: CREATE ALGORITHM =UNDEFINED DEFINER = `root`@`%` SQL SECURITY DEFI...

mysql慢查询日志总结

查看慢查询是否开启: mysql>show variables like '%slow_query_log%'; Variable_name       Value slow_query_log       on slow_query_log_file  日志路径 显示为on,已开启,并且下面写出了日志文件的路径。直接cat对应文件即可查看mysql...

Mysql数据优化--DBA梳理珍藏篇

1. 优化SQL1)     通过show status了解各种sql的执行频率         show status like 'Com_%'        了解 Com_select,Com_insert 的执行次数 2)    通过Explain分析低效的sql语句 3)    建立合适的索引 4)    通过show status like '...

原生JDBC

JDBCJava DataBase Connectivity,java数据库连接,是一种用于执行SQL语句的Java API。JDBC是Java访问数据库的标准规范,可以为不同的关系型数据库提供统一访问,它由一组用Java语言编写的接口和类组成。 驱动JDBC需要连接驱动,驱动是两个设备要进行通信,满足一定通信数据格式,数据格式由设备提供商规定,设备提供商...

LNMP平台搭建---MySQL安装篇

  在前两篇中,安装了一个基本的Web服务器,但是只能提供静态网页查看,要做成动态网站,就必须要数据库或其他编程语言支持了,这里先介绍MySQL数据库的安装。   MySQL是一个开源的数据库,在互联网行业应用的很广泛,下面来记录一下从源码安装的步骤,当然,MySQL也有其他安装方式,比如,使用yum下载安装rpm包,或者二进制方式安装,如果机器比较多,可...