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-resolve2.創(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: Filesystem3.創(chuàng)建工作負載
應(yīng)用負載-工作負載
名稱:
mysql

添加容器使用的是本地私有鏡像(私有鏡像使用的是harbor,也可以使用其他鏡像配置比較簡單這里不詳細說)

使用默認鏡像端口并且同步主機時區(qū)

添加環(huán)境變量
設(shè)置數(shù)據(jù)庫密碼
MYSQL_ROOT_PASSWORD


首先掛載pvc做數(shù)據(jù)持久化
選擇我們一開始創(chuàng)建的pvc
模式:讀寫
路徑:/var/lib/mysql
注意:路徑要一致不能錯?。。?/p>

掛載配置文件
選擇本教程最開始創(chuàng)建的字典數(shù)值
模式:只讀
路徑:/etc/mysql/conf.d
注意:路徑要一致不能錯?。?!

下一步直接創(chuàng)建即可(如果創(chuà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: 6004.創(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值,當(dāng)時設(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ù)限制,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
mysql把查詢結(jié)果按逗號分割的實現(xiàn)示例
使用MySQL數(shù)據(jù)庫的GROUP_CONCAT函數(shù),可以將查詢結(jié)果按逗號或其他指定分隔符連接成字符串,這種方法適用于需要匯總數(shù)據(jù)并以字符串形式展示的場景,本文介紹了GROUP_CONCAT函數(shù)的基本用法和注意事項,感興趣的可以了解一下2024-09-09
MySQL性能優(yōu)化配置參數(shù)之thread_cache和table_cache詳解
這篇文章主要介紹了MySQL性能優(yōu)化配置參數(shù)之thread_cache和table_cache詳解,THREAD_CACHE是Mysql的連接池,table_cache指定表高速緩存的大小,需要的朋友可以參考下2014-07-07
mysql中insert?into...select語句優(yōu)化方式
這篇文章主要介紹了mysql中insert?into...select語句優(yōu)化方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教<BR>2024-04-04
mysql如何比對兩個數(shù)據(jù)庫表結(jié)構(gòu)的方法
這篇文章主要介紹了mysql如何比對兩個數(shù)據(jù)庫表結(jié)構(gòu)的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

