日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

helm安装mysql_helm安装配置

發布時間:2024/8/23 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 helm安装mysql_helm安装配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

helm是kubernetes的包管理工具,用于簡化部署和管理 Kubernetes 應用。用來管理charts——預先配置好的安裝包資源。

Helm和charts的主要作用:

應用程序封裝

版本管理

依賴檢查

便于應用程序分發

helm是一個C/S框架的軟件,helm相當于一個客戶端,tiller是一個服務端

Helm CLI 是 Helm 客戶端,可以在本地執行

Tiller 是服務器端組件,在 Kubernetes 群集上運行,并管理 Kubernetes 應用程序的生命周期

Repository 是 Chart 倉庫,Helm客戶端通過HTTP協議來訪問倉庫中Chart的索引文件和壓縮包

安裝

安裝之前需要先配置好kubeconfig,kubectl可以正常使用就表示kubeconfig已經配置正確,也可以通過環境變量KUBECONFIG指定helm使用的kubeconfig

安裝helm

# 如下地址下載helm二進制文件

# 解壓之后放在自己的PATH路徑下

# https://github.com/helm/helm/releases

mkdir -pv helm && cd helm

wget https://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gz

tar xf helm-v2.9.1-linux-amd64.tar.gz

sudo mv linux-amd64/helm /usr/local/bin

rm -rf linux-amd64

# 查看版本,不顯示出server版本,因為還沒有安裝server

helm version

復制代碼

簡單安裝tiller(本次實驗采用)

# 部署 tiller

helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1 \

--stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

# 查看

kubectl get pods -n kube-system -l app=helm

kubectl get svc -n kube-system -l app=helm

復制代碼

安全性更高的安裝tiller(tls)

helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1 \

--stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts \

--tiller-tls \

--tiller-tls-verify \

--tiller-tls-cert=cert.pem \

--tiller-tls-key=key.pem \

--tls-ca-cert=ca.pem \

--service-account=tiller

# 其他命令都需要使用 tls

# --tls

復制代碼

配置rbac

cat >helm-rbac-config.yaml<

apiVersion: v1

kind: ServiceAccount

metadata:

name: tiller

namespace: kube-system

---

apiVersion: rbac.authorization.k8s.io/v1beta1

kind: ClusterRoleBinding

metadata:

name: tiller

roleRef:

apiGroup: rbac.authorization.k8s.io

kind: ClusterRole

name: cluster-admin

subjects:

- kind: ServiceAccount

name: tiller

namespace: kube-system

EOF

kubectl create -f helm-rbac-config.yaml

# 配置tiller使用創建的ServiceAccount

kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

復制代碼

查看狀態

# 查看pod啟動情況

kubectl get pod -n kube-system -l app=helm

# 再次查看版本,顯示出server版本

helm version

復制代碼

簡單使用

查看可用charts

# 更新charts列表

helm repo update

# 搜索可用charts

helm search

helm search mysql

復制代碼

查看已經安裝的charts

helm list

# helm ls

復制代碼

安裝測試

以下兩種部署方式任選一種

使用命令行模式部署

# 使用命令行模式部署

helm install -n mariadb-test \

--set persistence.enabled=false,mariadbRootPassword=will,mariadbUser=will,mariadbPassword=will,mariadbDatabase=will \

stable/mariadb

復制代碼

使用配置文件定制部署

# 使用配置文件方式部署

# 查看可配置項

helm inspect values stable/mariadb

# 獲取所有可配置項(去行空行和注釋)

helm inspect values stable/mariadb | egrep -v '^\s*#|^$'

# 配置

cat >config.yml<

usePassword: true

mariadbRootPassword: will

mariadbUser: will

mariadbPassword: will

mariadbDatabase: will

persistence:

enabled: false

EOF

# 部署

helm install -n mariadb-test -f config.yml stable/mariadb

復制代碼

測試

# 查看狀態

helm ls

kubectl get pods

kubectl get svc

# 連接測試

kubectl run mariadb-cli --image=bitnami/mariadb:10.1.28-r1 -i --tty bash

mysql -hmariadb-test-mariadb -uwill -pwill will

show databases;

select version();

select user();

# 刪除 mariadb-cli

kubectl delete deploy mariadb-cli

# 刪除部署

helm delete mariadb-test --purge

復制代碼

自定義chart

創建chart

# 創建

helm create hello

# chart目錄結構介紹

hello

├── charts # 本chart依賴的chart

├── Chart.yaml # 描述chart的基本信息,如名稱版本等

├── templates # kubernetes manifest文件模板目錄

│?? ├── deployment.yaml

│?? ├── _helpers.tpl

│?? ├── ingress.yaml

│?? ├── NOTES.txt # 純文本文件,可在其中填寫chart的使用說明

│?? └── service.yaml

└── values.yaml # chart配置的默認值

# 對chart的模板和配置進行測試

helm install --dry-run --debug ./

復制代碼

測試安裝chart

# 安裝

helm install -n hello-test ./

# 查看

helm ls

kubectl get pods

kubectl get svc

# 端口轉發

export POD_NAME=$(kubectl get pods --namespace default -l "app=hello,release=hello-test" -o jsonpath="{.items[0].metadata.name}")

kubectl port-forward $POD_NAME 8080:80

# 訪問

curl http://127.0.0.1:8080

# 刪除

helm delete hello-test --purge

復制代碼

chart分發

# 打包為壓縮包

helm package ./

復制代碼

參考文檔

https://blog.frognew.com/2017/12/its-time-to-use-helm.html

https://jimmysong.io/posts/manage-kubernetes-native-app-with-helm/

https://yq.aliyun.com/articles/159601

https://docs.helm.sh/

總結

以上是生活随笔為你收集整理的helm安装mysql_helm安装配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。