国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

如何在Kubernetes上部署MySQL數(shù)據(jù)庫

數(shù)據(jù)庫 MySQL
Kubernetes改變了開發(fā)的方式,數(shù)據(jù)庫是應用程序的重要組成部分。在本文中,我們將展示如何在Kubernetes中部署數(shù)據(jù)庫,以及可以使用哪些方法在Kubernetes中部署數(shù)據(jù)庫。

 Kubernetes改變了開發(fā)的方式,數(shù)據(jù)庫是應用程序的重要組成部分。在本文中,我們將展示如何在Kubernetes中部署數(shù)據(jù)庫,以及可以使用哪些方法在Kubernetes中部署數(shù)據(jù)庫。

[[438525]]

01數(shù)據(jù)庫

數(shù)據(jù)庫是一種用于在計算機系統(tǒng)上存儲和處理數(shù)據(jù)的系統(tǒng)。數(shù)據(jù)庫引擎可以在數(shù)據(jù)庫上創(chuàng)建,讀取,更新和刪除。數(shù)據(jù)庫由數(shù)據(jù)庫管理系統(tǒng)(DBMS)控制。

在大多數(shù)數(shù)據(jù)庫中,數(shù)據(jù)按行和列進行建模,稱為關(guān)系型,這種類型的數(shù)據(jù)庫在80年代占主導地位。在2000年代,非關(guān)系數(shù)據(jù)庫開始流行,被稱為No-SQL,它們使用不同的查詢語言,并且這些類型的數(shù)據(jù)庫可用于鍵值對。

02StatefulSet

在本文中,我們將在Kubernetes中部署數(shù)據(jù)庫,因此我們必須了解什么是StatefulSet。

StatefulSet是用于管理有狀態(tài)應用程序的工作負載。它管理一組Pod的實現(xiàn)和擴展,并保證這些Pod的順序和唯一性。

像Deployment一樣,StatefulSet也管理具有相同容器規(guī)范的一組Pod。由StatefulSets維護的Pod具有唯一的,持久的身份和穩(wěn)定的主機名,而不用管它們位于哪個節(jié)點上。如果我們想要一個跨存儲的持久性,我們可以創(chuàng)建一個持久性卷并將StatefulSet用作解決方案的一部分。即使StatefulSet中的Pod容易發(fā)生故障,存儲卷與新Pod進行匹配也很容易。

StatefulSet對于需要以下一項或多項功能的應用程序很有價值:

  • 穩(wěn)定的唯一網(wǎng)絡(luò)標識符。
  • 穩(wěn)定,持久的存儲。
  • 有序,順暢的部署和擴展。
  • 有序的自動滾動更新。

在Kubernetes上部署數(shù)據(jù)庫時,我們需要使用StatefulSet,但是使用StatefulSet有一些局限性:

  • 需要使用持久性存儲卷為Pod提供存儲。
  • 刪除副本或按比例縮小副本將不會刪除附加到StatefulSet的存儲卷。存儲卷確保數(shù)據(jù)的安全性。
  • StatefulSet當前需要Headless Service 來負責Pod的網(wǎng)絡(luò)標識。
  • 與Deployment 不同,StatefulSet不保證刪除StatefulSet資源時刪除所有Pod,而Deployment在被刪除時會刪除與Deployment關(guān)聯(lián)的所有Pod。在刪除StatefulSet之前,你必須將pod副本數(shù)量縮小到0 。

03Kubernetes上的數(shù)據(jù)庫

我們可以將數(shù)據(jù)庫作為有狀態(tài)應用程序部署到Kubernetes。通常,當我們部署Pod時,它們具有自己的存儲空間,但是該存儲空間是短暫的-如果容器被殺死了,則其存儲空間將隨之消失。

因此,我們需要有一個Kubernetes資源對象來解決這種情況:當我們想要數(shù)據(jù)持久化時,我們就把Pod和持久化存儲卷聲明關(guān)聯(lián)。通過這種方式,如果我們的容器被殺死了,我們的數(shù)據(jù)仍將位于集群中,新的pod也能夠相應地訪問數(shù)據(jù)。

Pod -> PVC-> PV

  • PV =持久性存儲
  • PVC =持久性存儲聲明

