使用Kubernetes集群环境部署MySQL数据库的实战记录

作者:Redrose2100 时间:2024-01-14 15:30:16 

1 编写 mysql.yaml文件

编写yaml如下

apiVersion: v1
kind: Namespace
metadata:
 name: devops   # Namespace 的名称
---
apiVersion: apps/v1
kind: Deployment
metadata:
 name: devops-mysql   # deployment控制器名称
 namespace: devops
spec:
 replicas: 1
 revisionHistoryLimit: 5
 strategy:
   type: RollingUpdate
 selector:
   matchLabels:
     app: devops-mysql
 template:
   metadata:
     labels:
       app: devops-mysql
   spec:
     volumes:
       - name: devops-mysql
         nfs:
           server: xx.xx.xx.xx  # 修改为挂载存储的服务器ip
           path: /root/data/nfs/mysql/devops   # 修改为存储服务器的存储挂载路径
     containers:
       - name: devops-mysql
         image: mysql:5.7
         env:
           - name: MYSQL_ROOT_PASSWORD
             value: xxxxxxxx     # 设置MySQL数据库登录密码
         imagePullPolicy: Always
         ports:
           - containerPort: 3306
         volumeMounts:
           - name: devops-mysql
             mountPath: /var/lib/mysql
---
apiVersion: v1
kind: Service
metadata:
 name: devops-mysql    # 数据库服务的名称
 namespace: devops
spec:
 ports:
   - port: 3306
     protocol: TCP
     targetPort: 3306
     nodePort: 30001    # 对外访问的端口
 selector:
   app: devops-mysql
 type: NodePort
 sessionAffinity: ClientIP

2 执行如下命令创建

kubectl apply -f mysql.yaml

3 通过如下命令查看创建结果

使用如下命令查看

kubectl get pod -n devops | grep mysql

如:

[root@master ~]# kubectl get pod -n devops | grep mysql
devops-mysql-59b68c47d4-ttbng               1/1     Running   0          23h
[root@master ~]#

4 命令行进入Pod并登录mysql

如下;

[root@master ~]# kubectl exec -it devops-mysql-59b68c47d4-ttbng bash -n devops
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
root@devops-mysql-59b68c47d4-ttbng:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.7.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, 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                |
+--------------------+
5 rows in set (0.01 sec)

mysql>

5 至此,数据库已经安装完成,然后即可通过ip+端口,这里是30001,进行数据库链接了

来源:https://juejin.cn/post/7101584734286774303

标签:Kubernetes,集群,部署,MySQL
0
投稿

猜你喜欢

  • HTML 5 胜出:XHTML2 宣告夭折

    2009-07-12 15:23:00
  • pytorch神经网络之卷积层与全连接层参数的设置方法

    2023-07-11 14:21:27
  • 详解mysql5.7密码忘记解决方法

    2024-01-28 16:10:00
  • php快递单号查询接口使用示例

    2023-10-25 07:39:55
  • getAllResponseHeaders获取网页的http头信息代码

    2010-03-31 14:31:00
  • Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]

    2023-03-13 09:20:52
  • python之pil的使用详解

    2023-01-19 07:21:19
  • 图片预加载效果的实现

    2008-06-16 12:08:00
  • Vue中如何优雅的捕获 Promise 异常详解

    2023-07-02 16:56:14
  • 深入解析Go语言编程中slice切片结构

    2024-04-25 15:01:23
  • 我们用什么来衡量设计3:定量研究的风险

    2009-07-19 14:14:00
  • python的pstuil模块使用方法总结

    2022-10-09 22:47:16
  • window.onload使用指南

    2024-04-18 10:58:51
  • 网页设计详细教程之XML简便省力技巧五则

    2008-05-23 14:37:00
  • php usort 使用用户自定义的比较函数对二维数组中的值进行排序

    2023-11-21 23:08:28
  • Mysql中的触发器定义与使用

    2024-01-26 10:37:45
  • 关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)

    2023-06-06 07:58:32
  • 详解如何使用Python编写vim插件

    2023-01-08 13:30:39
  • ASP|HTML]单引与双引号

    2008-03-12 11:42:00
  • Python的SQLalchemy模块连接与操作MySQL的基础示例

    2024-01-20 07:37:13
  • asp之家 网络编程 m.aspxhome.com