成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

提升數據安全與性能,掌握Helm一鍵部署MySQL 8.0主從技巧

數據庫 MySQL
本教程將介紹如何使用Helm一鍵部署MySQL 8.0的主從復制架構,以實現數據庫的高可用和數據備份。

在云原生應用開發中,數據庫的高可用性和數據一致性是至關重要的。MySQL作為一種常用的關系型數據庫,在云原生環境中的部署和管理也變得愈發重要。本教程將介紹如何使用Helm一鍵部署MySQL 8.0的主從復制架構,以實現數據庫的高可用和數據備份。

架構圖

準備工作

在先前的文中,我們詳細介紹了如何利用Helm管理Kubernetes(K8S)集群,相信這已經使大家對Helm的基本使用有了初步的了解。在開始之前,確保你已經安裝了以下工具:

  • Kubernetes集群
  • Helm包管理器

安裝Helm Chart

首先,添加MySQL的Helm倉庫,執行如下命令:

helm repo add bitnami https://charts.bitnami.com/bitnami

然后,執行下面的命令更新本地倉庫索引:

helm repo update

搜索MySQL的版本

通過下面的命令,在倉庫搜索MySQL的版本。

controlplane $ helm search repo mysql
NAME                    CHART VERSION   APP VERSION     DESCRIPTION                                       
bitnami/mysql           10.1.1          8.0.36          MySQL is a fast, reliable, scalable, and easy t...
bitnami/phpmyadmin      16.0.1          5.2.1           phpMyAdmin is a free software tool written in P...
bitnami/mariadb         18.0.1          11.3.2          MariaDB is an open source, community-developed ...
bitnami/mariadb-galera  13.0.0          11.3.2          MariaDB Galera is a multi-primary database clus...

配置主從復制

MySQL Helm Chart提供了簡單的配置選項來設置主從復制。你可以通過以下方式配置:

helm install mysql-cluster  \
        --set auth.rootPassword='mysql' \
        --set global.storageClass=local-path \
        --set architecture=replication \
        --set auth.password='mysql' \
        --set secondary.replicaCount=1 \
        --set auth.replicationPassword='replpass' \
        -n mysql --create-namespace \
        bitnami/mysql

執行上述命令后,會返回一下結果,如下圖:

等待幾分鐘之后,執行如下命令即可查看部署的情況:

controlplane $ k get pod -n mysql -o wide
NAME                        READY   STATUS    RESTARTS   AGE     IP            NODE           NOMINATED NODE   READINESS GATES
mysql-cluster-primary-0     1/1     Running   0          5m45s   192.168.1.7   node01         <none>           <none>
mysql-cluster-secondary-0   1/1     Running   0          5m45s   192.168.0.5   controlplane   <none>           <none>

驗證主從同步

(1) 執行如下命令,安裝客戶端軟件。

apt install mysql-client -y

(2) 執行下面的命令,驗證主節點

# 登錄主容器
mysql -uroot -h192.168.1.7 -pmysql

# 查看主從狀態
# 查看File和Position的值,在從庫配置中會顯示。
mysql> show master status\G
*************************** 1. row ***************************
             File: mysql-bin.000003
         Position: 157
     Binlog_Do_DB: 
 Binlog_Ignore_DB: 
Executed_Gtid_Set: 
1 row in set (0.00 sec)

(3) 執行下面的命令,驗證從節點

# 登錄從容器
mysql -uroot -h192.168.0.5 -pmysql
# 查看Slave_IO_Running和Slave_SQL_Running的值是否為Yes.
mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for source to send event
                  Master_Host: mysql-cluster-primary
                  Master_User: replicator
                  Master_Port: 3306
                Connect_Retry: 10
              Master_Log_File: mysql-bin.000003
          Read_Master_Log_Pos: 157
               Relay_Log_File: mysql-relay-bin.000006
                Relay_Log_Pos: 373
        Relay_Master_Log_File: mysql-bin.000003
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

遇到的問題總結

(1) 執行完部署命令后,提示"resources" sections in the chart not set,如下:

