k8s部署mysql

1、 创建namespace.yaml文件

[root@k8s-master1 ~]# cat namespase.yaml 
apiVersion: v1 #类型为Namespace
kind: Namespace  #类型为Namespace
metadata:
  name: test  #命名空间名称
  labels:
    name: mysql

然后应用到k8s中

kubectl create -f namespace.yaml

2、 创建deployment.yaml文件

[root@k8s-master1 ~]# cat deployment.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: mysql #为该Deployment设置key为app,value为mysql的标签
  name: mysql
  namespace: test
spec:
  replicas: 1 #副本数量
  selector: #标签选择器,与上面的标签共同作用
    matchLabels: #选择包含标签app:nginx的资源
      app: mysql
  template: #这是选择或创建的Pod的模板
    metadata: #Pod的元数据
      labels: #Pod的标签,上面的selector即选择包含标签app:nginx的Pod
        app: mysql
    spec: #期望Pod实现的功能(即在pod中部署)
      containers: #生成container,与docker中的container是同一种
      - name: mysql
        image: mysql:5.7 #使用镜像mysql: 创建container,该container默认3306端口可访问
        ports:
        - containerPort: 3306  # 开启本容器的3306端口可访问
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: hjj123456   
        volumeMounts: #挂载持久存储卷
        - name: mysql-data  #挂载设备的名字,与volumes[*].name 需要对应
          mountPath: /var/lib/mysql  #挂载到容器的某个路径下
        - name: mysql-dev-conf
          mountPath: /etc/mysql   
          
      volumes:
      - name: mysql-data  #和上面保持一致 这是本地的文件路径,上面是容器内部的路径
        nfs:
          server: 10.0.19.129  #nfs的ip地址
          path: /opt/data/mysql/data  #此路径需要实现创建
      - name: mysql-dev-conf
        nfs:
          server: 10.0.19.129
          name: /opt/data/mysql/cnf   #此路径需要实现创建

然后应用到k8s中

kubectl create -f deployment.yaml

3、创建service.yaml文件

[root@k8s-master1 ~]# cat service.yaml 
apiVersion: v1
kind: Service
metadata:
  labels:
   app: mysql
  name: mysql
  namespace: test
spec:
  ports:
  - port: 3306 #写nginx本身端口
    name: mysql
    protocol: TCP
    targetPort: 3306 # 容器nginx对外开放的端口 上面的dm已经指定了
    nodePort: 31090 #外网访问的端口
  selector:
    app: mysql    #选择包含标签app:nginx的资源
  type: NodePort

然后应用到k8s中
kubectl create -f ./service.yaml

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值