如何使用Kubernetes集群环境部署MySQL数据库的实战
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: xx # 设置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
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: xx # 设置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,进行数据库链接了
到此这篇关于使用Kubernetes集群环境部署MySQL数据库的文章就介绍到这了,更多相关Kubernetes部署MySQL内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!