


Comment utiliser statefulset pour créer un cluster MySQL dans Kubernetes
Étapes de mise en œuvre
Créez un objet StatefulSet dans le cluster Kubernetes.
Créez un service sans tête pour fournir la découverte de services et l'équilibrage de charge pour StatefulSet.
Définissez trois conteneurs MySQL dans StatefulSet et configurez-les en mode de réplication maître-esclave.
Utilisez Kubernetes ConfigMap et Secret pour stocker les informations de configuration et les informations d'authentification du conteneur.
Vérifiez si le cluster fonctionne correctement.
Code spécifique
Tout d'abord, créez un espace de noms nommé mysql
dans le cluster Kubernetes : #🎜 🎜#
kubectl create namespace mysql
mysql
的命名空间:apiVersion: v1 kind: ConfigMap metadata: name: mysql-config namespace: mysql data: my.cnf: | [mysqld] server-id=1 log-bin=mysql-bin binlog_format=row innodb_flush_log_at_trx_commit=1
然后,创建一个 ConfigMap 来存储 MySQL 容器的配置信息,例如 MySQL 配置文件 my.cnf
:
apiVersion: v1 kind: Secret metadata: name: mysql-secret namespace: mysql type: Opaque data: username: dXNlcm5hbWU= password: cGFzc3dvcmQ=
接下来,创建一个 Secret 来存储 MySQL 容器的认证信息,例如用户名和密码:
apiVersion: apps/v1 kind: StatefulSet metadata: name: mysql namespace: mysql spec: replicas: 3 serviceName: mysql-headless selector: matchLabels: app: mysql template: metadata: labels: app: mysql spec: containers: - name: mysql image: mysql:5.7 ports: - containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: mysql-secret key: password volumeMounts: - name: mysql-data mountPath: /var/lib/mysql - name: mysql-config mountPath: /etc/mysql/conf.d/my.cnf subPath: my.cnf volumes: - name: mysql-data persistentVolumeClaim: claimName: mysql-data - name: mysql-config configMap: name: mysql-config volumeClaimTemplates: - metadata: name: mysql-data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 10Gi
其中,username
和 password
分别是 base64 编码后的用户名和密码。
创建一个 StatefulSet 对象来定义MySQL
然后,创建一个 StatefulSet 对象来定义 MySQL 容器的配置和副本数:
apiVersion: v1 kind: Service metadata: name: mysql-headless namespace: mysql spec: ports: - name: mysql port: 3306 clusterIP: None selector: app: mysql
在上面的 YAML 文件中,我们定义了一个名为 mysql
Ensuite, créez un ConfigMap pour stocker les informations de configuration du conteneur MySQL, telles que le fichier de configuration MySQL my.cnf
:
kubectl exec -it mysql-0 --namespace=mysql -- /bin/bash mysql -u root -p create database testdb; use testdb; create table testtable (id int, name varchar(255)); insert into testtable values (1, 'test'); exit;
Ensuite, créez un secret Pour stocker les informations d'authentification du conteneur MySQL, telles que le nom d'utilisateur et le mot de passe :
rrreee Parmi eux, username
et password
sont les fichiers codés en base64 nom d'utilisateur et mot de passe respectivement.
Créez un objet StatefulSet pour définir MySQL
#🎜🎜#Ensuite, créez un objet StatefulSet pour définir la configuration et le nombre de réplicas du conteneur MySQL : #🎜🎜#rrreee#🎜🎜 #En haut Dans le fichier YAML, nous définissons un objet StatefulSet nommémysql
, qui contient trois conteneurs MySQL. Chaque conteneur dispose d'un volume persistant pour stocker les données MySQL et le fichier de configuration MySQL stocké par ConfigMap est monté. #🎜🎜##🎜🎜#Créer un service sans tête#🎜🎜##🎜🎜#Ensuite, nous devons créer un service sans tête. Ce service n'attribuera pas ClusterIP, mais créera plusieurs points de terminaison, chaque point de terminaison correspondant à un IP. L'adresse du Pod peut être utilisée pour accéder directement au Pod : #🎜🎜#rrreee#🎜🎜#Enfin, nous devons vérifier si la réplication maître-esclave MySQL fonctionne correctement. Utilisez l'outil de ligne de commande kubectl pour saisir le conteneur dans Kubernetes et exécuter les commandes correspondantes. Si vous souhaitez accéder au pod et vous connecter au nœud maître du conteneur MySQL pour créer la table, vous pouvez le faire en exécutant la commande suivante : #🎜🎜#rrreeeCe 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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MySQL convient aux débutants car il est simple à installer, puissant et facile à gérer les données. 1. Installation et configuration simples, adaptées à une variété de systèmes d'exploitation. 2. Prise en charge des opérations de base telles que la création de bases de données et de tables, d'insertion, d'interrogation, de mise à jour et de suppression de données. 3. Fournir des fonctions avancées telles que les opérations de jointure et les sous-questionnaires. 4. Les performances peuvent être améliorées par l'indexation, l'optimisation des requêtes et le partitionnement de la table. 5. Prise en charge des mesures de sauvegarde, de récupération et de sécurité pour garantir la sécurité et la cohérence des données.

