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
注意:路徑要一致不能錯?。?!

掛載配置文件
選擇本教程最開始創(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)文章
centos 6.5下 mysql-community-server. 5.7.18-1.el6安裝
這篇文章主要介紹了centos 6.5下 mysql-community-server. 5.7.18-1.el6安裝,需要的朋友可以參考下2017-04-04
Windows下mysql community server 8.0.16安裝配置方法圖文教程
這篇文章主要為大家詳細介紹了Windows下mysql community server 8.0.16安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-06-06
教你如何在?MySQL?數(shù)據(jù)庫中支持完整的Unicode
UTF-8?是一種可變寬度編碼,它使用一到四個?8?位字節(jié)對每個符號進行編碼,永遠不要在MySQL中使用?utf8——總是使用?utf8mb4,對mysql支持?Unicode相關(guān)知識感興趣的朋友一起看看吧2023-01-01
mysql 大表批量刪除大量數(shù)據(jù)的實現(xiàn)方法
這篇文章主要介紹了mysql 大表批量刪除大量數(shù)據(jù)的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
解決Mysql:ERROR?1045?(28000):Access?denied?for?user?‘roo
最近在我們連接數(shù)據(jù)庫的時候遇到個問題,感覺還挺容易遇到的,所以總結(jié)下,這篇文章主要給大家介紹了關(guān)于解決Mysql:ERROR?1045?(28000):Access?denied?for?user?‘root‘@‘localhost‘?(using?password:?NO)的方法,需要的朋友可以參考下2022-06-06

