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

Qu'est-ce que Kubernetes ? Comment déployer une base de données MySQL basée sur celle-ci

藏色散人
Libérer: 2021-11-03 16:30:55
avant
1952 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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"
Copier après la connexion

Créer des ressources :

kubectl create -f mysql-pv.yaml
Copier après la connexion

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
Copier après la connexion

Créer des ressources :

kubectl create -f mysql-pvc.yaml
Copier après la connexion

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
Copier après la connexion

Créer des ressources :

kubectl create -f mysql-deployment.yaml
Copier après la connexion

Connectez-vous à MySQL

kubectl run -it --rm --image=mysql:5.6 --restart=Never mysql-client -- mysql -hmysql -ppassword
Copier après la connexion

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!

Étiquettes associées:
source:juejin.im
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal