使用helm在k8s上部署mariadb

環境信息

# 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章