WARNING: There are "resources" sections in the chart not set. Using "resourcesPreset" is not recommended for production. For production installations, please set the following values according to your workload needs:
  - primary.resources
  - secondary.resources

通過上述提示信息是由于resources的資源沒有設置。

下載MySQL包到本地

通過下面的命令把MySQL包下載到本地。

controlplane $ helm pull bitnami/mysql --version=10.1.1
controlplane $ ls
filesystem  get_helm.sh  mysql-10.1.1.tgz  snap
controlplane $

執行下面的命令解壓下載好的MySQL包:

controlplane $ tar zxvf mysql-10.1.1.tgz 
mysql/Chart.yaml
mysql/Chart.lock
mysql/values.yaml
...省略...

修改mysql/values.yaml中的resources,如下:

resources:
    requests:
      cpu:2
      memory:1024Mi
    limits:
      cpu:2
      memory:1024Mi

修改完之后保存退出,執行如下命令重新部署。

helm install mysql-cluster  \
        --set auth.rootPassword='mysql' \
        --set global.storageClass=local-path \
        --set architecture=replication \
        --set auth.password='mysql' \
        --set secondary.replicaCount=1 \
        --set auth.replicationPassword='replpass' \
        --set useBundledSystemChart=true \
        -f /root/mysql/values.yaml \
        -n mysql --create-namespace \
        bitnami/mysql

執行完上述的命令后,剛才那個警告就消失了。如下圖:

寫到最后

通過本教程,你學習了如何使用Helm一鍵部署MySQL 8.0的主從復制架構。這為你提供了一個簡單而強大的方法來部署可擴展的、高可用的MySQL數據庫集群,并確保了數據的備份和一致性。繼續探索更多Helm Chart的配置選項,以滿足你的特定需求,并構建穩健的云原生應用。

責任編輯:趙寧寧 來源: 攻城獅成長日記
相關推薦

2024-04-12 08:28:38

優化查詢語句PostgreSQL索引

2012-04-13 15:12:07

2019-08-28 12:02:04

Helm云原生一鍵部署

2018-03-14 14:57:56

一鍵卡復印技巧

2023-06-15 10:00:00

Jenkins任務操作

2010-11-08 13:58:14

Check Point互聯網安全移動訪問軟件刀片

2024-06-25 15:31:21

2025-02-10 10:38:24

2024-05-23 10:58:49

2023-10-10 13:49:00

Docker容器

2024-08-13 08:22:04

緩存機制C#內存緩存工具

2012-07-16 10:09:39

Windows 7操作系統

2024-04-08 13:59:03

大模型Replicate

2018-08-02 11:05:00

安全狗

2015-02-09 15:25:52

換膚

2015-03-09 11:10:14

運維

2010-06-22 15:46:52

數據安全丟失防護

2024-06-04 07:46:05

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区二区三区在线观看免费 | 精品一区二区三区在线观看国产 | 国外成人在线视频网站 | 欧美精品成人一区二区三区四区 | 成人免费视频网 | 亚洲视频一区二区三区 | 国产日韩欧美在线 | 午夜精品一区二区三区在线观看 | 中文字幕视频在线观看 | 2019精品手机国产品在线 | 日韩一级 | 久久五月婷 | 欧美精品在线播放 | 免费a国产 | 91资源在线观看 | 中文字幕精品一区二区三区在线 | 一区二区欧美在线 | 免费观看a级毛片在线播放 黄网站免费入口 | 青青草免费在线视频 | 久久99精品久久久久久 | 欧美日韩精品亚洲 | 久久久tv| 天天狠狠| 懂色av一区二区三区在线播放 | 亚洲69p | 国产免费国产 | 欧美日韩综合视频 | 欧美日韩一区二区在线 | 日韩av在线一区二区三区 | 国产精品99久久久久久动医院 | 欧美激情精品久久久久久 | 国产精品成人在线观看 | 国产资源在线播放 | 国产色片在线 | 亚洲欧洲在线视频 | 日韩av在线中文字幕 | 亚洲精品一区二区三区蜜桃久 | 国精产品一区二区三区 | 免费欧美 | 国产一区二区在线视频 | 自拍偷拍中文字幕 |