1 编写 mysql.yaml文件
编写yaml如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
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 执行如下命令创建
1
|
kubectl apply -f mysql.yaml |
3 通过如下命令查看创建结果
使用如下命令查看
1
|
kubectl get pod -n devops | grep mysql |
如:
1
2
3
|
[root@master ~] # kubectl get pod -n devops | grep mysql devops-mysql-59b68c47d4-ttbng 1 /1 Running 0 23h [root@master ~] # |
4 命令行进入Pod并登录mysql
如下;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
[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内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://juejin.cn/post/7101584734286774303