av在线观看网站免费,欧美成人aaa片一区国产精品,精品国产乱码久久久久久免费,麻豆果冻传媒2021精品传媒一区,国产精品自在欧美一区

電子文檔交易市場
安卓APP | ios版本
電子文檔交易市場
安卓APP | ios版本

基于k8s的mysql主從配置方案

13頁
  • 賣家[上傳人]:不****魚
  • 文檔編號:355636989
  • 上傳時間:2023-06-28
  • 文檔格式:DOCX
  • 文檔大?。?24KB
  • 下載文檔到電腦,查找使用更方便

    25 金貝

    還剩頁未讀,繼續(xù)閱讀

    / 13 舉報 版權(quán)申訴 馬上下載
  • 文本預(yù)覽
  • 下載提示
  • 常見問題
    • 基于k8s的mysql主從配置方案#### 1、主從配置文件拉取鏡像*xtrabackup*:在work節(jié)點上創(chuàng)建文件 pull-.sh```#!/bin/bashimage=$1echo $1img=`echo $image | sed 's/k8s\.gcr\.io/anjia0532\/google-containers/g;s/gcr\.io/anjia0532/g;s/\//\./g;s/ /\n/g;s/_/-/g;s/anjia0532\./anjia0532\//g' | uniq | awk '{print ""$1""}'`echo "docker pull $img"docker pull $imgecho "docker tag $img $image"docker tag $img $image```chmod +x pull-.sh, 執(zhí)行 sh pull-.sh *gcr.io/google-samples/xtrabackup:1.0*配置nfs:```yum install nfs-utilsmkdir -p /net/mysql-0 /net/mysql-1 /net/mysql-2echo '/net/mysql-0 *(rw,no_root_squash)' >> /etc/exportsecho '/net/mysql-1 *(rw,no_root_squash)' >> /etc/exportsecho '/net/mysql-2 *(rw,no_root_squash)' >> /etc/exportssystemctl restart nfs-serversystemctl enable nfs```創(chuàng)建持久卷:```yamlmysql_pv-a.yaml :apiVersion: v1kind: PersistentVolumemetadata: name: pv-aspec: capacity: storage: 1Gi accessModes: - ReadWriteOnce - ReadOnlyMany #persistentVolumeReclaimPolicy: Retain # 當聲明被釋放,pv將保留(不清理和刪除) persistentVolumeReclaimPolicy: Recycle # 當聲明被釋放,空間將回收再利用 nfs: server: 192.168.74.114 path: /net/mysql-0 mysql_pv-b.yamlapiVersion: v1kind: PersistentVolumemetadata: name: pv-bspec: capacity: storage: 1Gi accessModes: - ReadWriteOnce - ReadOnlyMany #persistentVolumeReclaimPolicy: Retain # 當聲明被釋放,pv將保留(不清理和刪除) persistentVolumeReclaimPolicy: Recycle # 當聲明被釋放,空間將回收再利用 nfs: server: 192.168.74.114 path: /net/mysql-1mysql_pv-b.yamlapiVersion: v1kind: PersistentVolumemetadata: name: pv-cspec: capacity: storage: 1Gi accessModes: - ReadWriteOnce - ReadOnlyMany #persistentVolumeReclaimPolicy: Retain # 當聲明被釋放,pv將保留(不清理和刪除) persistentVolumeReclaimPolicy: Recycle # 當聲明被釋放,空間將回收再利用 nfs: server: 192.168.74.114 path: /net/mysql-2 這里的pv,當執(zhí)行了kubectl apply -f pv-c.yaml 后,pv下的所有內(nèi)容都會被刪除,請注意操作```配置configmap字典```yamlapiVersion: v1kind: ConfigMapmetadata: name: mysql labels: app: mysqldata: f: | # Apply this config only on the master. [mysqld] log-bin default-storage-engine=INNODB character_set_server=utf8mb4 collation_server=utf8mb4_general_ci lower_case_table_names=1 expire_logs_days = 15 innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 2 sql_mode='ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,PIPES_AS_CONCAT,ANSI_QUOTES' [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 f: | # Apply this config only on slaves. [mysqld] super-read-only default-storage-engine=INNODB character_set_server=utf8mb4 collation_server=utf8mb4_general_ci lower_case_table_names=1 expire_logs_days = 15 innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 2 sql_mode='ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,PIPES_AS_CONCAT,ANSI_QUOTES' [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4這個配置會掛載到pod的/etc/mysql/conf.d 中,配置完成后如果apply不能生效,那需要kubectl delete -f,再重新聲明。

      修改了配置文件需要重啟statelful kubectl delete -f mysql_statefulSet.yaml kubectl apply -f mysql_statefulSet.yaml```配置service:```yamlapiVersion: v1kind: Servicemetadata: name: mysql-headless labels: app: mysqlspec: ports: - name: mysql port: 3306 clusterIP: None selector: app: mysql```**配置數(shù)據(jù)庫密碼**```yamlapiVersion: v1kind: Secretmetadata: name: mysql-secrettype: Opaquedata: passsword: YWJjMTIz #echo -c "abc123" | base64```**部署SatefulSet**```yamlapiVersion: apps/v1kind: StatefulSetmetadata: name: mysql-ssspec: selector: matchLabels: app: mysql serviceName: mysql-headless replicas: 2 template: metadata: labels: app: mysql spec: initContainers: - name: init-mysql #這里初始化容器的作用是獲取statefulset啟動的這個pod的順序,判斷是否為主或備 image: mysql:5.7 command: - bash - "-c" - | set ex # 從hostname中獲取索引,比如(mysql-1)會獲取(1) [[ `hostname` =~ -([0-9]+)$ ]] || exit 1 ordinal=${BASH_REMATCH[1]} echo [mysqld] > /mnt/conf.d/server-f # 為了不讓server-id相同而增加偏移量 echo server-id=$((100 + $ordinal)) >> /mnt/conf.d/server-f #獲取的數(shù)據(jù)進行emptyDir共享卷,給后面的容器使用數(shù)據(jù)。

      一個pod里面的卷都是共享的 # 拷貝對應(yīng)的文件到/mnt/conf.d/文件夾中 if [[ $ordinal -eq 0 ]]; then cp /mnt/config-map/f /mnt/conf.d/ else cp /mnt/config-map/f /mnt/conf.d/ fi volumeM。

      點擊閱讀更多內(nèi)容
    關(guān)于金鋤頭網(wǎng) - 版權(quán)申訴 - 免責聲明 - 誠邀英才 - 聯(lián)系我們
    手機版 | 川公網(wǎng)安備 51140202000112號 | 經(jīng)營許可證(蜀ICP備13022795號)
    ?2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.