当前位置: 首页 > article >正文

(24)k8s部署mysql


k8s部署mysql:

1.创建数据目录文件夹:
mkdir /var/lib/mysql

#创建配置目录:
mkdir cicd
eg:/home/kui/ccmysql/cicd

2.创建secret对象,存储mysql账号密码:
Secret对象:mysql-auth
#命令:
kubectl create secret generic mysql-auth --from-literal=username=root --from-literal=password=123456

#创建完成后查看mysql-auth对象
kubectl get secret

#查看secret对象yaml文件
kubectl get secret mysql-auth -o yaml

3.创建mysql deployment并完成pod部署:
创建deploy:deployment-cicd-mysql.yaml
vim deployment-cicd-mysql.yaml

yaml文件:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: cicd-mysql
spec:
  replicas: 1
  selector:
    matchLabels:
      app: cicd-mysql
  template:
    metadata:
      labels:
        app: cicd-mysql
    spec:
      containers:
      - name: cicd-mysql
        image: drupalci/mysql-5.7
        imagePullPolicy: IfNotPresent #镜像拉取策略:如果不存在就拉取镜像
        args:
        - "--ignore-db-dir=lost+found"
        ports:
        - containerPort: 3306
        volumeMounts: #挂载数据卷
        - name: mysql-data
          mountPath: "/var/lib/mysql" #挂载到容器内的目录
        env: #环境变量
        - name: MYSQL_ROOT_PASSWORD
          valueFrom:
            secretKeyRef:
              name: mysql-auth
              key: password #引用mysql-auth中的password值
      volumes: #数据卷
      - name: mysql-data
        hostPath: #宿主机路径
          path: /var/lib/mysql #宿主机的目录
          type: Directory 

备注:以下配置文档中有,但视频没用
      tolerations:
      - key: "mysql"
        operator: "Equal"
        value: "true"
        effect: "NoSchedule"
        
#创建mysql deployment:
#启动成功
kubectl apply -f deployment-cicd-mysql.yaml

4.创建mysql的service:
vim service-cicd-mysql.yaml
apiVersion: v1
kind: Service
metadata: #源数据
  name: service-cicd-mysql
spec: #规格
  selector: #选择器
    app: cicd-mysql #与deployment配置中的container-name相对应
  ports: #将pod的 3306端口代理到宿主机的3306端口
  - protocol: TCP
    port: 3306
    targetPort: 3306 #虚拟端口->真正的端口要看Service启动后实际分配的
    
  type: NodePort #不写就不能访问到pod


http://www.kler.cn/news/323253.html

相关文章:

  • django基于python的房价分析可视化系统的设计与开发 h1y0i
  • 洗浴中心澡堂污水处理设备主要包括以下几个步骤
  • 分享一下PHP基本语法总结
  • DERT目标检测源码流程图main.py的执行
  • 微信支付准备工作之内网穿透2024/9/28
  • 面向未来的设计:推动企业架构创新的关键——The Open Group 2024生态系统架构与可持续发展年度大会
  • 了解HTTPS
  • 如何在 Windows 台式机或笔记本电脑上恢复未保存的 Excel 文件
  • 【AI创作组】MATLAB基础语法总结
  • matlab处理语音信号
  • scikit-sparse安装
  • 【LLM多模态】文生视频综述From Sora What We Can See: A Survey of Text-to-Video Generation
  • 万户OA-ezOFFICE fileUpload.controller 任意文件上传漏洞复现
  • 保姆级复现yolov7(论文复现)
  • class 026 哈希表、有序表和比较器的用法
  • Linux云计算 |【第四阶段】PROJECT2-DAY2
  • Nginx+Tomcat负载均衡、反向代理
  • C语言编程-经典易错题1
  • 若依开源系统多数据源整合clickhouse数据库详细步骤
  • C++远端开发环境安装(centos7)
  • 【网络安全安全管理入门必知必会】应急响应之服务器入侵排查,零基础入门到精通,收藏这篇就够了
  • 游戏厅计时器ps5计算时间的软件 佳易王电玩计时计费管理系统操作教程
  • 【有啥问啥】深度理解主动学习:机器学习的高效策略
  • 927解决WSL2上UBuntuz终端卡顿
  • Vue中集中常见的布局方式
  • 赋值运算符重载
  • python 实现harmonic series调和级数算法
  • 现代LLM基本技术整理
  • Android13高通平台拨打/接听只有免提模式,无听筒模式
  • unsqueeze函数、isinstance函数、_VF模块、squeeze函数