欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > (二十三)、k8s(minikube) 部署mysql

(二十三)、k8s(minikube) 部署mysql

2024/10/27 0:06:01 来源:https://blog.csdn.net/bestcxx/article/details/143222634  浏览:    关键词:(二十三)、k8s(minikube) 部署mysql

文章目录

  • 1、安装
    • 1.1、环境
    • 1.2、workbench 崩溃问题
    • 1.1、deployment.yaml 文件
    • 1.2、运行
    • 1.3、启动隧道,从宿主机直接访问 k8s 中的mysql
  • 2、完整卸载 mysql(pod/deployment/service/pvc)

1、安装

1.1、环境

docker 部署 minikube,minikube 中部署 mysql
Mac,注意芯片类型 和 workbench 版本适配(workbench最新版 8.0.40,对于image mysql:version, version 的值 M2 版本 8.0.30, Intel 芯片 8.0)

1.2、workbench 崩溃问题

在 MySQL Workbench 中,点击 Help 菜单,然后选择 About MySQL Workbench 查看版本

kubectl exec -it – mysql --version 查看k8s 中 mysql 版本

1.1、deployment.yaml 文件

apiVersion: apps/v1
kind: Deployment
metadata:name: mysql-deploymentlabels:app: mysql
spec:replicas: 1selector:matchLabels:app: mysqltemplate:metadata:labels:app: mysqlspec:containers:- name: mysqlimage: mysql:8.0  # M2 版本 8.0.30,目前最新 workbench 最高到 8  #非 arm 架构芯片可以写 image: mysql:8.0env:- name: MYSQL_ROOT_PASSWORDvalue: rootadmin  # 设置 root 用户密码ports:- containerPort: 3306volumeMounts:- name: mysql-storagemountPath: /var/lib/mysql  # MySQL 数据存储路径volumes:- name: mysql-storagepersistentVolumeClaim:claimName: mysql-pvc  # 使用 PVC
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: mysql-pvc
spec:accessModes:- ReadWriteOnceresources:requests:storage: 1Gi  # 请求的存储大小storageClassName: standard  # 确保与您的 PV 的存储类匹配
---
apiVersion: v1
kind: Service
metadata:name: mysql-service
spec:type: NodePort  # 设置为 NodePort 类型selector:app: mysql  # 选择与 Deployment 中相同的标签ports:- port: 3306  # Service 的端口targetPort: 3306  # Pod 中的端口nodePort: 30002  # 自定义 NodePort(可选,范围是 30000-32767)

1.2、运行

kubectl apply -f mysql-deployment.yaml         

1.3、启动隧道,从宿主机直接访问 k8s 中的mysql

minikube get services
minikube service mysql-service

2、完整卸载 mysql(pod/deployment/service/pvc)

➜  simpled git:(security) ✗ kubectl get pods                            
NAME                                READY   STATUS    RESTARTS      AGE
mysql-deployment-848886474f-6q94t   1/1     Running   0             3m54s
redis-559d94f9bc-mgfxt              1/1     Running   1 (32m ago)   4h57m
➜  simpled git:(security) ✗ kubectl delete pod mysql-deployment-848886474f-6q94t 
pod "mysql-deployment-848886474f-6q94t" deleted
➜  simpled git:(security) ✗ kubectl get deployments                              
NAME               READY   UP-TO-DATE   AVAILABLE   AGE
mysql-deployment   0/1     1            0           4m19s
redis              1/1     1            1           4h57m
➜  simpled git:(security) ✗ kubectl delete deployment mysql-deployment 
deployment.apps "mysql-deployment" deleted
➜  simpled git:(security) ✗ kubectl get services
NAME            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes      ClusterIP   10.96.0.1       <none>        443/TCP          5h1m
mysql-service   NodePort    10.106.158.26   <none>        3306:30002/TCP   4m44s
redis-service   NodePort    10.108.203.83   <none>        6379:30001/TCP   4h58m
➜  simpled git:(security) ✗ kubectl delete service mysql-service 
service "mysql-service" deleted
➜  simpled git:(security) ✗ kubectl get pvc
NAME        STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE
mysql-pvc   Bound    pvc-59ff2870-64c4-46ca-a74d-b36380ceca0c   1Gi        RWO            standard       <unset>                 5m20s
➜  simpled git:(security) ✗ kubectl delete mysql-pvc
error: the server doesn't have a resource type "mysql-pvc"

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com