04Operators將數(shù)據(jù)庫部署到Kubernetes

  • 我們可以使用由Oracle開發(fā)的Kubernetes Operators來部署MySQL數(shù)據(jù)庫:

https://github.com/oracle/mysql-operator

  • 使用Crunchydata開發(fā)的PostgreSQL Operators,、將PostgreSQL部署到Kubernetes:

https://github.com/CrunchyData/postgres

-operator

  • 使用MongoDB開發(fā)的Operators,可將MongoDB Enterprise部署到Kubernetes集群:

https://github.com/mongodb/mongodb

-enterprise-kubernetes

05在Kubernetes上部署數(shù)據(jù)庫是否可行?

在當今世界上,越來越多的公司致力于容器技術(shù)。在進行深入研究之前,讓我們回顧一下用于運行數(shù)據(jù)庫的選項。

1.完全托管的數(shù)據(jù)庫

完全托管的數(shù)據(jù)庫是那些不用自己來管理的數(shù)據(jù)庫-這種管理可以由AWS Google,Azure或Digital Cloud等云提供商完成。托管數(shù)據(jù)庫包括Amazon Web Services,Aurora DynamoDB或Google Spanner等。

使用這些完全托管的數(shù)據(jù)庫的優(yōu)勢是操作少,云提供商可以處理許多維護任務,例如備份,擴展補丁等。你只需創(chuàng)建數(shù)據(jù)庫即可構(gòu)建應用程序,其他的由云提供商幫你處理。

2.在VM或本地自行部署

使用此選項,你可以將數(shù)據(jù)庫部署到任何虛擬機(EC2或Compute Engine),并且將擁有完全控制權(quán)。你將能夠部署任何版本的數(shù)據(jù)庫,并且可以設(shè)置自己的安全性和備份計劃。

另一方面,這意味著你將自行管理,修補,擴展或配置數(shù)據(jù)庫。這將增加基礎(chǔ)架構(gòu)的成本,但具有靈活性的優(yōu)勢。

3.在Kubernetes上運行

在Kubernetes中部署數(shù)據(jù)庫更接近full-ops選項,但是從Kubernetes提供的自動化方面來看,你將獲得一些好處–能夠保持數(shù)據(jù)庫應用程序的正常運行。

要注意,pod是短暫的,因此數(shù)據(jù)庫應用程序重新啟動或失敗的可能性更大。另外,你將負責更具體的數(shù)據(jù)庫管理任務,例如備份,擴展等。

選擇在Kubernetes上部署數(shù)據(jù)庫時要考慮的一些重要點是:

 

  • 有一些自定義資源和 operators可用于在Kubernetes上管理數(shù)據(jù)庫。
  • 具有緩存層和瞬時態(tài)存儲的數(shù)據(jù)庫更適合Kubernetes。
  • 你必須了解數(shù)據(jù)庫中可用的復制模式。異步復制模式為數(shù)據(jù)丟失留有空間,因為事務可能會提交給主數(shù)據(jù)庫,而不會提交給從數(shù)據(jù)庫。

 

上面,我們用一個簡單的圖表來顯示在Kubernetes上部署數(shù)據(jù)庫時的決策。

首先,我們需要嘗試了解數(shù)據(jù)庫是否具有與Kubernetes友好的功能,例如MySQL或PostgreSQL,然后我們查找kubernetes operators將數(shù)據(jù)庫與其他功能打包在一起。

第二個問題是,考慮到在Kubernetes中部署數(shù)據(jù)庫需要多少工作量,這是可以接受的?我們是否有一個運維團隊,或者在托管數(shù)據(jù)庫上部署數(shù)據(jù)庫是否可行?

06在Kubernetes上部署有狀態(tài)應用程序

步驟1:部署MySQL服務

 

  1. apiVersion: v1 
  2. kind: Service 
  3. metadata: 
  4. name: mysql 
  5. spec: 
  6. ports: 
  7. - port: 3306 
  8. selector: 
  9. app: mysql 
  10. clusterIP: None 

 

首先,我們在端口3306上為MySQL數(shù)據(jù)庫部署服務,所有Pod均具有標簽鍵app: mysql。

接下來,創(chuàng)建以下資源:

 

  1. Kubectl create -f mysql_service.yaml 

