KubeSphere部署mysql的詳細步驟
演示示例使用的是3.4.1,各版本有名字差異 功能是一樣的 由于mysql需要做數(shù)據(jù)持久化所以需要掛載數(shù)據(jù)
1.創(chuàng)建mysql基礎(chǔ)配置
項目中-配置-配置字典
mysql-conf
添加鍵值對
[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掛載
項目-存儲-持久卷聲明
mysql-pvc
方式就選擇默認
訪問模式:單節(jié)點讀寫
大?。焊鶕?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)建工作負載
應(yīng)用負載-工作負載
名稱:
mysql
添加容器使用的是本地私有鏡像(私有鏡像使用的是harbor,也可以使用其他鏡像配置比較簡單這里不詳細說)
使用默認鏡像端口并且同步主機時區(qū)
添加環(huán)境變量
設(shè)置數(shù)據(jù)庫密碼
MYSQL_ROOT_PASSWORD
首先掛載pvc做數(shù)據(jù)持久化
選擇我們一開始創(chuàng)建的pvc
模式:讀寫
路徑:/var/lib/mysql
注意:路徑要一致不能錯!??!
掛載配置文件
選擇本教程最開始創(chuàng)建的字典數(shù)值
模式:只讀
路徑:/etc/mysql/conf.d
注意:路徑要一致不能錯!??!
下一步直接創(chuàng)建即可(如果創(chuàng)建失敗請檢查鏡像是否能正常拉取)
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ù)后才能進行外部訪問)
工作負載-服務(wù)-指定工作負載
訪問模式:虛擬ip地址
工作負載:選擇剛剛創(chuàng)建的mysql
端口:名字自己填寫 容器端口3306 服務(wù)端口3306
勾選外部訪問并且選擇NodePort模式
創(chuàng)建成功后這里的端口數(shù)據(jù)庫連接的時候會用到
5.測試mysql是否能正常訪問
服務(wù)器地址:集群ip
端口:剛剛創(chuàng)建成功后的對外端口
數(shù)據(jù)庫:sys
用戶名:root
密碼:創(chuàng)建工作負載時設(shè)置的MYSQL_ROOT_PASSWORD值,當時設(shè)置的是123456 所以這里就用123456登錄(如果忘記就去工作負載里找)
設(shè)置應(yīng)用路由(ingress)然后用域名訪問不知道為什么使用自定義域名:3306 連接不上數(shù)據(jù)庫 所以直接用了NodePort
參考項目:KubeSphere部署Mysql有狀態(tài)副本集
到此這篇關(guān)于KubeSphere部署mysql的文章就介紹到這了,更多相關(guān)KubeSphere部署mysql內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一文詳解如何在MySQL中創(chuàng)建函數(shù)
這篇文章主要為大家介紹了一文詳解如何在MySQL中創(chuàng)建函數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05淺談mysql 系統(tǒng)用戶最大文件打開數(shù)限制
這篇文章主要介紹了mysql 系統(tǒng)用戶最大文件打開數(shù)限制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-03-03mysql把查詢結(jié)果按逗號分割的實現(xiàn)示例
使用MySQL數(shù)據(jù)庫的GROUP_CONCAT函數(shù),可以將查詢結(jié)果按逗號或其他指定分隔符連接成字符串,這種方法適用于需要匯總數(shù)據(jù)并以字符串形式展示的場景,本文介紹了GROUP_CONCAT函數(shù)的基本用法和注意事項,感興趣的可以了解一下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ōu)化方式
這篇文章主要介紹了mysql中insert?into...select語句優(yōu)化方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教<BR>2024-04-04mysql如何比對兩個數(shù)據(jù)庫表結(jié)構(gòu)的方法
這篇文章主要介紹了mysql如何比對兩個數(shù)據(jù)庫表結(jié)構(gòu)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09