環境信息
# docker 版本
Client:
Version: 18.09.2
API version: 1.39
Go version: go1.10.6
Git commit: 6247962
Built: Sun Feb 10 04:13:27 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.2
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 6247962
Built: Sun Feb 10 03:47:25 2019
OS/Arch: linux/amd64
Experimental: false
# minikube版本
minikube version
minikube version: v1.2.0
# k8s版本
kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:32:14Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
helm v3安裝
下載並解壓helm安裝所需要的壓縮包
wget https://get.helm.sh/helm-v3.0.0-beta.4-linux-amd64.tar.gz
tar -zxvf helm-v3.0.0-beta.4-linux-amd64.tar.gz
移動helm可執行文件
mv linux-amd64/helm /usr/local/bin
驗證
helm version
version.BuildInfo{Version:"v3.0.0-beta.4", GitCommit:"7ffc879f137bd3a69eea53349b01f05e3d1d2385", GitTreeState:"dirty", GoVersion:"go1.13.1"}
由於helm v3默認不存在任何repo,需要手動添加包含mariadb chart的repo
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
這樣一個可用的helm就安裝設置好了
準備
創建pv
由於stable/mariadb的安裝需要pv的支持,因此這裏使用minikube基於本地存儲的默認storageclass standard創建pv。
# pv定義文件minikube-pv.yml內容示例
apiVersion: v1
kind: PersistentVolume
metadata:
name: minikube-pv
spec:
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
storageClassName: standard
capacity:
storage: 20Gi
hostPath:
path: /data/minikube-pv
# 創建pv
kubectl apply -f minikube-pv.yml
# 添加寫權限
chmod 777 /data/minikube-pv
數據庫配置
這裏根據我的需求,需要配置數據庫管理員密碼和將mariadb的訪問方式改爲NodePort,另外由於是單節點,禁用mysql-slave.
#覆蓋配置文件如下
rootUser:
password: abc123
service:
type: NodePort
nodePort:
master: 30001
slave:
replicas: 0
# 在k8s上安裝mariadb
helm install -f mariadb.yml mariadb stable/mariadb