步驟2:部署MySQL Deployment

 

  1. apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2 
  2. kind: Deployment 
  3. metadata: 
  4. name: mysql 
  5. spec: 
  6. selector: 
  7. matchLabels: 
  8. app: mysql 
  9. strategy: 
  10. type: Recreate 
  11. template: 
  12. metadata: 
  13. labels: 
  14. app: mysql 
  15. spec: 
  16. containers: 
  17. - image: mysql:5.6 
  18. name: mysql 
  19. env: 
  20.           # Use secret in real usage 
  21. name: MYSQL_ROOT_PASSWORD 
  22. value: password 
  23. ports: 
  24. - containerPort: 3306 
  25. name: mysql 
  26. volumeMounts: 
  27. name: mysql-persistent-storage 
  28. mountPath: /var/lib/mysql 
  29. volumes: 
  30. name: mysql-persistent-storage 
  31. persistentVolumeClaim: 
  32. claimName: mysql-pv-claim 

 

此Deployment在3306端口上創(chuàng)建帶有MySQL5.6鏡像和密碼(使用secret)的Pod。我們還將附加一個持久卷mysql-pv-claim,將在接下來的步驟中進行顯示。

創(chuàng)建資源:

 

  1. Kubectl create -f mysql_deployment.yaml 

第3步:創(chuàng)建持久卷

 

  1. apiVersion: v1 
  2. kind: PersistentVolume 
  3. metadata: 
  4. name: mysql-pv-volume 
  5. labels: 
  6. type: local 
  7. spec: 
  8. storageClassName: manual 
  9. capacity: 
  10. storage: 20Gi 
  11. accessModes: 
  12. - ReadWriteOnce 
  13. hostPath: 
  14. path: "/mnt/data" 

 

這將創(chuàng)建一個持久卷,我們將使用它來附加到容器,以確保Pod重啟時的數(shù)據(jù)安全。該持久卷具有ReadWriteOne訪問模式,擁有20GB的存儲空間,存放路徑是/ mnt/data,我們所有的數(shù)據(jù)都將保存在該路徑中。

創(chuàng)建以下資源:

 

  1. Kubectl create -f persistence_volume.yaml 

第4步:創(chuàng)建持久卷聲明

 

  1. apiVersion: v1 
  2. kind: PersistentVolumeClaim 
  3. metadata: 
  4. name: mysql-pv-claim 
  5. spec: 
  6. storageClassName: manual 
  7. accessModes: 
  8. - ReadWriteOnce 
  9. resources: 
  10. requests: 
  11. storage: 20Gi 

 

該聲明從上面創(chuàng)建的“持久卷”中聲明20GB,并具有與上面的“持久卷”相同的訪問模式。

創(chuàng)建以下資源:

 

  1. Kubectl create -f pvClaim.yaml 

步驟5:測試MySQL數(shù)據(jù)庫

 

  1. kubectl run -it --rm --image=mysql:5.6 --restart=Never mysql-client -- mysql -h mysql -ppassword 

此命令在運行MySQL的集群中創(chuàng)建一個新的Pod,并連接到MySQL服務器。如果連接成功,則說明你的MySQL數(shù)據(jù)庫已啟動并正在運行。

  1. Waiting for pod default/mysql-client-274442439-zyp6i to be running, status is Pending, pod ready: false 
  2. If you don't see a command prompt, try pressing enter. 
  3. mysql> 

07總結(jié)

  • 有狀態(tài)應用程序是存儲用戶會話狀態(tài)的應用程序,保存的數(shù)據(jù)稱為應用程序狀態(tài)。
  • StatefulSet是一個Kubernetes資源對象,用于管理有狀態(tài)應用程序,并提供有關(guān)Pod順序和唯一性的保證。
  • 通過刪除StatefulSet,不會刪除StatefulSet中的pod。相反如果刪除,你必須將有狀態(tài)應用程序副本數(shù)量縮小為0。
  • Kubernetes上的數(shù)據(jù)庫部署有一個持久存儲卷,只要你的集群正在運行,該存儲卷就可以永久存儲數(shù)據(jù)。這意味著它可以抵御pod的破壞,并且創(chuàng)建的任何新pod將能夠再次使用該存儲卷。
  • 完全托管的數(shù)據(jù)庫是由云提供商管理的數(shù)據(jù)庫。我們不必管理數(shù)據(jù)庫。這些數(shù)據(jù)庫需要額外的費用,但是如果你想專注于應用程序,它們是最佳選擇。
  • 你可以通過VM部署數(shù)據(jù)庫。但你將必須處理所有數(shù)據(jù)庫操作,例如擴展,設(shè)置和修補。
  • 最后,我們展示了如何在Kubernetes上部署數(shù)據(jù)庫。

 

 