Navicat lui-même ne stocke pas le mot de passe de la base de données et ne peut récupérer que le mot de passe chiffré. Solution: 1. Vérifiez le gestionnaire de mots de passe; 2. Vérifiez la fonction "Remember Motway" de Navicat; 3. Réinitialisez le mot de passe de la base de données; 4. Contactez l'administrateur de la base de données.

Créez une base de données à l'aide de NAVICAT Premium: Connectez-vous au serveur de base de données et entrez les paramètres de connexion. Cliquez avec le bouton droit sur le serveur et sélectionnez Créer une base de données. Entrez le nom de la nouvelle base de données et le jeu de caractères spécifié et la collation. Connectez-vous à la nouvelle base de données et créez le tableau dans le navigateur d'objet. Cliquez avec le bouton droit sur le tableau et sélectionnez Insérer des données pour insérer les données.

La copie d'une table dans MySQL nécessite la création de nouvelles tables, l'insertion de données, la définition de clés étrangères, la copie des index, les déclencheurs, les procédures stockées et les fonctions. Les étapes spécifiques incluent: la création d'une nouvelle table avec la même structure. Insérez les données de la table d'origine dans une nouvelle table. Définissez la même contrainte de clé étrangère (si le tableau d'origine en a un). Créer le même index. Créez le même déclencheur (si le tableau d'origine en a un). Créez la même procédure ou fonction stockée (si la table d'origine est utilisée).

Affichez la base de données MySQL avec la commande suivante: Connectez-vous au serveur: MySQL -U Username -P mot de passe Exécuter les bases de données Afficher les bases de données; Commande pour obtenir toutes les bases de données existantes Sélectionnez la base de données: utilisez le nom de la base de données; Tableau de vue: afficher des tables; Afficher la structure de la table: décrire le nom du tableau; Afficher les données: sélectionnez * dans le nom du tableau;

NAVICAT pour MARIADB ne peut pas afficher directement le mot de passe de la base de données car le mot de passe est stocké sous forme cryptée. Pour garantir la sécurité de la base de données, il existe trois façons de réinitialiser votre mot de passe: réinitialisez votre mot de passe via Navicat et définissez un mot de passe complexe. Affichez le fichier de configuration (non recommandé, haut risque). Utilisez des outils de ligne de commande système (non recommandés, vous devez être compétent dans les outils de ligne de commande).

Étapes pour effectuer SQL dans NAVICAT: Connectez-vous à la base de données. Créez une fenêtre d'éditeur SQL. Écrivez des requêtes ou des scripts SQL. Cliquez sur le bouton Exécuter pour exécuter une requête ou un script. Affichez les résultats (si la requête est exécutée).

Vous pouvez créer une nouvelle connexion MySQL dans NAVICAT en suivant les étapes: ouvrez l'application et sélectionnez une nouvelle connexion (CTRL N). Sélectionnez "MySQL" comme type de connexion. Entrez l'adresse Hostname / IP, le port, le nom d'utilisateur et le mot de passe. (Facultatif) Configurer les options avancées. Enregistrez la connexion et entrez le nom de la connexion.
