KubeSphere部署mysql的詳細(xì)步驟
演示示例使用的是3.4.1,各版本有名字差異 功能是一樣的 由于mysql需要做數(shù)據(jù)持久化所以需要掛載數(shù)據(jù)
1.創(chuàng)建mysql基礎(chǔ)配置
項(xiàng)目中-配置-配置字典
mysql-conf
添加鍵值對(duì)
[client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] init_connect='SET collation_connection = utf8mb4_unicode_ci' init_connect='SET NAMES utf8mb4' character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci skip-character-set-client-handshake skip-name-resolve
貼一下yaml配置
kind: ConfigMap apiVersion: v1 metadata: name: mysql-conf namespace: gitee annotations: kubesphere.io/creator: admin data: my.cnf: | [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] init_connect='SET collation_connection = utf8mb4_unicode_ci' init_connect='SET NAMES utf8mb4' character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci skip-character-set-client-handshake skip-name-resolve
2.創(chuàng)建pvc掛載
項(xiàng)目-存儲(chǔ)-持久卷聲明
mysql-pvc
方式就選擇默認(rèn)
訪問(wèn)模式:?jiǎn)喂?jié)點(diǎn)讀寫
大小:根據(jù)自己需要的數(shù)值增加,這里選擇的是1Gb
然后直接下一步創(chuàng)建即可
yaml配置
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: mysql-pvc namespace: gitee annotations: kubesphere.io/creator: admin finalizers: - kubernetes.io/pvc-protection spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: local volumeMode: Filesystem
3.創(chuàng)建工作負(fù)載
應(yīng)用負(fù)載-工作負(fù)載
名稱:
mysql
添加容器使用的是本地私有鏡像(私有鏡像使用的是harbor,也可以使用其他鏡像配置比較簡(jiǎn)單這里不詳細(xì)說(shuō))
使用默認(rèn)鏡像端口并且同步主機(jī)時(shí)區(qū)
添加環(huán)境變量
設(shè)置數(shù)據(jù)庫(kù)密碼
MYSQL_ROOT_PASSWORD
首先掛載pvc做數(shù)據(jù)持久化
選擇我們一開始創(chuàng)建的pvc
模式:讀寫
路徑:/var/lib/mysql
注意:路徑要一致不能錯(cuò)?。?!
掛載配置文件
選擇本教程最開始創(chuàng)建的字典數(shù)值
模式:只讀
路徑:/etc/mysql/conf.d
注意:路徑要一致不能錯(cuò)!?。?/p>
下一步直接創(chuàng)建即可(如果創(chuàng)建失敗請(qǐng)檢查鏡像是否能正常拉?。?/p>
yaml配置
kind: Deployment apiVersion: apps/v1 metadata: name: mysql namespace: gitee labels: app: mysql annotations: deployment.kubernetes.io/revision: '1' kubesphere.io/creator: admin spec: replicas: 1 selector: matchLabels: app: mysql template: metadata: creationTimestamp: null labels: app: mysql annotations: kubesphere.io/creator: admin kubesphere.io/imagepullsecrets: '{"container-hrnhuh":"harbor"}' logging.kubesphere.io/logsidecar-config: '{}' spec: volumes: - name: host-time hostPath: path: /etc/localtime type: '' - name: volume-ve0oq2 persistentVolumeClaim: claimName: mysql-pvc - name: volume-lg3r9w configMap: name: mysql-conf defaultMode: 420 containers: - name: container-hrnhuh image: '192.168.21.234:81/tools/mysql:8.0.3' ports: - name: tcp-3306 containerPort: 3306 protocol: TCP env: - name: MYSQL_ROOT_PASSWORD value: '123456' resources: limits: cpu: '1' memory: 1Gi requests: cpu: '1' memory: 1Gi volumeMounts: - name: host-time readOnly: true mountPath: /etc/localtime - name: volume-ve0oq2 mountPath: /var/lib/mysql - name: volume-lg3r9w readOnly: true mountPath: /etc/mysql/conf.d terminationMessagePath: /dev/termination-log terminationMessagePolicy: File imagePullPolicy: IfNotPresent restartPolicy: Always terminationGracePeriodSeconds: 30 dnsPolicy: ClusterFirst serviceAccountName: default serviceAccount: default securityContext: {} imagePullSecrets: - name: harbor schedulerName: default-scheduler strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 25% maxSurge: 25% revisionHistoryLimit: 10 progressDeadlineSeconds: 600
4.創(chuàng)建服務(wù)(創(chuàng)建服務(wù)后才能進(jìn)行外部訪問(wèn))
工作負(fù)載-服務(wù)-指定工作負(fù)載
訪問(wèn)模式:虛擬ip地址
工作負(fù)載:選擇剛剛創(chuàng)建的mysql
端口:名字自己填寫 容器端口3306 服務(wù)端口3306
勾選外部訪問(wèn)并且選擇NodePort模式
創(chuàng)建成功后這里的端口數(shù)據(jù)庫(kù)連接的時(shí)候會(huì)用到
5.測(cè)試mysql是否能正常訪問(wèn)
服務(wù)器地址:集群ip
端口:剛剛創(chuàng)建成功后的對(duì)外端口
數(shù)據(jù)庫(kù):sys
用戶名:root
密碼:創(chuàng)建工作負(fù)載時(shí)設(shè)置的MYSQL_ROOT_PASSWORD值,當(dāng)時(shí)設(shè)置的是123456 所以這里就用123456登錄(如果忘記就去工作負(fù)載里找)
設(shè)置應(yīng)用路由(ingress)然后用域名訪問(wèn)不知道為什么使用自定義域名:3306 連接不上數(shù)據(jù)庫(kù) 所以直接用了NodePort
參考項(xiàng)目:KubeSphere部署Mysql有狀態(tài)副本集
到此這篇關(guān)于KubeSphere部署mysql的文章就介紹到這了,更多相關(guān)KubeSphere部署mysql內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一文詳解如何在MySQL中創(chuàng)建函數(shù)
這篇文章主要為大家介紹了一文詳解如何在MySQL中創(chuàng)建函數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05mysql表分區(qū)的方式和實(shí)現(xiàn)代碼示例
通俗地講表分區(qū)是將一個(gè)大表,根據(jù)條件分割成若干個(gè)小表,下面這篇文章主要給大家介紹了關(guān)于mysql表分區(qū)的方式和實(shí)現(xiàn)代碼,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02淺談mysql 系統(tǒng)用戶最大文件打開數(shù)限制
這篇文章主要介紹了mysql 系統(tǒng)用戶最大文件打開數(shù)限制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03mysql把查詢結(jié)果按逗號(hào)分割的實(shí)現(xiàn)示例
使用MySQL數(shù)據(jù)庫(kù)的GROUP_CONCAT函數(shù),可以將查詢結(jié)果按逗號(hào)或其他指定分隔符連接成字符串,這種方法適用于需要匯總數(shù)據(jù)并以字符串形式展示的場(chǎng)景,本文介紹了GROUP_CONCAT函數(shù)的基本用法和注意事項(xiàng),感興趣的可以了解一下2024-09-09MySQL性能優(yōu)化配置參數(shù)之thread_cache和table_cache詳解
這篇文章主要介紹了MySQL性能優(yōu)化配置參數(shù)之thread_cache和table_cache詳解,THREAD_CACHE是Mysql的連接池,table_cache指定表高速緩存的大小,需要的朋友可以參考下2014-07-07mysql中insert?into...select語(yǔ)句優(yōu)化方式
這篇文章主要介紹了mysql中insert?into...select語(yǔ)句優(yōu)化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教<BR>2024-04-04mysql如何比對(duì)兩個(gè)數(shù)據(jù)庫(kù)表結(jié)構(gòu)的方法
這篇文章主要介紹了mysql如何比對(duì)兩個(gè)數(shù)據(jù)庫(kù)表結(jié)構(gòu)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09MySQL為例講解JDBC數(shù)據(jù)庫(kù)連接步驟
這篇文章主要為大家詳細(xì)介紹了MySQL為例講解JDBC數(shù)據(jù)庫(kù)連接步驟,感興趣的小伙伴們可以參考一下2016-08-08