責任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2024-07-22 15:49:07

KubernetesRedis

2019-08-19 14:06:27

MySQLDocker數(shù)據(jù)庫

2021-09-02 08:02:50

深度學習Kubernetes集群管理

2024-07-30 08:00:00

Kubernetes數(shù)據(jù)庫

2021-12-02 08:00:00

Kubernetes集群容器

2022-01-17 08:36:46

MySQLAmazon RDS 數(shù)據(jù)庫

2015-10-10 15:56:22

OpenShiftNodeJS部署PaaS

2015-10-23 17:29:24

AtomicOpenStack 應用部署

2019-12-11 14:27:39

數(shù)據(jù)庫集群Kubernetes

2025-03-28 08:14:18

2021-05-17 14:51:23

鏈碼區(qū)塊鏈網(wǎng)絡(luò)

2009-07-07 14:56:33

JSP連接MySQL

2009-06-01 09:57:43

netbeans連接數(shù)netbeans數(shù)據(jù)庫netbeans連接m

2009-01-19 09:14:31

.NETMySQLMySql驅(qū)動包

2011-03-03 10:00:14

ProFTPD建立MySQL

2021-07-20 08:00:00

集群Elasticsear工具

2015-01-06 09:41:25

AWS數(shù)據(jù)庫部署數(shù)據(jù)庫監(jiān)控

2023-08-16 08:41:55

2011-03-28 11:21:17

MySQL數(shù)據(jù)庫儲存圖片
點贊
收藏

51CTO技術(shù)棧公眾號

