Maison >base de données >tutoriel mysql >Qu'est-ce que Kubernetes ? Comment déployer une base de données MySQL basée sur celle-ci
Kubernetes est un moteur d'orchestration de conteneurs open source par Google. Il prend en charge le déploiement automatisé, l'évolutivité à grande échelle et la gestion des conteneurs d'applications. Lorsque vous déployez une application dans un environnement de production, vous déployez généralement plusieurs instances de l'application pour équilibrer la charge des demandes d'application.
Dans Kubernetes, nous pouvons créer plusieurs conteneurs, chaque conteneur exécute une instance d'application, puis utiliser la stratégie d'équilibrage de charge intégrée pour gérer, découvrir et accéder à ce groupe d'instances d'application, et ces détails ne sont pas requis Exploitation et maintenance le personnel doit effectuer une configuration et un traitement manuels complexes.
Cet article expliquera comment déployer une base de données MySQL basée sur Kubernetes.
Créer un service Service
Créez un service pour corriger l'adresse IP de la connexion à la base de données MySQL à déployer et assurer l'équilibrage de charge. Voici le contenu du fichier mysql-service.yaml :
apiVersion: v1 kind: Service metadata: name: mysql spec: selector: app: mysql ports: - port: 3306
Ce qui précède. la configuration crée un service nommé mysql. Un objet de service qui transmet les requêtes à un pod en utilisant le port TCP 3306 et ayant l'étiquette app=mysql.
Créer des ressources :
kubectl create -f mysql-service.yaml
Créer un volume persistant PV
Créer un volume persistant MySQL mysql-pv.yaml (Kubernetes détruira également le volume temporaire lorsque le Pod n'existe plus ; cependant, Kubernetes ne détruira pas le volume persistant . ):
apiVersion: v1 kind: PersistentVolume metadata: name: mysql-pv labels: type: local spec: storageClassName: manual capacity: storage: 20Gi accessModes: - ReadWriteOnce # 卷可以被一个节点以读写方式挂载 hostPath: path: "/mnt/data"
Créer des ressources :
kubectl create -f mysql-pv.yaml
Créer des revendications de volume persistant PVC
Les volumes persistants sont des ressources dans le cluster, et les revendications de volume persistants sont des demandes pour ces ressources et sont également utilisées pour effectuer des vérifications de réclamation sur les ressources. Ci-dessous, nous allons créer une déclaration de volume persistant mysql-pvc.yaml nommée mysql-pvc :
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pvc spec: storageClassName: manual accessModes: - ReadWriteOnce resources: requests: storage: 20Gi
Créer des ressources :
kubectl create -f mysql-pvc.yaml
Déployer MySQL
Créer un pod en utilisant l'image MySQL 5.7 sur le port 3306, mysql-deployment yaml. :
apiVersion: apps/v1 kind: Deployment metadata: name: mysql spec: selector: matchLabels: app: mysql strategy: type: Recreate template: metadata: labels: app: mysql spec: containers: - image: mysql:5.7 name: mysql env: - name: MYSQL_ROOT_PASSWORD # 生产环境中请使用 secret value: password ports: - containerPort: 3306 name: mysql volumeMounts: - name: mysql-data mountPath: /var/lib/mysql volumes: - name: mysql-data persistentVolumeClaim: claimName: mysql-pvc
Créer des ressources :
kubectl create -f mysql-deployment.yaml
Connectez-vous à MySQL
kubectl run -it --rm --image=mysql:5.6 --restart=Never mysql-client -- mysql -hmysql -ppassword
Apprentissage recommandé : "Tutoriel vidéo mysql"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!