zoukankan      html  css  js  c++  java
  • AKS使用Azure Disk实现动态持久化存储(下)

    上一篇文章我们初步体验了AKS pod挂载Azure Disk的流程,这篇文章我们来正式部署一个mysql的服务来看下。

    首先准备一个PVC,命名为mysql-pvc.yaml,内容如下:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: mysql-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      storageClassName: managed-premium
      resources:
        requests:
          storage: 32Gi
    

     编辑后执行:

    kubectl apply -f mysql-pvc.yaml
    

    完了部署mysql, 创建mysql.yml如下:

    kind: Service
    apiVersion: v1
    metadata:
      name: mysql
    spec:
      selector:
        app: mysql
      ports:
      - port: 3306
      
    ---
    kind: Deployment
    apiVersion: apps/v1beta1
    metadata:
      name: mysql
    spec:
      selector:
        matchLabels:
    	  app: mysql
      template:
        metadata:
    	  labels:
    	    app: mysql
    	spec:
          containers:
          - name: mysql
            image: mysql:5.6
            env:
    	    - name: MYSQL_ROOT_PASSWORD
    	      value: password
    	    ports:
    	    - containerPort: 3306
    	      name: mysql
            volumeMounts:
            - mountPath: /var/lib/mysql
              name: volumeformysql
          volumes:
          - name: volumeformysql
            persistentVolumeClaim:
              claimName: mysql  
    

    执行kubectl apply -f mysql.yml 后看到这个pod在node aks-agentpool-37075081-0上启动了,此时可以去portal上MC_开头的资源组里找到相应的azure 磁盘,概述中发现它是属于aks-agentpool-37075081-0这台VM。

     然后我们创建一个mysql-client的pod,进入该pod中简单创建一个数据库,命名为test,插入一条数据:

     接下来我们进入portal看下这个磁盘的监控情况:

     然后我们在MC_开头的资源组找到aks-agentpool-37075081-0这台VM,手动关机,观察pod的状态,立即查看发现之前aks-agentpool-37075081-0上的两个pod的unknow了:

    与此同时另一个pod mysql-87585fdf4-r4zkj正在创建,这就是K8S集群的特点,能监控节点的运行状况,保证服务可用。(这里之所以mysql-client没有重新创建是因为创建的时候给它的属性就是挂掉了直接删除该pod),过几分钟后我们重新查看,看到这个新的pod已经迁移到aks-agentpool-37075081-2上了:

     执行kubectl describe pod mysql-87585fdf4-r4zkj:

    再回到portal上查看磁盘,看到磁盘的所属VM已经更新为aks-agentpool-37075081-2:

    然后去数据库里检查之前的数据是否完整:

    至此一个AKS上搭建Mysql,利用Azure Disk做持久化存储的实践就完成了。

  • 相关阅读:
    跟着我学习-python-01-流程控制语句
    跟着我学习-python-01-用户交互
    跟着我学习-python-02-while循环
    基于Centos7.6上Ambari2.7.4+HDP3.1.4离线安装
    TDH(Transwarp Data Hub)社区版安装教程
    跟我学习日常写的shell脚本-设置系统selinux
    [Linux]常用命令“ll”失效或命令未找到
    NPOI
    Linq&lamda相关
    接口相关
  • 原文地址:https://www.cnblogs.com/changruijun/p/11001093.html
Copyright © 2011-2022 走看看