蜜桃一区二区三区在线观看| 女同一区二区三区| 国产一区二区三区福利| 成全电影播放在线观看国语| 亚洲麻豆精品| 国产成人一区二区三区小说| 678五月天丁香亚洲综合网| 亚洲第一成年免费网站| 麻豆91av| 理论片在线不卡免费观看| 精品国产鲁一鲁一区二区张丽| 美女一区二区三区| 色橹橹欧美在线观看视频高清 | 久久99精品国产99久久6尤物 | 国产福利一区二区三区在线观看| 亚洲美女性视频| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲国产中文字幕| 免费的成人av| 久草成人在线| 美女搞黄视频在线观看| y4480在线8影院| 黑人巨大国产9丨视频| 国产精品一区二区久久久久| 亚洲欧美综合v| 天天综合日日夜夜精品| 成人高清av在线| 国产综合精品一区| silk一区二区三区精品视频| 青青青草视频在线| 久久白虎精品| av高清在线免费观看| 草莓视频一区| 久久久亚洲网站| 亚洲第一精品福利| 亚洲aⅴ怡春院| 97久久人人超碰| 母乳一区在线观看| 国产精品久久一区二区三区| 免费的av在线| 毛片在线看片| 久久365资源| 国产一区久久久| 色999日韩国产欧美一区二区| 黄色精品一二区| 国产欧美激情| 欧美videofree性高清杂交| 成人精品电影在线观看| 在线观看的日韩av| 亚洲三级网址| 日韩黄色三级| 九色91在线| 一级视频在线观看| 久章草在线视频| 在线国产精品网| 国产在线一区二区三区欧美 | 欧美日韩第二页| 亚洲一区二区高清视频| av在线不卡一区| 国产91精品久久久久| 中文字幕精品久久久久| 欧美成人精品二区三区99精品| 亚洲精品国产无天堂网2021| 99精品视频播放| 日韩欧美三级| 欧美优质美女网站| 亚洲一区二区三区四区五区午夜| 天堂俺去俺来也www久久婷婷| 一区二区电影免费观看| 欧美性videos| 色网视频在线| 91大神在线资源观看无广告| 国产精品秘入口18禁麻豆免会员| 一区二区三区四区视频在线 | 欧美精品色综合| 精品久久久久久中文字幕大豆网| 日本熟妇人妻xxxx| 91成人在线| 国产欧美日韩在线| 久久久噜噜噜久久久| 写真福利片hd在线观看| 久久婷婷蜜乳一本欲蜜臀| 精品日韩美女的视频高清| 成人动漫视频在线观看完整版| 在线观看av网| 亚洲精品国产精品国自产| 福利视频一区二区三区| 国产精品网红福利| 日本一区二区三区四区视频| 久久久久久久亚洲精品| 久久99久久久久久久噜噜| 日日骚久久av| 中文字幕精品久久久久| 尤物精品国产第一福利三区| 亚洲人成电影网站色…| 国产偷国产偷亚洲清高网站| 亚洲精品二三区| 亚洲国产精品悠悠久久琪琪| www视频在线观看| 国产精品久久久久7777按摩| 久久久久久久久久久国产| 欧美成人精品一区二区男人看| 亚洲高清自拍| 久久人体视频| 不卡在线一区二区| 九一亚洲精品| 成人高清电影网站| 久久一区91| 亚洲自拍偷拍网| 欧美三级特黄| 色视频精品视频在线观看| 亚洲一区中文字幕| **亚洲第一综合导航网站| 亚洲一区亚洲二区亚洲三区| 黑人中文字幕一区二区三区| 国产一区福利视频| 色噜噜狠狠色综合网| 久久天天东北熟女毛茸茸| 国产偷国产偷亚洲高清人白洁| 91精品视频免费观看| 天堂av中文在线观看| 亚洲欧美自拍偷拍| 中国一区二区三区| 欧洲激情视频| 中文字幕亚洲欧美在线| 二人午夜免费观看在线视频| 国产精品黄色在线观看| aaa大片免费观看| 成人观看网站a| 午夜神马福利影院| 污视频网站在线观看| 91激情在线| 黄色aa久久| av日韩一区| 婷婷国产精品| 欧美精选一区| 日本午夜精品视频在线观看| 国产盗摄精品一区二区三区在线 | 亚洲精品第一页| 中文字幕欧美国内| 午夜精品久久久久久久白皮肤| 国产成人精品网站| 国产精品夜夜夜一区二区三区尤| 午夜精品一区二区在线观看| 又粗又黑又大的吊av| 日本我和搜子同居的日子高清在线| 欧美777四色影视在线| 草草影院在线| 中文一区二区三区四区| 亚洲人metart人体| 久久国产欧美日韩精品| 日本一区二区三区在线不卡| 欧美色道久久88综合亚洲精品| 欧美不卡一二三| 欧美大片免费观看| 99久久自偷自偷国产精品不卡| 伊甸园精品99久久久久久| 国产精品传媒在线| 天天操天天色综合| 亚洲国产日韩欧美综合久久| 欧美大片在线影院| 91久久爱成人| 久久香蕉视频网站| 超碰在线免费| 国产v日韩v欧美v| 亚洲综合中文字幕在线观看| 久久国产影院| 粉嫩精品一区二区三区在线观看| 欧美一区三区| 国产成人亚洲综合青青| 精品三级av在线导航| 午夜剧场成人观在线视频免费观看| 欧美一区二区三区婷婷| 色吧影院999| 国产亚洲第一伦理第一区| 伊人影院在线视频| 免费一级欧美在线大片| 97精品一区| 国产福利一区二区三区| 亚洲国产精品一区二区久久恐怖片| 亚洲第一页自拍| 国产成人精品优优av| 亚洲福利av在线| 日本欧美亚洲| 网友自拍亚洲| 亚洲精品小说| 久久免费电影网| 欧美一区二区三区小说| 91豆花精品一区| 三级网在线观看| 午夜影院在线免费观看| 欧美高清xxx| 免费在线观看成人av| 亚洲精品乱码久久久久久黑人 | 自拍偷拍一区二区三区| 宅男深夜国产| 91伊人久久| 午夜亚洲视频| 亚洲成av人片一区二区梦乃| 色噜噜亚洲精品中文字幕|