k8s部署mysql

导读:本篇文章讲解 k8s部署mysql,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/75672.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!